Version 1.8 of package Eglot has just been released in GNU ELPA. You can now find it in M-x package-list RET.
Eglot describes itself as: Client for Language Server Protocol (LSP) servers More at https://elpa.gnu.org/packages/eglot.html Recent NEWS: # 1.8 (12/1/2022) ##### Multiple servers supported out-of-box for same major mode ([#688][github#688]) In practice, this removes the need for Eglot to "officially" bless one server over another. Thanks to Felicián Németh for the original idea. ##### TRAMP support ([#637][github#637], [#463][github#463], [#84][github#84]) Thanks to Brian Cully for the minimalist approach. (also thanks to Felipe Lema who conducted many early experiments in [#463][github#463]) ##### `eglot-ignored-server-capabilities` now correctly spelled ([#724][github#724]) This user-visible variable used to be spelled `eglot-ignored-server-capabilites`, which is still a valid but obsolete name. ##### Manage cross-referenced files outside project ([#76][github#76], [#686][github#686], [#695][github#695]) This is activated by a new customization option `eglot-extend-to-xref`, which defaults to nil. Thanks to Michael Livshin for the investigation an elegant solution. ##### Code action shortcuts ([#411][github#411]) `M-x eglot-code-actions` accepts an optional `action-kind` argument, specified interactively with `C-u`. Other shortcuts call specific actions directly (`eglot-code-action-inline`, `eglot-code-action-extract`, `eglot-code-action-rewrite`, `eglot-code-action-organize-imports` and `eglot-code-action-quickfix`). One can create own shortcuts for code actions with specific a kind by calling `eglot-code-actions` from elisp. ##### New command `eglot-shutdown-server` ([#643][github#643]) ##### New variable `eglot-withhold-process-id` ([#722][github#722]) If non-nil, Eglot will not send the Emacs process id to the language server. This can be useful when using docker to run a language server. ##### Several new servers have been added to `eglot-server-programs`. - cmake-language-server ([#787][github#787]) - css-languageserver ([#204][github#204], [#769][github#769]) - fortls ([#603][github#603]) - html-languageserver ([#204][github#204], [#769][github#769]) - json-languageserver ([#204][github#204], [#769][github#769]) - lua-lsp ([#721][github#721]) - mint ls ([#750][github#750]) - pyright ([#742][github#742]) - vim-language-server ([#787][github#787]) - yaml-language-server ([#751][github#751]) - zls ([#646][github#646]) # 1.7 (16/12/2020) ##### Support hierarchical symbols in Imenu ([#303][github#303]) Thanks to Ingo Lohmar for the original implementation. ##### Handle multiple "documentation at point" sources ([#439][github#439], [#494][github#494], [#481][github#481], [#454][github#454]) Such sources include as LSP's signature, hover and also the Flymake diagnostic messages. They can all be presented in the echo area (space permitting), or via `C-h .`. For now, composition of different sources can be customized using `eldoc-documentation-strategy`, `eldoc-echo-area-use-multiline-p` and `eldoc-prefer-doc-buffer`. The variables `eglot-put-doc-in-help-buffer` and `eglot-auto-display-help-buffer` have been removed. # 1.6 (16/04/2020) ##### Column offset calculation is now LSP-conform ([#361][github#361]) It seems the majority of servers now comply with the language server specification when it comes to handling non-ASCII texts. Therefore the default values of `eglot-move-to-column-function` and `eglot-current-column-function` have been changed. The documentations of these variables help to restore the old behavior. ##### Support workspace/configuration requests ([#326][github#326]) Also a new section "Per-project server configuration" in the README.md should answer some faq's in this regard. # 1.5 (20/10/2019) Thanks a lot to Felicián Németh, Ingo Lohmar, and everyone else who helped out! ##### Take over Company configuration ([#324][github#324]) Similar to what was already the case with Flymake, Eldoc and Xref, use just the backend that can do something useful in Eglot, `company-capf`. See `eglot-stay-out-of` to opt out of this. ##### New option `eglot-autoshutdown` to disconnect after last buffer killed ([#217][github#217], [#270][github#270]) ... ...
