mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 09:26:19 +04:00
73 lines
1.1 KiB
Scheme
73 lines
1.1 KiB
Scheme
|
;; 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
|