ZIm/crates
Antonio Scandurra ad4c4aff13
Always let two completions race with each other (#21919)
When a user types, chances are the model will anticipate what they are
about to do. Previously, we would continuously cancel the pending
completion until the user stopped typing. With this commit, we allow at
most two completions to race with each other (the first and the last
one):

- If the completion that was requested first completes first, we will
show it (assuming we can interpolate it) but avoid canceling the last
one.
- When the completion that was requested last completes, we will cancel
the first one if it's pending.

In both cases, if a completion is already on-screen we have a special
case for when the completions are just insertions and the new completion
is a superset of the existing one. In this case, we will replace the
existing completion with the new one. Otherwise we will keep showing the
old one to avoid thrashing the UI.

This should make latency a lot better. Note that I also reduced the
debounce timeout to 8ms.

Release Notes:

- N/A
2024-12-12 16:01:05 +01: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 Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
assistant2 Inline assistant v2 (#21828) 2024-12-11 14:32:30 -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 call: Add test-support feature for livekit_client_macos (#21748) 2024-12-09 11:21:02 -05: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 Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
clock Use Instant not chrono for telemetry (#20756) 2024-11-19 08:23:12 -07:00
collab Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07: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 gpui: Don't export named Context from prelude (#21869) 2024-12-11 13:21:40 -05:00
db chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
diagnostics Fix diagnostics randomized tests (#21775) 2024-12-09 21:56:43 -07:00
docs_preprocessor Don't rely on relative path for docs preprocessor (#16883) 2024-08-26 11:43:13 -04:00
editor Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07: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: Add a short explanation of repo format (#21824) 2024-12-10 15:04:47 -05:00
extension_cli Add new extension crate (#20089) 2024-11-01 13:20:30 -04:00
extension_host Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
extensions_ui Add "Copy Extension ID" action to extension card dropdown (#21395) 2024-12-02 11:19:42 -05:00
feature_flags Add placeholder git panel (#21894) 2024-12-11 22:13:52 -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 linux: Don't watch parent directory when target path already exists (#21854) 2024-12-12 01:54:14 -05: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
git_ui Initial git panel refinements (#21912) 2024-12-12 09:13:40 -05: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 gpui: Add linear gradient support to fill background (#20812) 2024-12-11 21:52:52 +02:00
gpui_macros gpui: Add cursor style methods of nesw nwse resize (#21801) 2024-12-10 11:54:26 -07: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 image viewer: Allow dropping images on pane (#21803) 2024-12-10 15:01:14 +01:00
indexed_docs Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
inline_completion Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
inline_completion_button zeta: Add adjustments to the review modal UI (#21920) 2024-12-12 11:17:08 -03: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 worktree: Fix privacy check for singleton files (#21861) 2024-12-12 01:53:00 -05:00
language_extension Add language icons to the language selector (#21298) 2024-12-02 15:01:09 -03:00
language_model gpui: Don't export named Context from prelude (#21869) 2024-12-11 13:21:40 -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 Mention Lllama 3.3 in Ollama config panel (#21866) 2024-12-11 16:38:03 -05:00
language_selector Fix incorrect language selected in language selector (#21648) 2024-12-06 12:03:58 -05:00
language_tools Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
languages Recognize .C and .H as supported cpp extensions (#21647) 2024-12-10 19:55:21 -05: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 Bump to livekit 1.1.6 (#21660) 2024-12-06 12:06:55 -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 lsp: Add support for didRename/willRename LSP messages (#21651) 2024-12-07 13:08:18 +01: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: Allow clicking on image to navigate to source location (#21630) 2024-12-06 18:31:58 +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 Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07: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 Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +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 Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
project_panel gpui: Don't export named Context from prelude (#21869) 2024-12-11 13:21:40 -05:00
project_symbols Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
proto Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07: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 Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
repl Optimize REPL kernel spec refresh (#21844) 2024-12-11 06:20:44 -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 Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01: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 Update NorwegianExtended equivalents (#21665) 2024-12-06 16:42:58 -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 Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01: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 Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
terminal Enable toolchain venv in new terminals (#21388) 2024-12-03 16:24:30 +01:00
terminal_view Fix a panic when drop-splitting the terminal panel (#21795) 2024-12-10 13:50:19 +02: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 zeta: Add adjustments to the review modal UI (#21920) 2024-12-12 11:17:08 -03: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 Resolve documentation for visible completions (#21705) 2024-12-10 12:25:30 -07:00
vcs_menu title_bar: Remove dependency on vcs_menu (#21011) 2024-11-21 14:56:02 -05:00
vim Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
vim_mode_setting Extract VimModeSetting to its own crate (#21019) 2024-11-21 16:24:38 -05:00
welcome Enhance the Vim Mode toggle discoverability (#21589) 2024-12-09 09:28:40 -03:00
workspace Add placeholder git panel (#21894) 2024-12-11 22:13:52 -05:00
worktree worktree: Fix privacy check for singleton files (#21861) 2024-12-12 01:53:00 -05:00
zed Initial git panel refinements (#21912) 2024-12-12 09:13:40 -05:00
zed_actions title_bar: Remove dependency on feedback (#21013) 2024-11-21 15:24:04 -05:00
zeta Always let two completions race with each other (#21919) 2024-12-12 16:01:05 +01:00