project: Allow running multiple instances of a single language server within a single worktree (#22182)
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 `workspaceFolder`s 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 #5108 Release Notes: - Language servers now track their working directory more accurately. --------- Co-authored-by: João <joao@zed.dev>
P
Piotr Osiewicz committed
bed917b0b11660fc616dd3c04df050c0f4895773
Parent: d85fec5
Committed by GitHub <noreply@github.com>
on 1/22/2025, 4:31:14 PM