Add configurable LSP timeout setting#44745
Add configurable LSP timeout setting#44745SomeoneToIgnore merged 31 commits intozed-industries:mainfrom
Conversation
Fixes zed-industries#36818 (IDK how to configure the schema so yeah)
|
We require contributors to sign our Contributor License Agreement, and we don't have @Bertie690 on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'. |
|
We require contributors to sign our Contributor License Agreement, and we don't have @Bertie690 on file. You can sign our CLA at https://zed.dev/cla. Once you've signed, post a comment here that says '@cla-bot check'. |
|
@cla-bot check |
|
The cla-bot has been summoned, and re-checked this pull request! |
this cost me 2 hours of running around in insane fashion
SomeoneToIgnore
left a comment
There was a problem hiding this comment.
Thank you, this looks quite good overall.
One confusing point for me are the remote requests: using a hardcoded default timeout there seems odd?
Maybe I miss some context there, as not sure at all what has to be done there.
d0e9b8f to
9e099ce
Compare
|
okee... i have literally zero idea why a singular terminal test would fail exclusively on Mac. |
@SomeoneToIgnore My only fear is that the (numeric) property on Any thoughts? |
|
I think we only care about the field when we [de]serialize, and |
|
1 is done, 3 I have written (and am attempting to run on my potato lol) |
2c2bbb1 to
97379db
Compare
i doubt we will execute the code in question >=1ns
|
@SomeoneToIgnore Test has been written. Judging by how long it took my laptop to compile the last batch of code, I'mma just use github actions to check the results lol |
a58845b to
7279a1b
Compare
7279a1b to
613967a
Compare
|
I have updated the test to actually test something useful, and it starts to show that we never drop the timed out LSP requests, rather always polling the server. This is wrong, and I have not gotten to the bottom of it yet: meanwhile, I have fixed 2 |
|
Thanks for helping - I've fallen ill as of late and have struggled to find the time/wherewithal to fix the remaining edge cases. |
# Conflicts: # assets/settings/default.json # crates/collab/tests/integration/editor_tests.rs # crates/copilot/src/copilot.rs # crates/copilot_ui/src/sign_in.rs # crates/editor/src/editor_tests.rs # crates/lsp/src/lsp.rs # crates/project/src/lsp_store.rs # crates/project/src/project_settings.rs # crates/project/tests/integration/project_tests.rs # crates/settings_content/src/project.rs # docs/src/configuring-zed.md
4bb7137 to
ae5a022
Compare
ae5a022 to
d7a58f7
Compare
d7a58f7 to
e27b314
Compare
* main: (57 commits) agent: Fix disabled MCP servers disappearing from UI after restart (zed-industries#47758) Update Rust crate git2 to v0.20.4 [SECURITY] (zed-industries#48400) Update Rust crate time to v0.3.47 [SECURITY] (zed-industries#48514) gpui: Reset `external_files_dragged` after successful drag-drop on macOS (zed-industries#48727) language: Return early if no grammars are added (zed-industries#48685) Properly handle multi-char folds (zed-industries#48721) collab: Proxy `GET /extensions` to Cloud (zed-industries#48717) git: Fix a potential misalignment in the side-by-side diff (zed-industries#48690) Move extension API DTOs into `cloud_api_types` (zed-industries#48689) git: Add a setting for the default view mode of `SplittableEditor` (zed-industries#48440) Use proper settings name for semantic tokens' settings UI (zed-industries#48686) gpui: Fix restarting panicking due to double borrows on windows (zed-industries#48667) Strip broken thinking blocks from Anthropic requests (zed-industries#48548) keymap_editor: Add `alt-l` keybinding for cycling favorite models (zed-industries#48390) Only raise Windows timer resolution while blocking with timeout (zed-industries#48379) editor: Propagate `buffer_font_features` to signatureHelp popover (zed-industries#48653) Add configurable LSP timeout setting (zed-industries#44745) editor: Use buffer_font for folds and change foreground color (zed-industries#48652) lsp: Update root_path for compatibility with language servers (zed-industries#48587) Fix panic with LSP folds on disappearing excerpts (zed-industries#48649) ...
Key changes: - LSP folding ranges support (zed-industries#48611) - textDocument/foldingRange with custom fold text - LSP refactoring (zed-industries#48604) - extracted document_colors, code_lens, folding_ranges into modules - Crate graph restructuring (zed-industries#48602) - terminal moved closer to editor - Side-by-side diff searching (zed-industries#48539) and OpenExcerpts for LHS (zed-industries#48438) - SplittableEditor: sync custom blocks between RHS/LHS (zed-industries#48575) - Thinking effort for Zed/OpenAI providers (zed-industries#48545, zed-industries#48605) - Agent default_model.enable_thinking setting (zed-industries#48536) - Configurable LSP timeout setting (zed-industries#44745) - PaneSearchBarCallbacks global (search bar setup extracted from vim) - Settings migrations for nested platform/channel/profile keys (zed-industries#48550) - Shell parser: I/O redirects, here-documents, compound commands (zed-industries#48635) - Hardened tool authorization: sensitive settings, deferred ops (zed-industries#48641) - rm security bypass fixes (zed-industries#48640, zed-industries#48647) - MCP tool name parsing fix: newline delimiter (zed-industries#48636) - Canonicalize --user-data-dir path (zed-industries#48470) - Fix text_threads_dir XDG spec compliance (zed-industries#45771) - Buffer font for folds (zed-industries#48652) - Multibuffer toolbar layout shift fix (zed-industries#48472) - Editor: tabs bitmask syncing (zed-industries#48366) Conflict resolution: - collab tests: deleted (collab removed) - util/archive.rs, util/shell.rs: deleted (extracted to Obsydian) - copilot_ui/sign_in.rs: kept native_button style - editor_tests.rs: merged imports (kept MoveItemToPaneInDirection, added ViewId/FollowEvent) - lsp_store.rs: took upstream refactored imports, added FoldingRangeData, removed collab imports - main.rs: added PaneSearchBarCallbacks, removed vim::init Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>


Fixes #36818
Release Notes:
global_lsp_settings.request_timeoutsetting to configure the maximum timeout duration for LSP-related operations.Code inspired by prior implementation, though with a few tweaks here & there (like using
serde:defaultand keeping the pre-defined constant in the LSP file).