Version 1.7 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.7 (upcoming) ##### 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]) ##### Fix completion support ([#235][github#235], [#313][github#313], [#311][github#311], [#279][github#279]) Among other things, consider LSP's "filterText" cookies, which enables a kind of poor-man's flex-matching for some backends. ##### Support LSP's "goto declaration/implementation/typeDefinition" ([#302][github#302]) ##### New option `eglot-send-changes-idle-time` ([#258][github#258]) ##### Prevent Eldoc flicker when moving around ([#198][github#198]) ##### Show large docs in help buffer instead of echo area by default ([#198][github#198]) Also add two new customization variables `eglot-put-doc-in-help-buffer` and `eglot-auto-display-help-buffer`. ##### Add built-in support for Go, Elixir and Ada ([#304][github#304], [#264][github#264], [#316][github#316]) # 1.4 (5/1/2019) ##### Correct param highlighting in the first line of signature ##### Display documentation strings with `gfm-view-mode` ##### Remove hard dependencies on `flymake-mode` You can turn it off now in buffers managed by Eglot. ##### Run connection hooks with proper directory local variables ([#196][github#196]) This fixes issues with suspiciously empty `didChangeConfiguration` messages that are supposed to communicate parameters from a directory-set `eglot-workspace-configuration`. ##### Fix completion sorting ([#190][github#190]) ##### Take over Flymake and Eldoc completely while managing buffers No longer try to add Eglot's facilities to existing facilities in these two domains. # 1.3 (10/12/2018) ##### Control strictness towards incoming LSP messages ([#144][github#144], [#156][github#156]) ##### Add brief context after `xref-find-references` when available ([#52][github#52]) ##### Support `completionContext` to help servers like `ccls`. ##### Use Flymake from GNU ELPA ([#178][github#178]) # 1.2 (23/11/2018) ##### Support snippet completions ([#50][github#50]) Use `yasnippet.el` for this, if it is installed. ##### Implement `workspace/didChangeConfiguration` ([#29][github#29]) ##### Handle experimental/unknown server methods gracefully ([#39][github#39]) ##### Accept functions as entries in `eglot-server-programs` ([#63][github#63]) `CONTACT` in the `(MAJOR-MODE . CONTACT)` associat... ...
