Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/slisp/highlights.scm')
| -rw-r--r-- | runtime/queries/slisp/highlights.scm | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/runtime/queries/slisp/highlights.scm b/runtime/queries/slisp/highlights.scm new file mode 100644 index 00000000..a7bf91d8 --- /dev/null +++ b/runtime/queries/slisp/highlights.scm @@ -0,0 +1,74 @@ +;; Keywords +[ "if" "prog" ] @keyword + +;; Let binding +[ "let" ] @keyword + +(let_bindings name: (symbol) @variable) + +;; Apply +(apply_stmt . (symbol) @function) + +;; Use module +[ "use" ] @keyword + +(use_module_global (quote) . (symbol) @namespace) +(use_module_select (quote) . (symbol) @namespace) + +;; Val definition +[ "val" ] @keyword + +(val_definition name: (symbol) @constant) + +;; External definitions +[ "ext" ] @keyword + +(external_definition name: (symbol) @function) +(external_definition signature: (signature (symbol) @variable.parameter (dot) (external_type) @type.builtin)) +(external_definition docstring: (string) @comment) +(external_definition return_type: (external_type) @type.builtin) + +;; Function definitions +[ "def" ] @keyword + +(function_definition name: (symbol) @function) +(function_definition parameters: (parameters (symbol) @variable.parameter)) +(function_definition docstring: (string) @comment) + +;; Macro definitions +[ "mac" ] @keyword + +(macro_definition name: (symbol) @function) +(macro_definition parameters: (parameters (symbol) @variable.parameter)) +(macro_definition docstring: (string) @comment) + +;; Lambda +[ "\\" ] @keyword + +(lambda_stmt parameters: (parameters (symbol) @variable.parameter)) + +;; Atoms +(char) @constant.character +(comment) @comment +(number) @constant.numeric +(string) @string + +;; Punctuation +[ "(" ")" ] @punctuation.bracket + +;; Operators +(dot) @operator +(tilde) @operator +(backquote) @operator +(quote) @operator +(unquote) @operator +(unquote_splice) @operator + +;; Highlight nil t as constant +[ "nil" ] @constant.builtin + +;; Highlight as t as boolean constant +[ "T" ] @constant.builtin.boolean + +;; Highlight variable names used in anamorphic macros. +[ "it" ] @variable.builtin |