1
Files
flake-nixinator/config/neovim/store/nvim-treesitter/queries/foam/highlights.scm

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"))