lsp: Identify language servers by their configuration#35270
Merged
Conversation
This trait is a local counterpart to a dyn ToolchainStore (which is async). We don't want to introduce asynchronity at the ServerTree level, hence we want to query the toolchain synchronously (which was already possible with a local toolchain store anyways, just not convenient).
Co-authored-by: Cole Miller <cole@zed.dev>
df722d0 to
c8873c7
Compare
Co-authored-by: Cole <cole@zed.dev>
a1df550 to
d3e02bb
Compare
Co-authored-by: Lukas Wirth <lukas@zed.dev>
d1fd6f1 to
24c7fa9
Compare
modified/affected by fs operation Co-authored-by: Lukas Wirth <lukas@zed.dev>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
orual
pushed a commit
to orual/zed
that referenced
this pull request
Aug 23, 2025
…#35270) - **WIP: reorganize dispositions** - **Introduce a LocalToolchainStore trait and use it for LspAdapter methods** Closes zed-industries#35782 Closes zed-industries#27331 Release Notes: - Python: Improved propagation of a selected virtual environment into the LSP configuration. This should the make all language-related features such as Go to definition or Find all references more reliable. --------- Co-authored-by: Cole Miller <cole@zed.dev> Co-authored-by: Lukas Wirth <lukas@zed.dev>
FrGoIs
pushed a commit
to FrGoIs/zed
that referenced
this pull request
Sep 29, 2025
…#35270) - **WIP: reorganize dispositions** - **Introduce a LocalToolchainStore trait and use it for LspAdapter methods** Closes zed-industries#35782 Closes zed-industries#27331 Release Notes: - Python: Improved propagation of a selected virtual environment into the LSP configuration. This should the make all language-related features such as Go to definition or Find all references more reliable. --------- Co-authored-by: Cole Miller <cole@zed.dev> Co-authored-by: Lukas Wirth <lukas@zed.dev>
aviatesk
added a commit
to aviatesk/zed
that referenced
this pull request
Jan 22, 2026
`LanguageServerSeed` is used as a key to identify language servers. Previously, it included the entire `LspSettings`, which meant that changing `lsp.<server>.settings` (dynamic configuration) would cause the server to restart unnecessarily. Dynamic settings can be updated via LSP's `workspace/didChangeConfiguration` notification without requiring a server restart. Only `binary` and `initialization_options` should be part of the server identity, as changes to these genuinely require restarting the server. This is a follow-up fix to zed-industries#35270 which introduced `LanguageServerSeed` but inadvertently included dynamic settings in the server identity.
aviatesk
added a commit
to aviatesk/zed
that referenced
this pull request
Jan 22, 2026
`LanguageServerSeed` is used as a key to identify language servers. Previously, it included the entire `LspSettings`, which meant that changing `lsp.<server>.settings` (dynamic configuration) would cause the server to restart unnecessarily. Dynamic settings can be updated via LSP's `workspace/didChangeConfiguration` notification without requiring a server restart. Only `binary` and `initialization_options` should be part of the server identity, as changes to these genuinely require restarting the server. This is a follow-up fix to zed-industries#35270 which introduced `LanguageServerSeed` but inadvertently included dynamic settings in the server identity.
aviatesk
added a commit
to aviatesk/zed
that referenced
this pull request
Jan 22, 2026
`LanguageServerSeed` is used as a key to identify language servers. Previously, it included the entire `LspSettings`, which meant that changing `lsp.<server>.settings` (dynamic configuration) would cause the server to restart unnecessarily. Dynamic settings can be updated via LSP's `workspace/didChangeConfiguration` notification without requiring a server restart. Only `binary` and `initialization_options` should be part of the server identity, as changes to these genuinely require restarting the server. This is a follow-up fix to zed-industries#35270 which introduced `LanguageServerSeed` but inadvertently included dynamic settings in the server identity.
aviatesk
added a commit
to aviatesk/zed
that referenced
this pull request
Jan 26, 2026
`LanguageServerSeed` is used as a key to identify language servers. Previously, it included the entire `LspSettings`, which meant that changing `lsp.<server>.settings` (dynamic configuration) would cause the server to restart unnecessarily. Dynamic settings can be updated via LSP's `workspace/didChangeConfiguration` notification without requiring a server restart. Only `binary` and `initialization_options` should be part of the server identity, as changes to these genuinely require restarting the server. This is a follow-up fix to zed-industries#35270 which introduced `LanguageServerSeed` but inadvertently included dynamic settings in the server identity.
osiewicz
pushed a commit
that referenced
this pull request
Jan 28, 2026
`LanguageServerSeed` is used as a key to identify language servers. Previously, it included the entire `LspSettings`, which meant that changing `lsp.<server>.settings` (dynamic configuration) would cause the server to restart unnecessarily. Dynamic settings can be updated via LSP's `workspace/didChangeConfiguration` notification without requiring a server restart. Only `binary` and `initialization_options` should be part of the server identity, as changes to these genuinely require restarting the server. This is a follow-up fix to #35270 which introduced `LanguageServerSeed` but inadvertently included dynamic settings in the server identity (although I remember that this dynamic settings reflection stopped working pretty recently, so there might be other commits besides #35270 that changed the behavior of `LanguageServerSeed`) Closes #ISSUE Release Notes: - Fixed language servers unnecessarily restarting when changing `lsp.<server>.settings` configuration. Dynamic settings are now properly updated via `workspace/didChangeConfiguration` without requiring a server restart.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #35782
Closes #27331
Release Notes: