Version 1.18 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-2025 Free Software Foundation, Inc.
See the end of the file for license conditions.

Please send Eglot bug reports to 'bug-gnu-em...@gnu.org', and Cc (or
X-Debbugs-CC) the maintainer 'joaotav...@gmail.com' 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 upcoming Eglot


* Changes in Eglot 1.18 (20/1/2025)

** 'eglot-managed-mode-hook' now run when turning off Eglot (bug#70958)

** Better handling of 'eglot-report-progress'

Eglot no longer advertises the 'workDoneProgress' capability when this
customization variable is set to nil.  This requires a restart of the
server for the change to take effect.

** LSP MarkedString interface is now supported (bug#71353)

Some servers still use this deprecated interface for communicating
documentation snippets.

** Fixes to completion logic (bug#68699, github#1339, github#1349)

These affect mostly the "vanilla" frontend to completions (invoked with
C-M-i).

** More strict completion expansion (bug#72705).

Ensures that "expand common" commands (such as C-M-i or TAB in
third-party frontends) don't result in fewer completions than before
they are called.

** More robust completion results when typing quickly (github#1474, bug#73279)

** Support for 'InsertReplaceEdit' objects (bug#73857)

This allows servers such as Zig's 'zls' to behave better when completion
starts from the middle of an incomplete symbol.

** Experimental support for Eglot-only subprojects (github#1337)

Useful for complex projects with subprojects needing different language
servers.  See associated github issue
https://github.com/joaotavora/eglot/discussions/1337 for examples.

** Support nested {} in server-provided globs (github#1403)

In short, play nice with 'tailwindcss-language-server' which seems to
use this.

** Eglot commands have a 'command-modes' property (bug#70554)

** Fix to function signature display (bug#74914)

** Fix command execution (bug#71642)

** New servers have been added to 'eglot-server-programs'.

- blueprint (bug#70015)
- BasedPyright (bug#69925)
- move-analyzer (bug#69796)
- millet
- nushell (bug#68823)

** Eglot uses an internal 'track-changes.el' library (bug#70077)

This should in theory help smoothen the Eglot's handling of events that
change the buffer.  The library has been problematic in the past, let's
hope we're past that phase.


* Changes in Eglot 1.17 (25/1/2024)

** Fixes to completion (github#847, github#1349)

** Fix code-action gathering for some servers (github#847)

** Experimental support for Eglot-only subprojects

Until project.el's support for subprojects improves, github#1337
describes a reasonably sane way to configure nested sub-projects
within a larger one just for Eglot purposes.


* Changes in Eglot 1.16 (27/12/2023)

** Code actions can be previewed in diff format

The variable 'eglot-confirm-server-edits' replaces the obsolete
'eglot-confirm-server-initiated-edits' and brings about a new
confirmation model for code actions, making it possible to have only
certain commands require user confirmation.  It allows a temporary
'diff-mode' buffer to display the proposed changes, so the user can
apply them one by one.  See bug#60338.

** Completion sorting has been fixed

In some situations, Eglot was not respecting the completion sort order
decided by the language server, falling back on the sort order
determined by the 'flex' completion style instead.  See github#1306.
...
...

Reply via email to