[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?