diff options
| author | João Távora | 2023-12-27 06:05:43 -0600 |
|---|---|---|
| committer | João Távora | 2023-12-27 08:02:20 -0600 |
| commit | c5a4366b3f3c6ee4178d954e58eb226441d1d2ee (patch) | |
| tree | bbae5fa1107c261fd6ed425a74ff0c453074aadf | |
| parent | d4485838e14718f0a4a53004c4ab4fc8d049ca18 (diff) | |
| download | emacs-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-NEWS | 68 | ||||
| -rw-r--r-- | lisp/jsonrpc.el | 4 | ||||
| -rw-r--r-- | lisp/progmodes/eglot.el | 4 |
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 | ||
| 25 | The variable 'eglot-confirm-server-edits' replaces the obsolete | 28 | The 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 |
| 27 | confirmation model, making it possible to have only certain commands | 30 | confirmation model for code actions, making it possible to have only |
| 28 | require user confirmation. The type of confirmation has also been | 31 | certain commands require user confirmation. It allows a temporary |
| 29 | enhanced. In particular it allows a temporary 'diff-mode' buffer to | 32 | 'diff-mode' buffer to display the proposed changes, so the user can |
| 30 | display the proposed changes, so the user can apply them one by one. | 33 | apply them one by one. See bug#60338. |
| 31 | See bug#60338. | 34 | |
| 35 | ** Completion sorting has been fixed | ||
| 36 | |||
| 37 | In some situations, Eglot was not respecting the completion sort order | ||
| 38 | decided by the language server, falling back on the sort order | ||
| 39 | determined by the 'flex' completion style instead. See github#1306. | ||
| 40 | |||
| 41 | ** Improve mouse invocation of code actions | ||
| 42 | |||
| 43 | When invoking code actions by middle clicking with the mouse on | ||
| 44 | Flymake diagnostics, it was often the case that Eglot didn't request | ||
| 45 | code actions correctly and thus no actions were offered to the user. | ||
| 46 | This 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 | |||
| 37 | watcher objects requested from the operating system, which can be a | 52 | watcher objects requested from the operating system, which can be a |
| 38 | problem, particularly on Mac OS. See github#1228 and github#1226. | 53 | problem, particularly on Mac OS. See github#1228 and github#1226. |
| 39 | 54 | ||
| 40 | ** Fixed "onTypeFormatting" feature | 55 | ** Faster, more accurate, event logging |
| 56 | |||
| 57 | The Eglot events buffer takes advantage of new functionality in | ||
| 58 | Jsonrpc 1.23. By default, Lisp-style printing of JSON-RPC message (a | ||
| 59 | common cause of performance degradation) is disabled. The full | ||
| 60 | original 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 | ||
| 42 | For 'newline' commands, Eglot sometimes sent the wrong character code | 66 | For 'newline' commands, Eglot sometimes sent the wrong character code |
| 43 | to the server. Also made this feature less chatty in the mode-line | 67 | to the server. Also this feature is now less chatty in the mode-line |
| 44 | and messages buffer. | 68 | and messages buffer. |
| 45 | 69 | ||
| 46 | ** Fixed completion sorting | 70 | ** Partial fix C-M-i "middle-of-symbol" completions (github#1339) |
| 47 | 71 | ||
| 48 | In some situations, Eglot was not respecting the completion sort order | 72 | ** Add "Extending Eglot" section to manual |
| 49 | decided by the language server, falling back on the sort order | ||
| 50 | determined 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 | ||
| 54 | When invoking code actions by middle clicking with the mouse on | 76 | ** Supports LSP's 'window/showRequest' (bug#62116) |
| 55 | Flymake diagnostics, it was often the case that Eglot didn't request | 77 | |
| 56 | code actions correctly and thus no actions were offered to the user. | 78 | ** The self-upgrade command is now called 'eglot-upgrade-eglot' |
| 57 | This 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 |