;; Special forms [ "and" "catch" "cond" "condition-case" "defconst" "defvar" "function" "if" "interactive" "lambda" "let" "let*" "or" "prog1" "prog2" "progn" "quote" "save-current-buffer" "save-excursion" "save-restriction" "setq" "setq-default" "unwind-protect" "while" ] @keyword ;; Function definitions [ "defun" "defsubst" ] @keyword (function_definition name: (symbol) @function) (function_definition parameters: (list (symbol) @variable.parameter)) (function_definition docstring: (string) @comment) ;; Highlight macro definitions the same way as function definitions. "defmacro" @keyword (macro_definition name: (symbol) @function) (macro_definition parameters: (list (symbol) @variable.parameter)) (macro_definition docstring: (string) @comment) (comment) @comment (integer) @constant.numeric.integer (float) @constant.numeric.float (char) @constant.character (string) @string [ "(" ")" "#[" "[" "]" ] @punctuation.bracket [ "`" "#'" "'" "," ",@" ] @operator ;; Highlight nil and t as constants, unlike other symbols [ "nil" "t" ] @constant.builtin