-
Notifications
You must be signed in to change notification settings - Fork 200
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
Eglot over TRAMP doesn't recognize "projects" properly #826
Comments
I agree this should be server-agnostic, but I've failed to reproduce it with rust-analzer. Do you still see the issue with the latest Eglot? What's the result of the following command if you start it from the buffer of the remote
|
Turns out that this behaviour is caused by my config: ; disable vc to avoid delays ("Tramp: Checking ‘vc-registered’" msgs etc.)
(setq vc-ignore-dir-regexp
(format "\\(%s\\)\\|\\(%s\\)"
vc-ignore-dir-regexp
tramp-file-name-regexp)) I've omitted this "detail" from from my bug report because I thought it was irrelevant (sorry for that! I should've followed the instructions more closely 🤦🏻♂️). But! There's actually some gain here 😉 While investigating this, I've discovered another thing, which may be a somewhat known problem: having
...but this probably requires a separate bug report, which I'll provide shortly (say, tomorrow) 😺 |
Turns out that I can easily reproduce this error with Eglot |
Acutally, I can reproduce it on current |
...and therefore, it spawns separate language servers for every sub-directory (which doesn't happen when you visit the same "project" locally).
Applying this workaround helps, but as I understand, one of Eglot's design decisions is not to rely on external packages like Projectile - hence I'm reporting this as an issue.
Steps to reproduce:
foobar
"project" with the snippet below:C-x C-f
tofoo.cc
via TRAMP, e.g./ssh:my-remote-machine:foobar/foo/foo.cc
.C-x C-f
tobar.cc
.Result (see in
*Messages*
buffer):Expected:
(i.e. the same outcome when you repeat steps 2-4, modulo TRAMP, on your local machine)
Details:
LSP transcript - M-x eglot-events-buffer (mandatory unless Emacs inoperable)
*EGLOT (foo/c++-mode) events*
(remote):*EGLOT (bar/c++-mode) events*
(remote):*EGLOT (foobar/c++-mode) events*
(local):Backtrace (mandatory, unless no error message seen or heard):
There were no errors/backtraces.
Minimal configuration (mandatory)
The text was updated successfully, but these errors were encountered: