emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: eglot and tramp


From: Michael Albinus
Subject: Re: eglot and tramp
Date: Fri, 18 Nov 2022 16:51:43 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

Michael Albinus <michael.albinus@gmx.de> writes:

Hi Brian,

>>> Great! Since you are a regular eglot+Tramp user, could I ask you for a
>>> test?
>>>
>>> I assume you are using Tramp with ssh or scp. If you also don't use a
>>> password (for example via public key authentication), please try the
>>> following setting:
>>>
>>> --8<---------------cut here---------------start------------->8---
>>> (add-to-list 'tramp-connection-properties
>>>              (list (regexp-quote "/ssh:user@host:")
>>>                    "direct-async-process" t))
>>> --8<---------------cut here---------------end--------------->8---
>>>
>>> "/ssh:user@host:" must be adapted of course, and you must set this prior
>>> opening a connection to this remote path. This should give you better
>>> performance when starting the language server.
>>
>> I use eglot+Tramp with various containers (nspawn, docker, podman),
>> which don't support the ‘tramp-direct-async’ flag, so I'm not sure how
>> helpful this testing would be.
>
> Good point. I haven't checked docker, podman and friends yet whether
> they do suuport direct async processes. Short check: they don't yet. I
> will work on adding this feature in Tramp.
>
>> If it's safe enough, I'd be happy to flag support for direct-async in
>> the methods and do the above test.
>
> I'll come back to you when Tramp is prepared.

I gave it a shot. Appended is a patch, which improves
tramp-handle-make-process in tramp.el. The method specifications in
tramp-container.el are extended by the line

--8<---------------cut here---------------start------------->8---
                (tramp-direct-async (,tramp-default-remote-shell "-c"))
--8<---------------cut here---------------end--------------->8---

Locally, I have tested it with the methods "docker" and "kubernetes", it
seems to work. I couldn't test with "podman", because I haven't such a
system just now.

For "nspawn" I cannot say anything, I don't use it. Perhaps it is
sufficient to add a similar line in its tramp-methods specification,
don't know. You as author might know it better. And if it works
sufficiently, we might also think about integrating it into
tramp-container.el. But this would be another story.

>> -bjc

Best regards, Michael.

Attachment: txtjrjv_uWagC.txt
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]