zed/crates/editor/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
..
display_map Fix single line edit prediction detection (#23456) 2025-01-22 10:00:43 -03:00
git Make language registry optional in parse_markdown (#23221) 2025-01-16 03:56:46 -07:00
scroll Clarify logic for Autoscroll::newest() and Autoscroll::fit() (#23048) 2025-01-13 05:33:24 +00:00
signature_help
test Revert "lsp: Parse LSP messages on background thread - again (#23122)" (#23301) 2025-01-17 15:06:10 -07:00
actions.rs Add support for editor::SwapSelectionEnds everywhere (emacs exchange-point-and-mark) (#23428) 2025-01-21 18:14:00 -05:00
blame_entry_tooltip.rs Tweak git blame tooltip design (#17517) 2024-09-06 17:12:20 -03:00
blink_manager.rs
clangd_ext.rs Cleanups preparing for WindowContext refactor (#22475) 2024-12-28 21:36:14 +00:00
code_context_menus.rs Scroll completions menu to new selection on filter, fix corner case (#23478) 2025-01-22 17:54:10 +00:00
display_map.rs vim: Fix clipping when navigating over inlay hints (#22813) 2025-01-08 09:41:43 +00:00
editor.rs project: Allow running multiple instances of a single language server within a single worktree (#23473) 2025-01-22 21:19:02 +01:00
editor_settings.rs docs: Update scrollbar > diagnostics setting section (#22574) 2025-01-02 17:27:17 +00:00
editor_settings_controls.rs Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
editor_tests.rs project: Allow running multiple instances of a single language server within a single worktree (#23473) 2025-01-22 21:19:02 +01:00
element.rs Show "tab Accept" only for zeta (#23463) 2025-01-22 13:19:18 -03:00
git.rs Add a prototype with a multi buffer having all project git changes (#21543) 2024-12-04 23:36:36 +02:00
highlight_matching_bracket.rs Add ability to separately set background color for highlighted brackets (#17566) 2024-09-26 12:48:23 -04:00
hover_links.rs Cleanups preparing for WindowContext refactor (#22475) 2024-12-28 21:36:14 +00:00
hover_popover.rs Do not show copy buttons in editor's hover popovers (#22962) 2025-01-10 14:16:52 +00:00
hunk_diff.rs Support diagnostic navigation in multibuffers (#22620) 2025-01-03 18:07:56 +00:00
indent_guides.rs Return back the logic for indent guides check (#22095) 2024-12-16 22:53:14 +02:00
inlay_hint_cache.rs Move git state to Project (#23208) 2025-01-16 13:57:28 -05:00
inline_completion_tests.rs Show "tab Accept" only for zeta (#23463) 2025-01-22 13:19:18 -03:00
items.rs git: Implement commit creation (#23263) 2025-01-17 18:51:20 +00:00
linked_editing_ranges.rs Improve project search performance (#20211) 2024-11-05 03:49:37 +02:00
lsp_ext.rs project: Allow running multiple instances of a single language server within a single worktree (#23473) 2025-01-22 21:19:02 +01:00
mouse_context_menu.rs Add action editor::OpenContextMenu (#21494) 2024-12-04 14:13:50 -07:00
movement.rs Highlight whitespace-only inline completions with background (#21954) 2024-12-13 13:40:34 +01:00
persistence.rs Add fs::MTime newtype to encourage != instead of > (#20830) 2024-11-21 19:21:18 -07:00
proposed_changes_editor.rs project: Allow running multiple instances of a single language server within a single worktree (#23473) 2025-01-22 21:19:02 +01:00
rust_analyzer_ext.rs Cleanups preparing for WindowContext refactor (#22475) 2024-12-28 21:36:14 +00:00
scroll.rs editor: Add horizontal scrollbar (#19495) 2024-12-17 17:24:59 +01:00
selections_collection.rs Make SelectionsCollection::disjoint_anchor_ranges return an iterator (#22948) 2025-01-10 09:37:46 +00:00
signature_help.rs Make language registry optional in parse_markdown (#23221) 2025-01-16 03:56:46 -07:00
tasks.rs Cleanups preparing for WindowContext refactor (#22475) 2024-12-28 21:36:14 +00:00
test.rs Fix bugs in diff hunk highlighting (#18454) 2024-09-27 11:14:28 -07:00