136 lines
1.5 KiB
Scheme
136 lines
1.5 KiB
Scheme
(id) @variable
|
|
|
|
(comment) @comment @spell
|
|
|
|
; Literals
|
|
(null) @constant.builtin
|
|
|
|
(string) @string
|
|
|
|
(number) @number
|
|
|
|
[
|
|
(true)
|
|
(false)
|
|
] @boolean
|
|
|
|
; Keywords
|
|
"for" @keyword.repeat
|
|
|
|
"in" @keyword.operator
|
|
|
|
"function" @keyword.function
|
|
|
|
[
|
|
"if"
|
|
"then"
|
|
"else"
|
|
] @keyword.conditional
|
|
|
|
[
|
|
(local)
|
|
(tailstrict)
|
|
"function"
|
|
] @keyword
|
|
|
|
[
|
|
"assert"
|
|
"error"
|
|
] @keyword.exception
|
|
|
|
[
|
|
(dollar)
|
|
(self)
|
|
(super)
|
|
] @variable.builtin
|
|
|
|
((id) @variable.builtin
|
|
(#eq? @variable.builtin "std"))
|
|
|
|
; Operators
|
|
[
|
|
(multiplicative)
|
|
(additive)
|
|
(bitshift)
|
|
(comparison)
|
|
(equality)
|
|
(bitand)
|
|
(bitxor)
|
|
(bitor)
|
|
(and)
|
|
(or)
|
|
(unaryop)
|
|
] @operator
|
|
|
|
; Punctuation
|
|
[
|
|
"["
|
|
"]"
|
|
"{"
|
|
"}"
|
|
"("
|
|
")"
|
|
] @punctuation.bracket
|
|
|
|
[
|
|
"."
|
|
","
|
|
";"
|
|
":"
|
|
] @punctuation.delimiter
|
|
|
|
[
|
|
"::"
|
|
":::"
|
|
] @punctuation.special
|
|
|
|
(field
|
|
(fieldname)
|
|
"+" @punctuation.special)
|
|
|
|
; Imports
|
|
[
|
|
(import)
|
|
(importstr)
|
|
] @keyword.import
|
|
|
|
; Fields
|
|
(fieldname
|
|
(id) @variable.member)
|
|
|
|
(fieldname
|
|
(string
|
|
(string_content) @variable.member))
|
|
|
|
; Functions
|
|
(field
|
|
function: (fieldname
|
|
(id) @function))
|
|
|
|
(field
|
|
function: (fieldname
|
|
(string
|
|
(string_content) @function)))
|
|
|
|
(param
|
|
identifier: (id) @variable.parameter)
|
|
|
|
(bind
|
|
(id) @variable)
|
|
|
|
(bind
|
|
function: (id) @function)
|
|
|
|
; Function call
|
|
(functioncall
|
|
(fieldaccess
|
|
last: (id) @function.call)?
|
|
(fieldaccess_super
|
|
(id) @function.call)?
|
|
(id)? @function.call
|
|
"("
|
|
(args
|
|
(named_argument
|
|
(id) @variable.parameter))?
|
|
")")
|