summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorStefan Kangas <stefankangas@gmail.com>2023-03-20 06:30:30 +0100
committerStefan Kangas <stefankangas@gmail.com>2023-03-20 06:30:30 +0100
commitc194a31fc4581125afa202e1641e3f2f54cd98bd (patch)
tree4400a703f7fcc8210ab16431dbd137ebe6d3aa21 /doc
parent32bfeaf007046b8cdba2dd5aa5f5a556652ccb23 (diff)
parent028f11027384b6fb6807ea4057073e3be4003e9e (diff)
downloademacs-c194a31fc4581125afa202e1641e3f2f54cd98bd.tar.gz
Merge from origin/emacs-29
028f1102738 Fix quoting of font-family in 'hfy-family' 4cb8a850b08 ; Tweak doc/misc/eglot.texi d5d4959ed7d Document how to construct JSONRPC arrays in Eglot manual 078cf512eef * test/infra/Dockerfile.emba: Use debian:bullseye. 61adb44318a * configure.ac: Fix native comp compatibility check (bug#... d814c249f44 * test/infra/Dockerfile.emba: Install clangd. 27edd7f88cb Remove 'package-vc--query-spec' 39fea115515 Do not store :lisp-dir in package descriptors 168165178f3 Use 'package-vc-selected-packages' to store package specs
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/package.texi23
-rw-r--r--doc/misc/eglot.texi30
2 files changed, 18 insertions, 35 deletions
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
index d993b7b071f..7a2bc11d03c 100644
--- a/doc/emacs/package.texi
+++ b/doc/emacs/package.texi
@@ -558,29 +558,6 @@ regular package listing. If you just wish to clone the source of a
package, without adding it to the package list, use
@code{package-vc-checkout}.
-@vindex package-vc-selected-packages
-@findex package-vc-install-selected-packages
- An alternative way to use @code{package-vc-install} is via the
-@code{package-vc-selected-packages} user option. This is an alist of
-packages to install, where each key is a package name and the value is
-@code{nil}, indicating that any revision is to install, a string,
-indicating a specific revision or a package specification plist. The
-side effect of setting the user option is to install the package, but
-the process can also be manually triggered using the function
-@code{package-vc-install-selected-packages}. Here is an example of
-how the user option:
-
-@example
-@group
-(setopt package-vc-selected-packages
- '((modus-themes . "0f39eb3fd9") ;specific revision
- (auctex . nil) ;any revision
- (foo ;a package specification
- :url "https://git.sv.gnu.org/r/foo-mode.git"
- :branch "trunk")))
-@end group
-@end example
-
@findex package-report-bug
@findex package-vc-prepare-patch
With the source checkout, you might want to reproduce a bug against
diff --git a/doc/misc/eglot.texi b/doc/misc/eglot.texi
index 735da5f0163..85f83ee4b26 100644
--- a/doc/misc/eglot.texi
+++ b/doc/misc/eglot.texi
@@ -977,9 +977,9 @@ facilities.
Though many language servers work well out-of-the-box, most allow
fine-grained control of their operation via specific configuration
-options that vary from server to server. A small number of servers
-require such special configuration to work acceptably, or even to work
-at all.
+options that are transmitted over the LSP protocol and vary from
+server to server. A small number of servers require such special
+configuration to work acceptably, or even to work at all.
After having setup a server executable program in
@code{eglot-server-programs} (@pxref{Setting Up LSP Servers}) and
@@ -1016,8 +1016,9 @@ server reads the file @file{~/.config/pycodestyle} for user
configuration. The @command{clangd} C/C++ server reads both
@file{~/.config/clangd/config.yaml} for user configuration and
@file{.clangd} for project configuration. It may be advantageous to
-use these mechanisms instead of Eglot's, as the latter have the
-advantage of working with other LSP clients.
+use these mechanisms instead of Eglot's, as this will probably work
+with other LSP clients and may be easier to debug than options riding
+on the LSP wire.
@node Project-specific configuration
@section Project-specific configuration
@@ -1201,7 +1202,7 @@ the LSP handshake. This is done using the
The argument @code{(:compilationDatabasePath "/tmp")} is Emacs's
representation in plist format of a simple JSON object
@code{@{"compilationDatabasePath": "/tmp"@}}. To learn how to
-represent more deeply nested options in this format, @xref{JSONRPC
+represent more deeply nested options in this format, @pxref{JSONRPC
objects in Elisp}.
In this case, the two examples achieve exactly the same, but notice
@@ -1214,7 +1215,7 @@ supported. It consists of @emph{globally} setting
@code{eglot-workspace-configuration}, a variable originally intended
for project-specific configuration. This has the same effect as
giving all your projects a certain default configuration, as described
-in @xref{Project-specific configuration}. Here is an example.
+in @ref{Project-specific configuration}. Here is an example:
@lisp
(setq-default eglot-workspace-configuration
@@ -1241,17 +1242,21 @@ keyword-value property sub-plists corresponding to JSON sub-objects.
For representing the JSON leaf values @code{true}, @code{false},
@code{null} and @code{@{@}}, you can use the Lisp values @code{t},
@code{:json-false}, @code{nil}, and @code{eglot-@{@}}, respectively.
+JSON arrays are represented as Elisp vectors surrounded by square brackets
+(@pxref{Vectors,,,elisp,GNU Emacs Lisp Reference Manual}).
-For example, this plist:
+For example, the plist
@lisp
(:pylsp (:plugins (:jedi_completion (:include_params t
- :fuzzy t)
- :pylint (:enabled :json-false)))
+ :fuzzy t
+ :cache_for ["pandas" "numpy"]
+ :pylint (:enabled :json-false))))
:gopls (:usePlaceholders t))
@end lisp
-Is serialized by Eglot to the following JSON text:
+@noindent
+is serialized by Eglot to the following JSON text:
@example
@{
@@ -1259,7 +1264,8 @@ Is serialized by Eglot to the following JSON text:
"plugins": @{
"jedi_completion": @{
"include_params": true,
- "fuzzy": true
+ "fuzzy": true,
+ "cache_for": [ "pandas", "numpy" ],
@},
"pylint": @{
"enabled": false