Version 1.14 of package Eglot has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Eglot describes itself as: ================================ The Emacs Client for LSP servers ================================ More at https://elpa.gnu.org/packages/eglot.html ## Summary: Eglot ("Emacs Polyglot") is an Emacs LSP client that stays out of your way. Typing M-x eglot in some source file is often enough to get you started, if the language server you're looking to use is installed in your system. Please refer to the manual, available from https://joaotavora.github.io/eglot/ or from M-x info for more usage instructions. If you wish to contribute changes to Eglot, please do read the user manual first. Additionally, take the following in consideration: ## Recent NEWS: Eglot NEWS -*- outline -*- Copyright (C) 2018-2023 Free Software Foundation, Inc. See the end of the file for license conditions. Please send Eglot bug reports to '[email protected]', and Cc (or X-Debbugs-CC) the maintainer '[email protected]' as well. Please read the chapter titled "Troubleshooting" in the Eglot manual, available https://joaotavora.github.io/eglot/#Troubleshooting-Eglot This file is about changes in Eglot, the Emacs client for LSP (Language Server Protocol) distributed with GNU Emacs since Emacs version 29.1 and with GNU ELPA since 2018. Note: references to some Eglot issues are presented as "github#nnnn". This refers to https://github.com/joaotavora/eglot/issues/. That is, to look up issue github#1234, go to https://github.com/joaotavora/eglot/issues/1234. * Changes in Eglot 1.14 (3/4/2023) ** Faster, more responsive completion Eglot takes advantage of LSP's "isIncomplete" flag in responses to completion requests to drive new completion-caching mechanism for the duration of each completion session. Once a full set of completions is obtained for a given position, the server needn't be contacted in many scenarios, resulting in significantly less communication overhead. This works with the popular Company package and stock completion-at-point interfaces. A variable 'eglot-cache-session-completions', t by default, controls this. The mechanism was tested with ccls, jdtls, pylsp, golsp and clangd. Notably, the C/C++ language server Clangd version 15 has a bug in its "isIcomplete" flag (it is fixed in later versions). If you run into problems, disable this mechanism like so: (add-hook 'c-common-mode-hook (lambda () (setq-local eglot-cache-session-completions nil))) ** At-point documentation less obtrusive in echo area Eglot takes advantage of new features of ElDoc to separate short documentation strings from large ones, sending the former to be shown in the ElDoc's echo area and the latter to be shown in other outlets, such as the *eldoc* buffer obtainable with 'C-h .'. ** New variable 'eglot-prefer-plaintext' Customize this to t to opt-in to docstrings in plain text instead of Markdown. (bug#61373) ** Progress indicators inhabit the mode-line by default To switch to the echo area, customize 'eglot-report-progress' to 'messages'. To switch off progress reporting completely, set to nil. ** Snippet support is easier to enable The user needn't manually activate 'yas-minor-mode' or 'yas-global-mode'. If YASnippet is installed and the server supports snippets, it is used automatically, unless the symbol 'yasnippet' has been added to 'eglot-stay-out-of'. * Changes in Eglot 1.13 (15/03/2023) ** ELPA installations on Emacs 26.3 are supported again. * Changes in Eglot 1.12 (13/03/2023) ** LSP inlay hints are now supported. Inlay hints are small text annotations not unlike diagnostics, but designed to help readability instead of indicating problems. For example, a C++ LSP server can serve hints about positional parameter names in function calls and a variable's automatically deduced type. Emacs can display these hints using overlays, helping the user remember those types and parameter names. ** Longstanding Tramp instability issues solved. The solution involves a Tramp-specific workaround in Eglot. Future Tramp versions will have this problem solved at the origin. The workaround will then be removed. Emacs bug#61350 has more details. (github#859, github#1020, github#883) ** LSP's 'positionEncoding' capability is now supported. The position-encoding scheme (UTF-8, UTF-16 or UTF-32) can now be negotiated with the server. ** More of the user's Eldoc configuration is respected. This change addresses the problems reported in many Elglot reports dating back to early 2021 at least. (github#646, github#894, github#920, github#1031, github#1171). This is unfinished work, as 'eldoc-documentation-strategy' is still set by Eglot during its tenure over a buffer. The default value for ... ...
