From c5a4366b3f3c6ee4178d954e58eb226441d1d2ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Wed, 27 Dec 2023 06:05:43 -0600 Subject: [PATCH] Eglot: bump to 1.16 * etc/EGLOT-NEWS: Update. * lisp/progmodes/eglot.el (Version): Bump to 1.15 (Package-Requires): Bump jsonrpc depedency to 1.23 --- etc/EGLOT-NEWS | 76 +++++++++++++++++++++++++++++------------ lisp/jsonrpc.el | 4 +-- lisp/progmodes/eglot.el | 4 +-- 3 files changed, 59 insertions(+), 25 deletions(-) diff --git a/etc/EGLOT-NEWS b/etc/EGLOT-NEWS index 2f54dc43cbf..03feaabc9d8 100644 --- a/etc/EGLOT-NEWS +++ b/etc/EGLOT-NEWS @@ -20,30 +20,19 @@ https://github.com/joaotavora/eglot/issues/1234. * Changes in upcoming Eglot -** Diff previews of edits and new variable 'eglot-confirm-server-edits' + +* 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, 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. +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. -** 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 +** 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 @@ -54,7 +43,52 @@ determined by the 'flex' completion style instead. See github#1306. 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 +This has been fixed. See github#1295. + +** 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. + +** Faster, more accurate, event logging + +The Eglot events buffer takes advantage of new functionality in +Jsonrpc 1.23. By default, Lisp-style printing of JSON-RPC message (a +common cause of performance degradation) is disabled. The full +original JSON message is presented instead. See new variable +'eglot-events-buffer-config', which replaces the obsolete +'eglot-events-buffer-size'. + +** 'textdocument/onTypeFormatting' feature has been fixed + +For 'newline' commands, Eglot sometimes sent the wrong character code +to the server. Also this feature is now less chatty in the mode-line +and messages buffer. + +** Partial fix C-M-i "middle-of-symbol" completions (github#1339) + +** Add "Extending Eglot" section to manual + +** Fixed Elisp interface 'eglot-lsp-context' (github#1336, github#1337) + +** Supports LSP's 'window/showRequest' (bug#62116) + +** The self-upgrade command is now called 'eglot-upgrade-eglot' + +** Newly added directories also watched (github#1228) + +** Send correct ':language-id' for JavaScript server (bug#67150) + +** New servers have been added to 'eglot-server-programs'. + +- nls (bug#63603) +- nixd (bug#64214) +- lexical (bug#65359) +- terraform-ls (bug#65671) +- ruff-lsp (bug#67441) +- uiua (bug#67850) * Changes in Eglot 1.15 (29/4/2023) diff --git a/lisp/jsonrpc.el b/lisp/jsonrpc.el index b11fe1a86cc..5ce72eac77e 100644 --- a/lisp/jsonrpc.el +++ b/lisp/jsonrpc.el @@ -1003,9 +1003,9 @@ of the API instead.") (or method "") (if id (format "[%s]" id) ""))))) (msg - (cond ((eq format 'full) + (cond (nil(eq format 'full) (format "%s%s\n" preamble (or json log-text))) - ((eq format 'short) + (nil(eq format 'short) (format "%s%s\n" preamble (or log-text ""))) (t (format "%s%s" preamble diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 8ff2711ea85..1b593439d62 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -2,12 +2,12 @@ ;; Copyright (C) 2018-2023 Free Software Foundation, Inc. -;; Version: 1.15 +;; Version: 1.16 ;; Author: João Távora ;; Maintainer: João Távora ;; URL: https://github.com/joaotavora/eglot ;; Keywords: convenience, languages -;; Package-Requires: ((emacs "26.3") (jsonrpc "1.0.16") (flymake "1.2.1") (project "0.9.8") (xref "1.6.2") (eldoc "1.14.0") (seq "2.23") (external-completion "0.1")) +;; Package-Requires: ((emacs "26.3") (jsonrpc "1.0.23") (flymake "1.2.1") (project "0.9.8") (xref "1.6.2") (eldoc "1.14.0") (seq "2.23") (external-completion "0.1")) ;; This is a GNU ELPA :core package. Avoid adding functionality ;; that is not available in the version of Emacs recorded above or any