Previous: User-specific configuration, Up: Advanced server configuration [Contents][Index]
Emacs’s preferred way of representing JSON is via Lisp lists. In Eglot, the syntax of this list is the simplest possible (the one with fewer parenthesis), a plist (see Property Lists in GNU Emacs Lisp Reference Manual).
The plist may be arbitrarily complex, and generally containing other keyword-value property sub-plists corresponding to JSON sub-objects.
For representing the JSON leaf values true, false,
null and {}, you can use the Lisp values t,
:json-false, nil, and eglot-{}, respectively.
JSON arrays are represented as Elisp vectors surrounded by square brackets
(see Vectors in GNU Emacs Lisp Reference Manual).
For example, the plist
(:pylsp (:plugins (:jedi_completion (:include_params t :fuzzy t :cache_for ["pandas" "numpy"]) :pylint (:enabled :json-false))) :gopls (:usePlaceholders t))
is serialized by Eglot to the following JSON text:
{
"pylsp": {
"plugins": {
"jedi_completion": {
"include_params": true,
"fuzzy": true,
"cache_for": [ "pandas", "numpy" ]
},
"pylint": {
"enabled": false
}
}
},
"gopls": {
"usePlaceholders": true
}
}