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.

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)
         (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)))))