Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

project: Allow running multiple instances of a single language server within a single worktree #23473

Merged
merged 110 commits into from
Jan 22, 2025

Conversation

osiewicz
Copy link
Contributor

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 #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.

@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label Jan 22, 2025
@osiewicz osiewicz merged commit 08b3c03 into main Jan 22, 2025
23 checks passed
@osiewicz osiewicz deleted the lsp-tree branch January 22, 2025 20:19
@RemcoSmitsDev
Copy link
Contributor

Hey Piotr, great work btw! But this PR seem to break a couple of the language server features for vtsls.
I'm still getting auto-completion and popover information when I hover over a variable, but that's about it.

All the features in the screenshot are not working anymore, switching back to preview/stable fixed it tho.
Screenshot 2025-01-23 at 09 25 27

@SomeoneToIgnore

This comment was marked as off-topic.

SomeoneToIgnore added a commit that referenced this pull request Jan 23, 2025
…e server within a single worktree (#23473)"

This reverts commit 08b3c03.
@osiewicz
Copy link
Contributor Author

image
Breakage was expected, but not for VTSLS of all the things 😅

osiewicz added a commit that referenced this pull request Jan 23, 2025
These tests were adjusted in \#23473 but now that the detached worktrees work it should be fine to go back
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-signed The user has signed the Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rust Analyzer doesn't work with multiple subprojects
3 participants