ZIm/crates
Ben Kunkle 7432e947bc
Add element_selection_background highlight to theme (#32388)
Closes #32354

The issue is that we render selections over the text in the agent panel,
but under the text in editor, so themes that have no alpha for the
selection background color (defaults to 0xff) will just occlude the
selected region. Making the selection render under the text in markdown
would be a significant (and complicated) refactor, as selections can
cross element boundaries (i.e. spanning code block and a header after
the code block).

The solution is to add a new highlight to themes
`element_selection_background` that defaults to the local players
selection background with an alpha of 0.25 (roughly equal to 0x3D which
is the alpha we use for selection backgrounds in default themes) if the
alpha of the local players selection is 1.0. The idea here is to give
theme authors more control over how the selections look outside of
editor, as in the agent panel specifically, the background color is
different, so while an alpha of 0.25 looks acceptable, a different color
would likely be better.

CC: @iamnbutler. Would appreciate your thoughts on this. 

> Note: Before and after using Everforest theme

| Before | After | 
|-------| -----|
| <img width="618" alt="Screenshot 2025-06-09 at 5 23 10 PM"
src="https://github.com/user-attachments/assets/41c7aa02-5b3f-45c6-981c-646ab9e2a1f3"
/> | <img width="618" alt="Screenshot 2025-06-09 at 5 25 03 PM"
src="https://github.com/user-attachments/assets/dfb13ffc-1559-4f01-98f1-a7aea68079b7"
/> |

Clearly, the selection in the after doesn't look _that_ great, but it is
better than the before, and this PR makes the color of the selection
configurable by the theme so that this theme author could make it a
lighter color for better contrast.




Release Notes:

- agent panel: Fixed an issue with some themes where selections inside
the agent panel would occlude the selected text completely

Co-authored-by: Antonio <me@as-cii.com>
2025-06-27 15:46:04 +00:00
..
activity_indicator Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
agent Cleanup remaining references to max mode (#33509) 2025-06-27 08:32:13 +00:00
agent_settings settings: Remove version fields (#33372) 2025-06-25 19:05:29 +02:00
agent_ui Add element_selection_background highlight to theme (#32388) 2025-06-27 15:46:04 +00:00
anthropic Thread Anthropic errors into LanguageModelKnownError (#33261) 2025-06-23 18:48:26 +00:00
askpass supermaven_api: Ensure downloaded Supermaven binary has executable permissions set (#32576) 2025-06-17 14:39:45 +00:00
assets Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
assistant_context Cleanup remaining references to max mode (#33509) 2025-06-27 08:32:13 +00:00
assistant_slash_command chore: Make terminal_view own the TerminalSlashCommand (#31070) 2025-05-21 09:27:54 +00:00
assistant_slash_commands chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
assistant_tool agent: Less disruptive changed file notification (#31693) 2025-06-16 18:45:24 +03:00
assistant_tools Add element_selection_background highlight to theme (#32388) 2025-06-27 15:46:04 +00:00
audio agent: Add sound notification when done generating (#31472) 2025-05-26 21:20:41 -03:00
auto_update Silence failed auto update checks (#32696) 2025-06-13 13:11:02 -04:00
auto_update_helper Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
auto_update_ui Add SVG preview (#32694) 2025-06-27 09:08:05 +00:00
aws_http_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
bedrock bedrock: Add prompt caching support (#33194) 2025-06-25 17:15:13 +03:00
breadcrumbs breadcrumbs: Stylize filename in breadcrumbs when tab-bar is off and file is dirty (#30507) 2025-05-30 08:32:54 -07:00
buffer_diff chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
call Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
channel Fetch and wait for channels when opening channel notes via URL (#33291) 2025-06-24 05:14:15 +00:00
cli Improve FreeBSD support (#33162) 2025-06-22 16:23:17 -04:00
client Improve FreeBSD support (#33162) 2025-06-22 16:23:17 -04:00
clock Add the ability to follow the agent as it makes edits (#29839) 2025-05-04 08:28:39 +00:00
collab collab: Lookup avatars by GitHub ID instead of username (#33523) 2025-06-27 09:40:50 -04:00
collab_ui Fix being unable to input a whitespace character in collab channels filter (#33318) 2025-06-24 16:11:25 +00:00
collections Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
command_palette_hooks Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
component Fix typo (#32160) 2025-06-05 12:59:22 +00:00
context_server Redact command environment variables from log output (#32985) 2025-06-21 11:19:23 -04:00
copilot copilot: Remove PromptTokensDetails from Usage struct (#33029) 2025-06-19 17:37:58 +03:00
credentials_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
dap debugger: Generate inline values based on debugger.scm file (#33081) 2025-06-24 18:24:43 +00:00
dap_adapters debugger: Fix treatment of node-terminal scenarios (#33432) 2025-06-26 14:02:09 -04:00
db Misc nitpicks, changes too small / unrelated to be in other PRs (#32768) 2025-06-15 19:51:04 +00:00
debug_adapter_extension debugger: Support passing custom arguments to debug adapters (#33251) 2025-06-23 17:06:48 +00:00
debugger_tools debugger: Improve logging of debug sessions (#32718) 2025-06-13 20:56:23 +00:00
debugger_ui debugger_ui: Fix variable completion accept in console appends the whole word (#33378) 2025-06-25 19:54:08 +05:30
deepseek language_models: Emit UsageUpdate events for token usage in DeepSeek and OpenAI (#33242) 2025-06-25 09:42:30 +02:00
diagnostics Show inline previews for LSP document colors (#32816) 2025-06-17 13:46:21 +00:00
docs_preprocessor gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
editor Add element_selection_background highlight to theme (#32388) 2025-06-27 15:46:04 +00:00
eval Automatically retry when API is Overloaded or 500s (#33275) 2025-06-26 10:53:33 -04:00
extension Redact command environment variables from log output (#32985) 2025-06-21 11:19:23 -04:00
extension_api zed_extension_api: Release v0.6.0 (#32945) 2025-06-18 14:05:29 +00:00
extension_cli extensions: Add "Debug Adapters" category to the extension store (#32845) 2025-06-17 12:09:08 +02:00
extension_host Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
extensions_ui Suggest reST extension for .rst files (#33413) 2025-06-26 08:59:04 -04:00
feature_flags debugger: Remove feature flag (#32877) 2025-06-17 13:56:19 -06:00
feedback Improve FreeBSD support (#33162) 2025-06-22 16:23:17 -04:00
file_finder file_finder: Fix create wrong file in multiple worktree (#33139) 2025-06-25 19:17:41 +03:00
file_icons Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fs chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
fsevent Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fuzzy editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
git Fix crash in git checkout (#33499) 2025-06-27 09:16:15 -06:00
git_hosting_providers Allow configuring custom git hosting providers in project settings (#31929) 2025-06-03 12:23:01 -04:00
git_ui Remove git_panel::GenerateCommitMessage in favor of git::GenerateCommitMessage (#33421) 2025-06-25 22:29:30 +00:00
go_to_line go_to_line: Show position relative to current excerpt in a multi-buffer (#31947) 2025-06-03 09:41:45 +02:00
google_ai Update Gemini Models (#32902) 2025-06-17 20:26:27 +00:00
gpui chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
gpui_macros gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
gpui_tokio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
html_to_markdown Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
http_client Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
http_client_tls Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
icons Add design improvements to the LSP popover (#33485) 2025-06-26 22:27:21 +00:00
image_viewer Option to auto-close deleted files with no unsaved edits (#31920) 2025-06-03 13:18:29 +02:00
indexed_docs editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
inline_completion agent: Fix issues with usage display sometimes showing initially fetched usage (#33125) 2025-06-20 21:28:48 +00:00
inline_completion_button inline_completion_button: Fix links to account page (#31558) 2025-05-27 21:52:42 +00:00
inspector_ui Fix anchor biases for completion replacement ranges (esp slash commands) (#32262) 2025-06-06 20:54:00 +00:00
install_cli Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
jj Add a picker for jj bookmark list (#30883) 2025-05-17 16:42:45 +00:00
jj_ui editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
journal VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
language language: Add context-aware decrease indent for Python (#33370) 2025-06-26 11:11:03 +05:30
language_extension Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
language_model Cleanup remaining references to max mode (#33509) 2025-06-27 08:32:13 +00:00
language_models language_models: Use JsonSchemaSubset for Gemini models in OpenRouter (#33477) 2025-06-27 16:36:16 +02:00
language_selector editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
language_tools Rework LSP tool keyboard story (#33525) 2025-06-27 16:25:56 +03:00
languages language: Add context-aware decrease indent for Python (#33370) 2025-06-26 11:11:03 +05:30
livekit_api Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
livekit_client Bump livekit-rust-sdks for candidate webrtc-sys build fix (#33387) 2025-06-25 21:00:33 -04:00
lmstudio Standardize on u64 for token counts (#32869) 2025-06-17 10:43:07 -04:00
lsp Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
markdown Add element_selection_background highlight to theme (#32388) 2025-06-27 15:46:04 +00:00
markdown_preview Add SVG preview (#32694) 2025-06-27 09:08:05 +00:00
media Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
menu agent: Add new panel navigation dropdown (#29539) 2025-04-29 21:58:45 -03:00
migrator settings: Remove version fields (#33372) 2025-06-25 19:05:29 +02:00
mistral Standardize on u64 for token counts (#32869) 2025-06-17 10:43:07 -04:00
multi_buffer chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
node_runtime Replace async-watch with a custom watch (#32245) 2025-06-06 16:00:09 +00:00
notifications notification: Add built-in dismiss button in the Status Toast component (#33278) 2025-06-23 19:55:21 -03:00
ollama Standardize on u64 for token counts (#32869) 2025-06-17 10:43:07 -04:00
open_ai language_models: Emit UsageUpdate events for token usage in DeepSeek and OpenAI (#33242) 2025-06-25 09:42:30 +02:00
open_router language_models: Add thinking support to OpenRouter provider (#32541) 2025-06-21 08:03:50 +02:00
outline Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
outline_panel Omit outlines from the outline panel, not related to the buffer's main language (#32987) 2025-06-18 22:36:00 +00:00
panel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
paths Improve logic for finding VSCode / Cursor settings files (#32721) 2025-06-14 21:39:54 -06:00
picker Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
prettier Improve logging of prettier errors (#32665) 2025-06-13 07:26:06 +00:00
project chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
project_panel gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
project_symbols editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
prompt_store editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
proto Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
recent_projects Add element_selection_background highlight to theme (#32388) 2025-06-27 15:46:04 +00:00
refineable Add a live Rust style editor to inspector to edit a sequence of no-argument style modifiers (#31443) 2025-05-26 17:43:57 +00:00
release_channel Use shortened SHA when displaying version to install (#31281) 2025-05-23 14:53:53 +00:00
remote Default to cargo-zigbuild for ZED_BUILD_REMOTE_SERVER (#33391) 2025-06-25 16:49:37 +00:00
remote_server Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
repl Add horizontal scroll to REPL outputs (#33247) 2025-06-24 10:15:20 +03:00
reqwest_client Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
rich_text Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rope chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
rpc extensions: Add "Debug Adapters" category to the extension store (#32845) 2025-06-17 12:09:08 +02:00
rules_library linux: Add title bar for rules library (#33025) 2025-06-19 18:23:09 +05:30
schema_generator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
search chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
semantic_index Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
semantic_version Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
session Avoid unnecessary DB writes (#29417) 2025-04-25 17:41:49 +03:00
settings keymap: Add ability to update user keymaps (#33487) 2025-06-26 21:52:26 -04:00
settings_ui gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
snippet Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
snippet_provider Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
snippets_ui editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
sqlez Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
sqlez_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
story gpui: Add a standard text example (#30747) 2025-05-16 17:35:44 +02:00
storybook gpui: Add keybind metadata API (#33316) 2025-06-24 16:07:45 +00:00
streaming_diff Introduce a new StreamingEditFileTool (#29733) 2025-05-01 17:37:43 +02:00
sum_tree chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
supermaven Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven_api supermaven_api: Ensure downloaded Supermaven binary has executable permissions set (#32576) 2025-06-17 14:39:45 +00:00
svg_preview Add SVG preview (#32694) 2025-06-27 09:08:05 +00:00
tab_switcher gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
task Silence another backtrace-full log (#32990) 2025-06-18 22:47:48 +00:00
tasks_ui debugger: Refine session modal design (#33004) 2025-06-19 02:27:34 -03:00
telemetry Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
telemetry_events Add new action to run agent eval (#29158) 2025-04-21 21:30:21 -07:00
terminal chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
terminal_view gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
text chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
theme Add element_selection_background highlight to theme (#32388) 2025-06-27 15:46:04 +00:00
theme_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_importer chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
theme_selector editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
time_format agent: Add date separators to Thread History (#29961) 2025-05-06 10:18:48 +00:00
title_bar gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
toolchain_selector editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
ui gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
ui_input agent: Add ability to change the API base URL for OpenAI via the UI (#32979) 2025-06-18 18:47:43 -03:00
ui_macros Update syn crate from 1.0.109 to 2.0.101 (#31301) 2025-05-23 19:31:25 +00:00
ui_prompt Add element_selection_background highlight to theme (#32388) 2025-06-27 15:46:04 +00:00
util Redact command environment variables from log output (#32985) 2025-06-21 11:19:23 -04:00
util_macros Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
vercel vercel: Use proper model identifiers and add image support (#33377) 2025-06-25 13:26:41 +00:00
vim Reset selection goal after helix motion (#33184) 2025-06-26 22:32:35 -06:00
vim_mode_setting vim: Fix escape key switching back to default mode instead of normal mode (#31843) 2025-06-18 21:26:12 +00:00
watch chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
web_search agent: Expose web search tool to beta users (#29273) 2025-04-23 15:30:20 +00:00
web_search_providers Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
welcome editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
workspace pane: Update pinned tab count when it exceeds actual tab count (#33405) 2025-06-25 19:52:15 +00:00
worktree chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
zed Rework LSP tool keyboard story (#33525) 2025-06-27 16:25:56 +03:00
zed_actions gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
zeta agent: Fix issues with usage display sometimes showing initially fetched usage (#33125) 2025-06-20 21:28:48 +00:00
zlog Initialize zlog default filters on init rather than waiting for settings load (#32209) 2025-06-06 00:49:30 -06:00
zlog_settings VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00