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

update lsp-mode over TRAMP docs #3841

Closed
whompyjaw opened this issue Dec 6, 2022 · 6 comments · Fixed by #4204
Closed

update lsp-mode over TRAMP docs #3841

whompyjaw opened this issue Dec 6, 2022 · 6 comments · Fixed by #4204

Comments

@whompyjaw
Copy link

Is your feature related or already mentioned on the wishlist? No.

Can you please update the LSP-mode over tramp tutorial? It is sorely unfulfilling for anyone that wants to try to make this work. There are so many broken semi-solutions all over the internet of people basically shooting in the dark and crossing their fingers. I would make a PR, but... I can't make it work no matter what I try, so I can't contribute.

Some examples of more helpful info:
What OS's are known to work?
What remote OS's are known to work?
What is the exact environment required locally and remotely? Beside just "install LSP on local and remote"?
Does it work from Windows Subsystem for Linux?
What if you're using pyenv? (or some other python virtual environment tool)

Basically having an actually fulfilling fleshed out example would just be way more helpful.

https://emacs-lsp.github.io/lsp-mode/page/remote/

@yyoncho
Copy link
Member

yyoncho commented Dec 6, 2022

tramp support will be rewritten and will work OOTB with little/no configuration. Back then when I implemented tramp support it had tons of bizzare issues(e. g. for some os configurations it converts \n to \r) which I was unable to reproduce and fix locally. After eglot integration was implemented they create a way that will work always. I will port that to lsp-mode.

@whompyjaw
Copy link
Author

That would be great! What is the ETA? ^_^.
Unfortunately I can't even get eglot to work either. I thought that one was suppose to "just work" as well, but... Not for me. I assume it's because I am trying to do this from WSL2, or work server, or pyenv or something in my setup. 🤷

@yyoncho
Copy link
Member

yyoncho commented Dec 8, 2022

@saltsucker it will be soon. But IMHO the overall experience won't be good anyway if you want to use it for serious work it may not perform well(due to blocking IO). FWIW if you want to connect to docker container there are alternatives.

@whompyjaw
Copy link
Author

@saltsucker it will be soon. But IMHO the overall experience won't be good anyway if you want to use it for serious work it may not perform well(due to blocking IO). FWIW if you want to connect to docker container there are alternatives.

Ya... I had a feeling it was going to be a laggy experience (if that's what you mean). But VSCode can do it well (iirc, haven't used it in a while). Does that have non-blocking IO?

I am not familiar with the docker way, so I am not sure what you mean. I want TRAMP so I can remote into my work servers. Navigate them, work on projects, etc. How does docker fit into that workflow? Spinning up a docker container on work server and trying to TRAMP into that from my PC doesn't seem better.

What other alternatives can I try? I think I tried sshfs and I don't think that worked well either.

@cpoile
Copy link

cpoile commented Oct 19, 2023

@yyoncho Was there any success in getting this to work? (Appreciate your help!)

@yyoncho
Copy link
Member

yyoncho commented Oct 26, 2023

@cpoile I am working on this right now.

yyoncho added a commit to yyoncho/lsp-mode that referenced this issue Oct 27, 2023
- This fixes the implementation of `lsp-mode` tramp support. After this PR the
remote clients will be automatically registered and in most of the cases it will
work out of the box. The remote connection is managed to a way similar to what
eglot does.

Fixes emacs-lsp#4158
Fixes emacs-lsp#4150
Fixes emacs-lsp#4158
Fixes emacs-lsp#4150
Fixes emacs-lsp#3841
Fixes emacs-lsp#3642
Fixes emacs-lsp#3579
Fixes emacs-lsp#3530
Fixes emacs-lsp#3491
Fixes emacs-lsp#3490
Fixes emacs-lsp#3391
Fixes emacs-lsp#3369
Fixes emacs-lsp#3364
Fixes emacs-lsp#3020
Fixes emacs-lsp#3018
Fixes emacs-lsp#3020
yyoncho added a commit to yyoncho/lsp-mode that referenced this issue Oct 30, 2023
- This fixes the implementation of `lsp-mode` tramp support. After this PR the
remote clients will be automatically registered and in most of the cases it will
work out of the box. The remote connection is managed to a way similar to what
eglot does.

Fixes emacs-lsp#4158
Fixes emacs-lsp#4150
Fixes emacs-lsp#4158
Fixes emacs-lsp#4150
Fixes emacs-lsp#3841
Fixes emacs-lsp#3642
Fixes emacs-lsp#3579
Fixes emacs-lsp#3530
Fixes emacs-lsp#3491
Fixes emacs-lsp#3490
Fixes emacs-lsp#3391
Fixes emacs-lsp#3369
Fixes emacs-lsp#3364
Fixes emacs-lsp#3020
Fixes emacs-lsp#3018
Fixes emacs-lsp#3020
yyoncho added a commit that referenced this issue Nov 1, 2023
* Fix lsp-mode's tramp support

- This fixes the implementation of `lsp-mode` tramp support. After this PR the
remote clients will be automatically registered and in most of the cases it will
work out of the box. The remote connection is managed to a way similar to what
eglot does.

Fixes #4158
Fixes #4150
Fixes #4158
Fixes #4150
Fixes #3841
Fixes #3642
Fixes #3579
Fixes #3530
Fixes #3491
Fixes #3490
Fixes #3391
Fixes #3369
Fixes #3364
Fixes #3020
Fixes #3018
Fixes #3020

* Use executable-find with remote = t everywhere
yyoncho added a commit to yyoncho/lsp-mode that referenced this issue Nov 2, 2023
* Fix lsp-mode's tramp support

- This fixes the implementation of `lsp-mode` tramp support. After this PR the
remote clients will be automatically registered and in most of the cases it will
work out of the box. The remote connection is managed to a way similar to what
eglot does.

Fixes emacs-lsp#4158
Fixes emacs-lsp#4150
Fixes emacs-lsp#4158
Fixes emacs-lsp#4150
Fixes emacs-lsp#3841
Fixes emacs-lsp#3642
Fixes emacs-lsp#3579
Fixes emacs-lsp#3530
Fixes emacs-lsp#3491
Fixes emacs-lsp#3490
Fixes emacs-lsp#3391
Fixes emacs-lsp#3369
Fixes emacs-lsp#3364
Fixes emacs-lsp#3020
Fixes emacs-lsp#3018
Fixes emacs-lsp#3020

* Use executable-find with remote = t everywhere
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants