Variable: eglot-semantic-token-types

eglot-semantic-token-types is a customizable variable defined in eglot.el.gz.

Value

("namespace" "type" "class" "enum" "interface" "struct"
 "typeParameter" "parameter" "variable" "property" "enumMember"
 "event" "function" "method" "macro" "keyword" "modifier" "comment"
 "string" "number" "regexp" "operator" "decorator")

Documentation

LSP-supplied semantic types Eglot should consider.

This variable was added, or its default value changed, in Eglot version 1.20.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/eglot.el.gz
;;; Semantic tokens
(defmacro eglot--semtok-define-things ()
  (cl-flet ((def-it (name def)
              `(defface ,(intern (format "eglot-semantic-%s" name))
                 '((t (:inherit ,def)))
                 ,(format "Face for painting a `%s' LSP semantic token" name)
                 :group 'eglot-semantic-fontification)))
    (let ((types (mapcar #'car eglot--semtok-types))
          (modifiers (mapcar #'car eglot--semtok-modifiers)))
      `(progn
         (defgroup eglot-semantic-faces nil
           "Faces and options for LSP semantic fontification." :group 'eglot)
         ,@(cl-loop for (n . d) in eglot--semtok-types collect (def-it n d))
         ,@(cl-loop for (n . d) in eglot--semtok-modifiers collect (def-it n d))
         (defcustom eglot-semantic-token-types
           ',types "LSP-supplied semantic types Eglot should consider."
           :type '(set ,@(mapcar (lambda (o) `(const ,o)) types))
           :group 'eglot-semantic-fontification
           :package-version '(Eglot . "1.20"))
         (defcustom eglot-semantic-token-modifiers
           ',modifiers "LSP-supplied semantic modifiers Eglot should consider."
           :type '(set ,@(mapcar (lambda (o) `(const ,o)) modifiers))
           :group 'eglot-semantic-fontification
           :package-version '(Eglot . "1.20"))))))