ZIm/crates
tims bffdc55d63
linux: Make prompt detail selectable (#21405)
Closes #21305

As Linux doesn’t have native prompts, Zed uses a custom GPU-based
prompt, like the "About Zed" prompt. Currently, the detail in the prompt
isn’t selectable.

This PR fixes that by using the editor's multi-line selectable
functionality to make the detail selectable (and thus copyable). It
achieves this by disabling editing and setting the cursor to
transparent. The editor also does all the heavy lifting, like
double-clicking to select a word or triple-clicking to select a line,
like what user expects from selectable.

Before/After:

<img
src="https://github.com/user-attachments/assets/2012a6cc-a1ed-4efe-8bfb-440a9259f07a"
alt="before" width="360px" />

<img
src="https://github.com/user-attachments/assets/31922ef5-cb2d-4e90-a1a1-00843e767432"
alt="after" width="360px" />

When detail is `None` or empty string:

<img
src="https://github.com/user-attachments/assets/2be5c921-bda1-4db3-85cd-b4b0e2df86d2"
alt="none" width="360px" />

Release Notes:

- N/A
2024-12-06 09:26:47 -08:00
..
activity_indicator language servers: Fix wrong language server name (#20428) 2024-11-11 10:18:38 +01:00
anthropic assistant: Remove low_speed_timeout (#20681) 2024-11-15 07:37:31 +01:00
assets add ui::Vector and separate images from icons (#17815) 2024-09-13 17:44:16 -04:00
assistant context_server: Add missing types for MCP spec to protocol 2024-11-05 (#21498) 2024-12-04 10:45:25 -05:00
assistant2 assistant2: Add ability to delete past threads (#21607) 2024-12-05 15:57:35 -05:00
assistant_slash_command Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
assistant_tool Factor tool definitions out of assistant (#21189) 2024-11-25 18:26:34 -05:00
assistant_tools assistant2: Add support for using tools (#21190) 2024-11-25 19:44:34 -05:00
audio Update Rust crate rodio to 0.20.0 (#20955) 2024-11-28 10:58:36 +02:00
auto_update Extract auto_update_ui crate (#21008) 2024-11-21 14:11:57 -05:00
auto_update_ui Extract auto_update_ui crate (#21008) 2024-11-21 14:11:57 -05:00
breadcrumbs Add missing shortcuts in tooltips (#18282) 2024-09-27 11:06:48 +02:00
call Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
channel Use Instant not chrono for telemetry (#20756) 2024-11-19 08:23:12 -07:00
cli Update Rust crate ipc-channel to 0.19 (#20951) 2024-11-28 10:58:10 +02:00
client Send llm events to snowflake too (#21091) 2024-11-22 20:40:39 -07:00
clock Use Instant not chrono for telemetry (#20756) 2024-11-19 08:23:12 -07:00
collab Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
collab_ui Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
collections gpui: Add SVG rendering to img element and generic asset cache (#9931) 2024-03-29 17:09:49 -07:00
command_palette title_bar: Remove dependency on command_palette (#21006) 2024-11-21 13:37:34 -05:00
command_palette_hooks Improve context server lifecycle management (#20622) 2024-11-13 13:55:06 -08:00
context_server context_server: Add missing types for MCP spec to protocol 2024-11-05 (#21498) 2024-12-04 10:45:25 -05:00
context_server_settings Factor tool definitions out of assistant (#21189) 2024-11-25 18:26:34 -05:00
copilot Fix: Copilot Chat is logged out (#21360) 2024-12-02 10:35:29 +01:00
db chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
diagnostics Implement session-global include_warnings in the diagnostic item (#21618) 2024-12-05 16:32:17 -08:00
docs_preprocessor Don't rely on relative path for docs preprocessor (#16883) 2024-08-26 11:43:13 -04:00
editor Get unstaged changes when excerpts of new buffers are added (#21619) 2024-12-05 16:52:14 -08:00
evals windows: Set CREATE_NO_WINDOW for commands (#18447) 2024-11-20 16:52:38 -08:00
extension Add language icons to the language selector (#21298) 2024-12-02 15:01:09 -03:00
extension_api zed_extension_api: Release v0.2.0 (#20683) 2024-11-14 12:44:10 -05:00
extension_cli Add new extension crate (#20089) 2024-11-01 13:20:30 -04:00
extension_host Add language icons to the language selector (#21298) 2024-12-02 15:01:09 -03:00
extensions_ui Add "Copy Extension ID" action to extension card dropdown (#21395) 2024-12-02 11:19:42 -05:00
feature_flags assistant2: Add support for using tools (#21190) 2024-11-25 19:44:34 -05:00
feedback title_bar: Remove dependency on feedback (#21013) 2024-11-21 15:24:04 -05:00
file_finder Add a prototype with a multi buffer having all project git changes (#21543) 2024-12-04 23:36:36 +02:00
file_icons chore: Clean up allocs around project panel (#15422) 2024-07-29 14:21:41 +02:00
fs Restructure git diff state management to allow viewing buffers with different diff bases (#21258) 2024-12-04 15:02:33 -08:00
fsevent Retain run loop (#11241) 2024-04-30 23:31:59 -06:00
fuzzy Improve slash commands (#16195) 2024-08-13 23:06:07 -07:00
git Detect wider variety of usernames for SSH-based remotes (#21508) 2024-12-05 15:23:37 -08:00
git_hosting_providers git_hosting_providers: Fix support for GitLab remotes containing subgroups (#19962) 2024-10-30 11:16:44 -04:00
go_to_line Add a keybinding to the Go to Line button (#21350) 2024-11-30 00:50:38 +02:00
google_ai assistant: Remove low_speed_timeout (#20681) 2024-11-15 07:37:31 +01:00
gpui Catch panic from oo7 when reading credentials (#21617) 2024-12-06 08:45:03 -05:00
gpui_macros add ui::Vector and separate images from icons (#17815) 2024-09-13 17:44:16 -04:00
html_to_markdown chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
http_client Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
image_viewer Fix item closing overly triggering save dialogues (#21374) 2024-12-01 01:48:31 +02:00
indexed_docs Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
inline_completion Extract InlineCompletionProvider to its own crate (#20935) 2024-11-20 16:51:13 -05:00
inline_completion_button language_model: Remove dependency on inline_completion_button (#20930) 2024-11-20 16:19:20 -05:00
install_cli Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
journal chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
language Restructure git diff state management to allow viewing buffers with different diff bases (#21258) 2024-12-04 15:02:33 -08:00
language_extension Add language icons to the language selector (#21298) 2024-12-02 15:01:09 -03:00
language_model assistant2: Wire up error messages (#21426) 2024-12-02 16:54:46 -05:00
language_model_selector Factor out language model selector into its own crate (#21113) 2024-11-23 12:11:31 -05:00
language_models assistant2: Restructure storage of tool uses and results (#21194) 2024-11-25 21:53:27 -05:00
language_selector Fix incorrect language selected in language selector (#21648) 2024-12-06 12:03:58 -05:00
language_tools Expose active key equivalents in the keymap context view (#20530) 2024-11-11 23:04:15 -07:00
languages Revert accidental change to Rust outline files (#21545) 2024-12-04 11:58:56 -07:00
livekit_client Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
livekit_client_macos Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
livekit_server Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
lsp Enable clangd's dot-to-arrow feature (#21142) 2024-11-28 10:43:25 +02:00
markdown markdown: Make cx the last parameter to Markdown::new_text (#21497) 2024-12-03 18:39:00 -05:00
markdown_preview markdown preview: Fix panic when parsing empty image tag (#21616) 2024-12-06 10:01:57 +01:00
media Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
menu open picker (#14524) 2024-07-15 17:04:15 -06:00
multi_buffer Restructure git diff state management to allow viewing buffers with different diff bases (#21258) 2024-12-04 15:02:33 -08:00
node_runtime windows: Set CREATE_NO_WINDOW for commands (#18447) 2024-11-20 16:52:38 -08:00
notifications Markdown preview image rendering (#21082) 2024-11-22 14:49:26 -08:00
ollama Fix inaccurate Ollama context length for qwen2.5 models (#20933) 2024-11-22 10:10:01 -05:00
open_ai assistant: Remove low_speed_timeout (#20681) 2024-11-15 07:37:31 +01:00
outline Revert "remove usages of theme::color_alpha" 2024-11-19 00:24:48 -05:00
outline_panel Do not change selections when opening FS entries (#21382) 2024-12-01 14:28:48 +02:00
paths Add initial FreeBSD support (#20480) 2024-11-11 18:39:05 +01:00
picker toolchains: Use language-specific terms in UI (#20985) 2024-11-21 15:57:22 +01:00
prettier Add more common Prettier plugin base paths (#20758) 2024-11-16 13:20:52 +02:00
project Restore project diff test (#21606) 2024-12-05 21:48:33 +02:00
project_panel Fix panel.background color override (#21559) 2024-12-06 09:17:24 -03:00
project_symbols Fix renames over language server for SSH remoting (#17897) 2024-09-16 16:20:17 -06:00
proto Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
recent_projects markdown: Make cx the last parameter to Markdown::new_text (#21497) 2024-12-03 18:39:00 -05:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
remote Fix panics from spawn_local tasks dropped on other threads in remote server (#21022) 2024-11-21 14:50:38 -07:00
remote_server Restructure git diff state management to allow viewing buffers with different diff bases (#21258) 2024-12-04 15:02:33 -08:00
repl Upgrade repl dependencies (#21431) 2024-12-02 15:22:03 -08:00
reqwest_client assistant: Remove low_speed_timeout (#20681) 2024-11-15 07:37:31 +01:00
rich_text Markdown preview image rendering (#21082) 2024-11-22 14:49:26 -08:00
rope rope: Minor optimization for tab indices (#20911) 2024-11-21 08:48:13 +01:00
rpc Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
search Fix item closing overly triggering save dialogues (#21374) 2024-12-01 01:48:31 +02:00
semantic_index Add a prototype with a multi buffer having all project git changes (#21543) 2024-12-04 23:36:36 +02:00
semantic_version Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
session chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
settings Fix keybindings on a Spanish ISO keyboard (#20995) 2024-11-21 10:18:54 -07:00
settings_ui Revert "theme: Turn ThemeRegistry into a trait (#20076)" (#20094) 2024-11-01 15:34:20 -04:00
snippet Snippet choices (#13958) 2024-11-18 22:56:34 +01:00
snippet_provider Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
snippets_ui Add snippet commands (#18453) 2024-10-02 13:27:16 +02:00
sqlez Update rustls and sqlx (#21506) 2024-12-03 23:22:26 -05:00
sqlez_macros Add initial FreeBSD support (#20480) 2024-11-11 18:39:05 +01:00
story chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
storybook Add preview for Checkbox with Label (#20448) 2024-11-08 22:53:15 -05:00
sum_tree Speed up point translation in the Rope (#19913) 2024-10-30 10:59:03 +01:00
supermaven windows: Set CREATE_NO_WINDOW for commands (#18447) 2024-11-20 16:52:38 -08:00
supermaven_api chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
tab_switcher tab_switcher: Use git-aware colors for file icons (#18733) 2024-10-04 10:37:41 -04:00
task Add the option to hide both the task and command lines in the task output (#20920) 2024-11-22 13:45:42 -05:00
tasks_ui chore: Sever terminal_view <-> tasks_ui dependency (#20946) 2024-11-21 01:07:14 +01:00
telemetry_events Start to send data to Snowflake too (#20698) 2024-11-15 12:58:00 -07:00
terminal Enable toolchain venv in new terminals (#21388) 2024-12-03 16:24:30 +01:00
terminal_view Enable toolchain venv in new terminals (#21388) 2024-12-03 16:24:30 +01:00
text Implement Helix Support (WIP) (#19175) 2024-12-03 23:19:52 -07:00
theme project panel: Use theme token for focused border color (#21593) 2024-12-05 19:17:26 -03:00
theme_extension Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
theme_importer Publish theme json schema v0.2.0 (#21428) 2024-12-03 12:57:39 -05:00
theme_selector title_bar: Remove dependency on theme_selector (#21009) 2024-11-21 14:33:58 -05:00
time_format chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
title_bar Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
toolchain_selector toolchains: Use language-specific terms in UI (#20985) 2024-11-21 15:57:22 +01:00
ui ui: Ensure Label with single_line set does not wrap (#21444) 2024-12-03 13:03:53 -05:00
ui_input Rename ui_text_field crate to ui_input (#13949) 2024-07-08 17:05:30 -04:00
ui_macros Fix DynamicSpacing docs (#20509) 2024-11-11 12:58:39 -05:00
util Better absolute path handling (#19727) 2024-11-27 20:22:58 +02:00
vcs_menu title_bar: Remove dependency on vcs_menu (#21011) 2024-11-21 14:56:02 -05:00
vim Configure Highlight settings on yank vim (#21479) 2024-12-04 09:23:31 -07:00
vim_mode_setting Extract VimModeSetting to its own crate (#21019) 2024-11-21 16:24:38 -05:00
welcome welcome: Remove dependency on theme_selector (#21024) 2024-11-21 17:50:22 -05:00
workspace Refine diagnostic icons in tabs (#21637) 2024-12-06 09:17:48 -03:00
worktree git: Make worktrees work for bare git repositories (#21596) 2024-12-05 12:55:40 -05:00
zed linux: Make prompt detail selectable (#21405) 2024-12-06 09:26:47 -08:00
zed_actions title_bar: Remove dependency on feedback (#21013) 2024-11-21 15:24:04 -05:00