Version 1.20 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-2026 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.20 (11/1/2026) ** Dramatically faster handling of files with many diagnostics Diagnostic conversion between LSP and Flymake versions is now much faster. Previously, editing, e.g. a Python file with thousands of diagnostics was next to impossible to to periodic interruptions of diagnostic reports. Now it's practically unnoticeable. ** Support for LSP server multiplexers via Rassumfrassum Eglot can now leverage LSP server multiplexer programs like Rassumfrassum (invoked via the 'rass' command) to use multiple language servers in a single buffer. This enables combining spell-checkers with language servers, using multiple servers for the same language (e.g., 'ty' for type checking and 'ruff' for linting in Python), or handling multi-language files like Vue. Some invocations of 'rass' are offered as alternatives in the built-in 'eglot-server-programs' variable. The manual (readable with 'M-x eglot-manual') contains a comprehensive discussion of how to set up and use multiplexers in the new "Multi-server support" chapter. ** Support for pull diagnostics (github#1559, github#1290) For servers supporting the 'diagnosticProvider' capability, Eglot requests diagnostics explicitly rather than relying on sporadic 'publishDiagnostics' notifications, aka. "push diagnostics". The 'tsgo' server is known to support the "pull" variant exclusively, while the 'ty' server is known to support it alongside "push". ** New command 'eglot-momentary-inlay-hints' When bound to a single key in 'eglot-mode-map' this will arrange for inlay hints to be displayed as long as the key is held down, and then hidden shortly after it is released. Emacs doesn't support binding to \"key up\" events, but this function offers an approximation. It relies on measuring your keyboard initial delay and repeat rate, and may not be 100% accurate. ** Support for watching files outside the project (bug#79809) Eglot now supports and advertises the 'relativePatternSupport' sub-feature of 'didChangeWatchedFiles'. Some LSP servers use it to ask for file watches outside the current project's root and so be notified of changes to dependencies that affect the current project. ** Support for semantic tokens (bug#79374) The new minor mode 'eglot-semantic-tokens-mode' provides enhanced syntax highlighting based on the language server's analysis, going beyond traditional regular-expression-based fontification. The 'eglot-semantic-faces' customization group contains options for controlling which token types and modifiers to consider, as well as faces for customizing their appearance. The minor mode is on by default: consult the manual on how to turn it off. ** Reading the Eglot manual in Emacs is easy again The command 'M-x eglot-manual' is now easier to reach and directly drops the user into the manual. * Changes in Eglot 1.19 (23/10/2025) ** Support for call and type hierarchies The new commands 'eglot-show-type-hierarchy' and 'eglot-show-call-hierarchy', when invoked on a symbol, pop up a special buffer showing an interactive tree which represents a hierarchy of sub- and super-types or callers and callees for that symbol. ... ...
