mirror of https://github.com/helix-editor/helix
Add Scheme support
Skipped scm for now :/ it overlaps with tree-sitter-tsqpull/2530/head
parent
6bd8924436
commit
d25bae844c
@ -0,0 +1,100 @@
|
|||||||
|
(number) @constant.numeric
|
||||||
|
(character) @constant.character
|
||||||
|
(boolean) @constant.builtin.boolean
|
||||||
|
|
||||||
|
[(string)
|
||||||
|
(character)] @string
|
||||||
|
|
||||||
|
(escape_sequence) @constant.character.escape
|
||||||
|
|
||||||
|
[(comment)
|
||||||
|
(block_comment)
|
||||||
|
(directive)] @comment
|
||||||
|
|
||||||
|
[(boolean)
|
||||||
|
(character)] @constant
|
||||||
|
|
||||||
|
((symbol) @function.builtin
|
||||||
|
(#match? @function.builtin "^(eqv\\?|eq\\?|equal\\?)")) ; TODO
|
||||||
|
|
||||||
|
; keywords
|
||||||
|
|
||||||
|
((symbol) @keyword.conditional
|
||||||
|
(#match? @keyword.conditional "^(if|cond|case|when|unless)$"))
|
||||||
|
|
||||||
|
((symbol) @keyword
|
||||||
|
(#match? @keyword
|
||||||
|
"^(define|lambda|begin|do|define-syntax|and|or|if|cond|case|when|unless|else|=>|let|let*|let-syntax|let-values|let*-values|letrec|letrec*|letrec-syntax|set!|syntax-rules|identifier-syntax|quote|unquote|quote-splicing|quasiquote|unquote-splicing|delay|assert|library|export|import|rename|only|except|prefix)$"))
|
||||||
|
|
||||||
|
; special forms
|
||||||
|
|
||||||
|
(list
|
||||||
|
"["
|
||||||
|
(symbol)+ @variable
|
||||||
|
"]")
|
||||||
|
|
||||||
|
(list
|
||||||
|
.
|
||||||
|
(symbol) @_f
|
||||||
|
.
|
||||||
|
(list
|
||||||
|
(symbol) @variable)
|
||||||
|
(#eq? @_f "lambda"))
|
||||||
|
|
||||||
|
(list
|
||||||
|
.
|
||||||
|
(symbol) @_f
|
||||||
|
.
|
||||||
|
(list
|
||||||
|
(list
|
||||||
|
(symbol) @variable))
|
||||||
|
(#match? @_f
|
||||||
|
"^(let|let\\*|let-syntax|let-values|let\\*-values|letrec|letrec\\*|letrec-syntax)$"))
|
||||||
|
|
||||||
|
; operators
|
||||||
|
|
||||||
|
(list
|
||||||
|
.
|
||||||
|
(symbol) @operator
|
||||||
|
(#match? @operator "^([+*/<>=-]|(<=)|(>=))$"))
|
||||||
|
|
||||||
|
; quote
|
||||||
|
|
||||||
|
(abbreviation
|
||||||
|
"'" (symbol)) @constant
|
||||||
|
|
||||||
|
(list
|
||||||
|
.
|
||||||
|
(symbol) @_f
|
||||||
|
(#eq? @_f "quote")) @symbol
|
||||||
|
|
||||||
|
; library
|
||||||
|
|
||||||
|
(list
|
||||||
|
.
|
||||||
|
(symbol) @_lib
|
||||||
|
.
|
||||||
|
(symbol) @namespace
|
||||||
|
|
||||||
|
(#eq? @_lib "library"))
|
||||||
|
|
||||||
|
; procedure
|
||||||
|
|
||||||
|
(list
|
||||||
|
.
|
||||||
|
(symbol) @function)
|
||||||
|
|
||||||
|
;; variables
|
||||||
|
|
||||||
|
((symbol) @variable.builtin
|
||||||
|
(#eq? @variable.builtin "..."))
|
||||||
|
|
||||||
|
(symbol) @variable
|
||||||
|
((symbol) @variable.builtin
|
||||||
|
(#eq? @variable.builtin "."))
|
||||||
|
|
||||||
|
(symbol) @variable
|
||||||
|
|
||||||
|
|
||||||
|
["(" ")" "[" "]" "{" "}"] @punctuation.bracket
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
((comment) @injection.content
|
||||||
|
(#set! injection.language "comment"))
|
||||||
|
|
||||||
|
((block_comment) @injection.content
|
||||||
|
(#set! injection.language "comment"))
|
Loading…
Reference in New Issue