ZIm/crates/language/src
Piotr Osiewicz 08b3c03241
project: Allow running multiple instances of a single language server within a single worktree (#23473)
This PR introduces a new entity called Project Tree which is responsible
for finding subprojects within a worktree;
a subproject is a language-specific subset of a worktree which should be
accurately tracked on the language server side. We'll have an ability to
set multiple disjoint workspaceFolders on language server side OR spawn
multiple instances of a single language server (which will be the case
with e.g. Python language servers, as they need to interact with
multiple disjoint virtual environments).
Project Tree assumes that projects of the same LspAdapter kind cannot
overlap. Additionally project nesting is not allowed within the scope of
a single LspAdapter.

Closes https://github.com/zed-industries/zed/issues/5108
Re-lands #22182 which I had to revert due to merging it into todays
Preview.

Release Notes:

- Language servers now track their working directory more accurately.

---------

Co-authored-by: João <joao@zed.dev>
2025-01-22 21:19:02 +01:00
..
syntax_map Use standard injection.language and injection.content captures (#22268) 2025-01-07 18:17:49 +00:00
buffer.rs Make language registry optional in parse_markdown (#23221) 2025-01-16 03:56:46 -07:00
buffer_tests.rs Use standard injection.language and injection.content captures (#22268) 2025-01-07 18:17:49 +00:00
diagnostic_set.rs Add validation in LspCommand::to_lsp + check for inverted ranges (#22731) 2025-01-06 22:00:36 +00:00
highlight_map.rs Docs for indent_size_for_line and co 2024-01-09 20:50:34 +01:00
language.rs project: Allow running multiple instances of a single language server within a single worktree (#23473) 2025-01-22 21:19:02 +01:00
language_registry.rs project: Allow running multiple instances of a single language server within a single worktree (#23473) 2025-01-22 21:19:02 +01:00
language_settings.rs settings: Rename 'zeta' to 'zed' (#23174) 2025-01-15 10:53:30 +00:00
markdown.rs Make language registry optional in parse_markdown (#23221) 2025-01-16 03:56:46 -07:00
outline.rs Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
proto.rs lsp: Track completion triggers for each language separately (#20471) 2024-11-10 10:29:10 +01:00
syntax_map.rs Expand diagnostic excerpts using heuristics on syntactic information from TreeSitter (#21942) 2024-12-20 22:42:18 +00:00
task_context.rs tasks: Add ability to query active toolchains for languages (#20667) 2024-11-14 14:37:37 +01:00
toolchain.rs toolchains: Do not use as_json representation for PartialEq (#21682) 2024-12-07 14:52:55 +01:00