65 lines
1.1 KiB
Scheme
65 lines
1.1 KiB
Scheme
; Comments
|
|
(comment) @comment @spell
|
|
|
|
; Generic Key-value pairs and dictionary keywords
|
|
(key_value
|
|
keyword: (identifier) @function)
|
|
|
|
(dict
|
|
key: (identifier) @type)
|
|
|
|
; Macros
|
|
(macro
|
|
"$" @keyword.conditional
|
|
(prev_scope)* @keyword.conditional
|
|
(identifier)* @module)
|
|
|
|
; Directives
|
|
"#" @keyword.conditional
|
|
|
|
(preproc_call
|
|
directive: (identifier)* @keyword.conditional
|
|
argument: (identifier)* @module)
|
|
|
|
((preproc_call
|
|
argument: (identifier)* @module) @keyword.conditional
|
|
(#eq? @keyword.conditional "ifeq"))
|
|
|
|
((preproc_call) @keyword.conditional
|
|
(#any-of? @keyword.conditional "else" "endif"))
|
|
|
|
; Literals
|
|
(number_literal) @number.float
|
|
|
|
(string_literal) @string
|
|
|
|
(escape_sequence) @string.escape
|
|
|
|
(boolean) @boolean
|
|
|
|
; Treat [m^2 s^-2] the same as if it was put in numbers format
|
|
(dimensions
|
|
dimension: (identifier) @number.float)
|
|
|
|
; Punctuation
|
|
[
|
|
"("
|
|
")"
|
|
"["
|
|
"]"
|
|
"{"
|
|
"}"
|
|
"#{"
|
|
"#}"
|
|
"|-"
|
|
"-|"
|
|
"<!--("
|
|
")-->"
|
|
"$$"
|
|
] @punctuation.bracket
|
|
|
|
";" @punctuation.delimiter
|
|
|
|
((identifier) @constant.builtin
|
|
(#any-of? @constant.builtin "uniform" "non-uniform" "and" "or"))
|