aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoão Távora2023-12-27 06:05:43 -0600
committerJoão Távora2023-12-27 08:02:20 -0600
commitc5a4366b3f3c6ee4178d954e58eb226441d1d2ee (patch)
treebbae5fa1107c261fd6ed425a74ff0c453074aadf
parentd4485838e14718f0a4a53004c4ab4fc8d049ca18 (diff)
downloademacs-c5a4366b3f3c6ee4178d954e58eb226441d1d2ee.tar.gz
emacs-c5a4366b3f3c6ee4178d954e58eb226441d1d2ee.zip
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
-rw-r--r--etc/EGLOT-NEWS68
-rw-r--r--lisp/jsonrpc.el4
-rw-r--r--lisp/progmodes/eglot.el4
3 files changed, 55 insertions, 21 deletions
diff --git a/etc/EGLOT-NEWS b/etc/EGLOT-NEWS
index 2f54dc43cbf..03feaabc9d8 100644
--- a/etc/EGLOT-NEWS
+++ b/etc/EGLOT-NEWS
@@ -20,15 +20,30 @@ https://github.com/joaotavora/eglot/issues/1234.
20 20
21* Changes in upcoming Eglot 21* Changes in upcoming Eglot
22 22
23** Diff previews of edits and new variable 'eglot-confirm-server-edits' 23
24* Changes in Eglot 1.16 (27/12/2023)
25
26** Code actions can be previewed in diff format
24 27
25The variable 'eglot-confirm-server-edits' replaces the obsolete 28The variable 'eglot-confirm-server-edits' replaces the obsolete
26'eglot-confirm-server-initiated-edits' and brings about a new 29'eglot-confirm-server-initiated-edits' and brings about a new
27confirmation model, making it possible to have only certain commands 30confirmation model for code actions, making it possible to have only
28require user confirmation. The type of confirmation has also been 31certain commands require user confirmation. It allows a temporary
29enhanced. In particular it allows a temporary 'diff-mode' buffer to 32'diff-mode' buffer to display the proposed changes, so the user can
30display the proposed changes, so the user can apply them one by one. 33apply them one by one. See bug#60338.
31See bug#60338. 34
35** Completion sorting has been fixed
36
37In some situations, Eglot was not respecting the completion sort order
38decided by the language server, falling back on the sort order
39determined by the 'flex' completion style instead. See github#1306.
40
41** Improve mouse invocation of code actions
42
43When invoking code actions by middle clicking with the mouse on
44Flymake diagnostics, it was often the case that Eglot didn't request
45code actions correctly and thus no actions were offered to the user.
46This has been fixed. See github#1295.
32 47
33** Optimized file-watching capability 48** Optimized file-watching capability
34 49
@@ -37,24 +52,43 @@ watching requests. This change slightly reduces the number of file
37watcher objects requested from the operating system, which can be a 52watcher objects requested from the operating system, which can be a
38problem, particularly on Mac OS. See github#1228 and github#1226. 53problem, particularly on Mac OS. See github#1228 and github#1226.
39 54
40** Fixed "onTypeFormatting" feature 55** Faster, more accurate, event logging
56
57The Eglot events buffer takes advantage of new functionality in
58Jsonrpc 1.23. By default, Lisp-style printing of JSON-RPC message (a
59common cause of performance degradation) is disabled. The full
60original JSON message is presented instead. See new variable
61'eglot-events-buffer-config', which replaces the obsolete
62'eglot-events-buffer-size'.
63
64** 'textdocument/onTypeFormatting' feature has been fixed
41 65
42For 'newline' commands, Eglot sometimes sent the wrong character code 66For 'newline' commands, Eglot sometimes sent the wrong character code
43to the server. Also made this feature less chatty in the mode-line 67to the server. Also this feature is now less chatty in the mode-line
44and messages buffer. 68and messages buffer.
45 69
46** Fixed completion sorting 70** Partial fix C-M-i "middle-of-symbol" completions (github#1339)
47 71
48In some situations, Eglot was not respecting the completion sort order 72** Add "Extending Eglot" section to manual
49decided by the language server, falling back on the sort order
50determined by the 'flex' completion style instead. See github#1306.
51 73
52** Improve mouse invocation of code actions 74** Fixed Elisp interface 'eglot-lsp-context' (github#1336, github#1337)
53 75
54When invoking code actions by middle clicking with the mouse on 76** Supports LSP's 'window/showRequest' (bug#62116)
55Flymake diagnostics, it was often the case that Eglot didn't request 77
56code actions correctly and thus no actions were offered to the user. 78** The self-upgrade command is now called 'eglot-upgrade-eglot'
57This has been fixed. github#1295 79
80** Newly added directories also watched (github#1228)
81
82** Send correct ':language-id' for JavaScript server (bug#67150)
83
84** New servers have been added to 'eglot-server-programs'.
85
86- nls (bug#63603)
87- nixd (bug#64214)
88- lexical (bug#65359)
89- terraform-ls (bug#65671)
90- ruff-lsp (bug#67441)
91- uiua (bug#67850)
58 92
59 93
60* Changes in Eglot 1.15 (29/4/2023) 94* 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.")
1003 (or method "") 1003 (or method "")
1004 (if id (format "[%s]" id) ""))))) 1004 (if id (format "[%s]" id) "")))))
1005 (msg 1005 (msg
1006 (cond ((eq format 'full) 1006 (cond (nil(eq format 'full)
1007 (format "%s%s\n" preamble (or json log-text))) 1007 (format "%s%s\n" preamble (or json log-text)))
1008 ((eq format 'short) 1008 (nil(eq format 'short)
1009 (format "%s%s\n" preamble (or log-text ""))) 1009 (format "%s%s\n" preamble (or log-text "")))
1010 (t 1010 (t
1011 (format "%s%s" preamble 1011 (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 @@
2 2
3;; Copyright (C) 2018-2023 Free Software Foundation, Inc. 3;; Copyright (C) 2018-2023 Free Software Foundation, Inc.
4 4
5;; Version: 1.15 5;; Version: 1.16
6;; Author: João Távora <joaotavora@gmail.com> 6;; Author: João Távora <joaotavora@gmail.com>
7;; Maintainer: João Távora <joaotavora@gmail.com> 7;; Maintainer: João Távora <joaotavora@gmail.com>
8;; URL: https://github.com/joaotavora/eglot 8;; URL: https://github.com/joaotavora/eglot
9;; Keywords: convenience, languages 9;; Keywords: convenience, languages
10;; 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")) 10;; 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"))
11 11
12;; This is a GNU ELPA :core package. Avoid adding functionality 12;; This is a GNU ELPA :core package. Avoid adding functionality
13;; that is not available in the version of Emacs recorded above or any 13;; that is not available in the version of Emacs recorded above or any