emacs-devel
[Top][All Lists]
Advanced

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

Re: Considerations for adding additional default LSP-servers to eglot


From: Eli Zaretskii
Subject: Re: Considerations for adding additional default LSP-servers to eglot
Date: Sat, 25 Jan 2025 15:49:13 +0200

> Date: Sat, 25 Jan 2025 12:00:31 +0100
> From: Jostein Kjønigsen <jostein@secure.kjonigsen.net>
> 
> I think adding eglot/LSP to emacs has been one of the most powerful and 
> transformative changes for OOB
> usefulness when using Emacs for programming.
> 
> LSP has clearly been a popular protocol and almost all languages worth 
> mentioning has a LSP server now.
> The current list of LSP servers maintained in eglot is already impressive, 
> but I find myself needing to
> augment it with servers not yet included.
> 
> Common for those that are included is that they are installed on the system 
> path, and can be invoked
> directly from Emacs without any complicated arguments, or needing to resolve 
> the path of the language
> server itself.
> 
> Common for those I have augmented the list with is the opposite: They are not 
> typically installable in a
> regular single-tool, single-path like matter. They often require complicated 
> arguments.
> 
> The way I usually install them is by installing VSCode, installing the 
> relevant extensions there (which bundles
> the LSP servers), and then reuse those LSP servers from Emacs.
> 
> Entries for these servers typically look like those below:
> 
>     (powershell-mode . ("pwsh"
>                         "-OutputFormat" "Text"
>                         "-File"
>                         ,(car (file-expand-wildcards
>                                (substitute-in-file-name
>                                
> "$HOME/.vscode/extensions/ms-vscode.powershell-*/modules/PowerShellEditorServices/Start-EditorServices.ps1")))
> 
>                         "-Stdio"
>                         "-HostVersion" "1.0"
>                         "-HostName" "Emacs"
>                         "-HostProfileId" "Emacs.Eglot"
>                         "-SessionDetailsPath" "/tmp/emacs"
>                         "-BundledModulesPath"
>                         ,(car (file-expand-wildcards
>                                (substitute-in-file-name
>                                 
> "$HOME/.vscode/extensions/ms-vscode.powershell-*/modules")))
>                       ))
>     (bicep-ts-mode . ("dotnet"
>                       ,(car (file-expand-wildcards
>                              (substitute-in-file-name
>                              
> "$HOME/.vscode/extensions/ms-azuretools.vscode-bicep-*/bicepLanguageServer/Bicep.LangServer.dll")))
>                       ))
> 
> My question is:
> 
> Would entries like this be accepted as patches in mainline Emacs? Or would 
> the fact that they depend on
> other external software to be installed make it a no go?

Doesn't the above assume VSCode is installed?



reply via email to

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