gnu-emacs-sources
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNU ELPA] Eglot version 1.15


From: ELPA update
Subject: [GNU ELPA] Eglot version 1.15
Date: Thu, 28 Dec 2023 05:03:00 -0500

Version 1.15 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 'bug-gnu-emacs@gnu.org', and Cc (or
X-Debbugs-CC) the maintainer 'joaotavora@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

** Diff previews of edits and new variable 'eglot-confirm-server-edits'

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

** Optimized file-watching capability

Some servers, like the Pyright language server, issue too many file
watching requests.  This change slightly reduces the number of file
watcher objects requested from the operating system, which can be a
problem, particularly on Mac OS.  See github#1228 and github#1226.

** Fixed "onTypeFormatting" feature

For 'newline' commands, Eglot sometimes sent the wrong character code
to the server.  Also made this feature less chatty in the mode-line
and messages buffer.

** Fixed completion sorting

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.

** Improve mouse invocation of code actions

When invoking code actions by middle clicking with the mouse on
Flymake diagnostics, it was often the case that Eglot didn't request
code actions correctly and thus no actions were offered to the user.
This has been fixed. github#1295


* Changes in Eglot 1.15 (29/4/2023)

** Fix LSP "languageId" detection

Many servers today support multiple languages, meaning they can handle
more than one file type in the same connection.  This relies on the
client supplying a ':languageId' string.  Previously, Eglot calculated
this string based on an imperfect heuristic and was often wrong.  See
github#1206.

** Fix problems with missing signature documentation (bug#62687)

** Reworked 'eglot-imenu'

Eglot's Imenu backend (used for M-x imenu among other extensions), has
been reworked.  Most newer servers respond to
'textDocument/documentSymbol' with a vector of 'DocumentSymbol', not
'SymbolInformation'.  It's not worth it trying to make the two formats
resemble each other.  This also lays groundwork supporting a
forthcoming "breadcrumb" feature of bug#58431.

** New command 'eglot-update'

This allows users to easily update to the latest version of Eglot.


* 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
...
...



reply via email to

[Prev in Thread] Current Thread [Next in Thread]