ZIm/crates
Boris Vassilev cbb535f5eb
Fix completion details on new clangd versions (#25405)
Fixes #16057

In newer versions of clangd, the switch labelDetailsSupport in the json
passed to the language server modifies the format of the returned json.
Zed handles well the old format, but misses the function parameters in
the new one. For example:
The old format looks like this:
```json
...
"label": " Window(int width, int height, const char *name, bool vsync, bool resizable)",
...
```
and with labelDetailsSupport = true:
```json
...
 "label": " Window",
 "labelDetails": {
     "detail": "(int width, int height, const char *name, bool vsync, bool resizable)"
 },
...
```
A simple solution is to just to not tell the language server that label
details are supported and force it to use the old format. This is a
dirty fix, but makes the completions behave like in the old versions of
clangd.

I do not know if this will break another language server. From what I've
found out most lsp-s do not depend on that setting and provide all
completion data either way. If not, this switch will need to be exposed
in a config or be at least lsp-dependant.

Lastly, I do not know Rust, maybe will need help to make a better fix
for the issue.

Release Notes:

- Fixed broken C++ completion suggestions
2025-03-04 14:30:03 +02:00
..
activity_indicator Remove more references to 'model' in GPUI APIs (#23693) 2025-01-27 04:00:27 +00:00
anthropic Add Anthropic Claude 3.7 support (#25497) 2025-02-24 16:10:26 -05:00
assets Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
assistant chore: Extract PromptStore out of prompt_library (#25837) 2025-03-01 00:34:28 +01:00
assistant2 markdown: Allow code blocks and tables to be horizontally scrollable (#25956) 2025-03-03 22:52:59 +00:00
assistant_context_editor git_ui: Prevent button overflow due to long names (#25940) 2025-03-03 18:38:15 +00:00
assistant_settings assistant: Add Bedrock support (#21092) 2025-02-24 18:10:12 -05:00
assistant_slash_command Revert "file_finder: Remove common segments of long paths in search results (#25049)" (#25163) 2025-02-19 15:32:29 +00:00
assistant_slash_commands chore: Extract PromptStore out of prompt_library (#25837) 2025-03-01 00:34:28 +01:00
assistant_tool Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
assistant_tools assistant_tools: Rename FileToolInput to NowToolInput (#25456) 2025-02-24 09:37:07 -05:00
audio Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
auto_update cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
auto_update_ui Add user-visible output for remote operations (#25849) 2025-03-03 09:20:15 +00:00
aws_http_client Add aws_http_client and bedrock crates (#25490) 2025-02-24 20:28:20 +00:00
bedrock bedrock: Add Claude 3.7 Sonnet (#25583) 2025-02-25 13:52:42 -05:00
breadcrumbs Add user-visible output for remote operations (#25849) 2025-03-03 09:20:15 +00:00
buffer_diff Disable diff hunks for untracked files, even w/ no newline at eof (#25980) 2025-03-03 22:18:27 -08:00
call cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
channel Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
cli cli: Add extra paths in detect() on Windows (#25765) 2025-03-02 00:17:55 +08:00
client Add CredentialsProvider to silence keychain prompts in development (#25266) 2025-02-20 17:58:50 +00:00
clock chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
collab chore: Extract PromptStore out of prompt_library (#25837) 2025-03-01 00:34:28 +01:00
collab_ui keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
collections chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
command_palette cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
command_palette_hooks vim: :set support (#24209) 2025-02-11 04:55:40 +00:00
component git_ui: New panel design (#25821) 2025-02-28 20:00:39 +00:00
component_preview git_ui: Prevent button overflow due to long names (#25940) 2025-03-03 18:38:15 +00:00
context_server context_server: Abstract server transport (#24528) 2025-02-26 17:19:19 +00:00
context_server_settings Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
copilot Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
credentials_provider Use the development credentials provider in development by default (#25273) 2025-02-20 19:07:16 +00:00
db cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
deepseek Add DeepSeek support (#23551) 2025-01-27 13:40:59 -05:00
diagnostics Add user-visible output for remote operations (#25849) 2025-03-03 09:20:15 +00:00
docs_preprocessor Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
editor editor: Ensure correct tab icon is shown for files outside of the current project (#25933) 2025-03-04 13:57:26 +02:00
evals Revert "file_finder: Remove common segments of long paths in search results (#25049)" (#25163) 2025-02-19 15:32:29 +00:00
extension theme: Don't log errors for missing themes until extensions have loaded (#25098) 2025-02-18 17:47:25 +00:00
extension_api Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
extension_cli extension_cli: Make use of scrollbar_thumb.background a hard error (#25932) 2025-03-03 15:55:15 +00:00
extension_host Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
extensions_ui git_ui: Prevent button overflow due to long names (#25940) 2025-03-03 18:38:15 +00:00
feature_flags zeta: Remove predict-edits-launch feature flag (#24829) 2025-02-13 21:48:09 +00:00
feedback cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
file_finder workspace: Add trailing / to directories on completion when using OpenPathPrompt (#25430) 2025-03-04 14:01:08 +08:00
file_icons Allow icon themes to provide their own file associations (#24926) 2025-02-15 00:35:13 +00:00
fs git: Don't consider $HOME as containing git repository unless it's opened directly (#25948) 2025-03-03 20:33:02 +00:00
fsevent Deflake fs::test_event_stream_simple (#24013) 2025-01-30 23:53:36 -07:00
fuzzy workspace: Add trailing / to directories on completion when using OpenPathPrompt (#25430) 2025-03-04 14:01:08 +08:00
git Skip .git/lfs FS events (#25927) 2025-03-03 15:04:46 +00:00
git_hosting_providers git_hosting_providers: Add support for Chromium repositories (#24881) 2025-02-20 19:11:32 -05:00
git_ui Make suggested commits placeholders and allow them to be committed (#26006) 2025-03-04 02:01:52 -05:00
go_to_line project: Fine-grained language server management (#24038) 2025-02-14 15:41:49 +01:00
google_ai Partially fix assistant onboarding (#25313) 2025-02-24 07:29:55 +00:00
gpui gpui: Ensure hitbox is inserted when element has hover listener (#25981) 2025-03-04 01:46:18 +00:00
gpui_macros Revert "Hide the mouse when the user is typing in the editor (#25040)" (#25393) 2025-02-22 10:19:23 -05:00
gpui_tokio Make the gpui_tokio crate generic over the context it spawns (#23995) 2025-01-31 02:00:55 +00:00
html_to_markdown Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
http_client Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
image_viewer image_viewer: Hide breadcrumb (#25654) 2025-02-26 17:24:35 +01:00
indexed_docs Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
inline_completion edit predictions: Show user if current project is open source (#24587) 2025-02-10 22:28:56 -03:00
inline_completion_button Support absolute disabled_globs (#25755) 2025-02-27 15:29:32 -03:00
install_cli Fix missed renames in #22632 (#23688) 2025-01-26 23:37:34 +00:00
journal cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
language Do not detach reparse tasks (#25934) 2025-03-03 22:41:46 +02:00
language_extension Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
language_model Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
language_model_selector git_ui: Prevent button overflow due to long names (#25940) 2025-03-03 18:38:15 +00:00
language_models assistant: Refine settings view's instruction visuals (#25812) 2025-02-28 12:06:47 -03:00
language_selector Refactor to use SharedString in more places (#23813) 2025-01-28 19:04:21 -05:00
language_tools Persist selections for editors (#25083) 2025-02-18 14:27:00 +00:00
languages Fix completion details on new clangd versions (#25405) 2025-03-04 14:30:03 +02:00
livekit_api Change license of crates/livekit_api from AGPL to GPL (#25206) 2025-02-19 23:32:51 +00:00
livekit_client cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
livekit_client_macos Rename livekit_server to livekit_api (#24984) 2025-02-16 20:24:12 +00:00
lmstudio lmstudio: Support missing quantization in model metadata (#24054) 2025-01-31 22:28:11 +00:00
lsp lsp: Use available workspace folders in initialize params (#25753) 2025-02-27 16:45:59 +01:00
markdown markdown: Change the copy icon to a check once copied (#25970) 2025-03-04 00:14:26 +00:00
markdown_preview gpui: Maintain img aspect ratio when max_width is set (#25632) 2025-03-03 12:36:27 +01:00
media chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
menu keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
migrator keymap: Update Prev to Previous follow-up (#25931) 2025-03-03 21:19:25 +05:30
mistral assistant: Add Mistral support (#24879) 2025-02-14 13:07:41 -05:00
multi_buffer Disable diff hunks for untracked files, even w/ no newline at eof (#25980) 2025-03-03 22:18:27 -08:00
node_runtime Pass extra CA certs to node process if env var exists (#23662) 2025-01-30 08:56:02 -08:00
notifications Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
ollama Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
open_ai Update Assistant context limits (#25087) 2025-02-19 11:06:20 -05:00
outline keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
outline_panel keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
panel git_ui: New panel design (#25821) 2025-02-28 20:00:39 +00:00
paths Settings/keymap backup path next to files + update notification messages (#24517) 2025-02-09 16:51:37 -07:00
picker keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
prettier lsp: Use available workspace folders in initialize params (#25753) 2025-02-27 16:45:59 +01:00
project workspace: Add trailing / to directories on completion when using OpenPathPrompt (#25430) 2025-03-04 14:01:08 +08:00
project_panel keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
project_symbols Add user-visible output for remote operations (#25849) 2025-03-03 09:20:15 +00:00
prompt_library chore: Extract PromptStore out of prompt_library (#25837) 2025-03-01 00:34:28 +01:00
prompt_store chore: Extract PromptStore out of prompt_library (#25837) 2025-03-01 00:34:28 +01:00
proto workspace: Add trailing / to directories on completion when using OpenPathPrompt (#25430) 2025-03-04 14:01:08 +08:00
recent_projects Fix UI font size changes not applying (#25307) 2025-02-21 06:24:02 -03:00
refineable windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
release_channel windows: Missing commit of #25412 (#25732) 2025-02-27 08:00:42 +00:00
remote ssh: Allow ssh -F ssh_config (#25619) 2025-02-26 16:23:25 -05:00
remote_server workspace: Add trailing / to directories on completion when using OpenPathPrompt (#25430) 2025-03-04 14:01:08 +08:00
repl keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
reqwest_client Redact Google Gemini API keys from error messaging and log (#24884) 2025-02-17 11:42:22 -05:00
rich_text Add user-visible output for remote operations (#25849) 2025-03-03 09:20:15 +00:00
rope Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
rpc extensions_ui: Add general structure for filtering extensions by what they provide (#24325) 2025-02-06 00:09:37 +00:00
schema_generator Add schema_generator for generating JSON schemas (#23991) 2025-01-31 01:22:10 +00:00
search keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
semantic_index Revert "file_finder: Remove common segments of long paths in search results (#25049)" (#25163) 2025-02-19 15:32:29 +00:00
semantic_version chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
session cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
settings keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
settings_ui Fix UI font size changes not applying (#25307) 2025-02-21 06:24:02 -03:00
snippet Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
snippet_provider snippets: Fix snippets not updating while containing comments (#23755) 2025-01-28 10:37:48 +01:00
snippets_ui Remove more references to 'model' in GPUI APIs (#23693) 2025-01-27 04:00:27 +00:00
sqlez Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
sqlez_macros windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
story Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
storybook keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
streaming_diff chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
sum_tree Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
supermaven Include prediction ID on edit prediction accepted/discarded events (#24480) 2025-02-07 22:06:37 +00:00
supermaven_api Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
tab_switcher keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30
task cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
tasks_ui Use active worktree's task sources (#25784) 2025-02-27 22:57:59 +00:00
telemetry chore: Use workspace fields for edition and publish (#23291) 2025-01-17 17:39:22 +01:00
telemetry_events Add build SHA to panic reports and zed --version (on nightly/dev) (#24258) 2025-02-06 02:09:24 -07:00
terminal Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
terminal_view terminal: Update terminal reopening from global to per-workspace (#25336) 2025-02-22 00:05:52 +05:30
text Rust 1.85 (#25272) 2025-02-28 18:33:35 +01:00
theme git_ui: Commit modal refinement (#25484) 2025-02-24 19:19:06 +00:00
theme_extension theme: Don't log errors for missing themes until extensions have loaded (#25098) 2025-02-18 17:47:25 +00:00
theme_importer Add schema_generator for generating JSON schemas (#23991) 2025-01-31 01:22:10 +00:00
theme_selector icon_theme_selector: Add footer and related docs (#25042) 2025-02-20 00:02:24 +00:00
time_format Add an undo button to the git panel (#24593) 2025-02-12 15:57:08 -07:00
title_bar git_ui: Prevent button overflow due to long names (#25940) 2025-03-03 18:38:15 +00:00
toolchain_selector Revert "file_finder: Remove common segments of long paths in search results (#25049)" (#25163) 2025-02-19 15:32:29 +00:00
ui git_ui: Prevent button overflow due to long names (#25940) 2025-03-03 18:38:15 +00:00
ui_input Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
ui_macros Fix UI font size changes not applying (#25307) 2025-02-21 06:24:02 -03:00
util Optimize JSON merging by removing redundant key clones in serde_json operations (#25866) 2025-03-01 14:13:38 -05:00
util_macros windows: Fix tests on Windows (#22616) 2025-02-05 14:30:09 +00:00
vim vim: Fix key navigation on folded buffer headers (#25944) 2025-03-03 14:44:39 -07:00
vim_mode_setting Eliminate GPUI View, ViewContext, and WindowContext types (#22632) 2025-01-26 03:02:45 +00:00
welcome New commit review flow in project diff view (#25229) 2025-02-21 06:52:34 +00:00
workspace keymap: Update Prev to Previous follow-up (#25931) 2025-03-03 21:19:25 +05:30
worktree git: Don't consider $HOME as containing git repository unless it's opened directly (#25948) 2025-03-03 20:33:02 +00:00
zed Revert "git: Use worktree paths in the panel (#25950)" (#25995) 2025-03-04 04:20:41 +00:00
zed_actions Adds a way to toggle font size without settings adjustments (#24857) 2025-02-14 13:27:48 +02:00
zeta keymap: Update Prev to Previous for consistency (#25909) 2025-03-03 17:44:49 +05:30