1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-27 12:10:06 +08:00
SpaceVim/bundle/nvim-treesitter/queries/ninja/highlights.scm
2022-04-14 12:01:23 +08:00

99 lines
2.1 KiB
Scheme
Vendored

[
"default"
"pool"
"rule"
"build"
] @keyword
[
"include"
"subninja"
] @include
[
":"
] @punctuation.delimiter
[
"="
"|"
"||"
"|@"
] @operator
[
"$"
"{"
"}"
] @punctuation.special
;;
;; Names
;; =====
(pool name: (identifier) @type)
(rule name: (identifier) @function)
(let name: (identifier) @constant)
(expansion (identifier) @constant)
(build rule: (identifier) @function)
;;
;; Paths and Text
;; ==============
(path) @string.special
(text) @string
;;
;; Builtins
;; ========
(pool name: (identifier) @type.builtin
(#any-of? @type.builtin "console"))
(build rule: (identifier) @function.builtin
(#any-of? @function.builtin "phony" "dyndep"))
;; Top level bindings
;; ------------------
(manifest
(let name: ((identifier) @constant.builtin
(#any-of? @constant.builtin "builddir"
"ninja_required_version"))))
;; Rules bindings
;; -----------------
(rule
(body
(let name: (identifier) @constant.builtin
(#not-any-of? @constant.builtin "command"
"depfile"
"deps"
"msvc_deps_prefix"
"description"
"dyndep"
"generator"
"in"
"in_newline"
"out"
"restat"
"rspfile"
"rspfile_content"
"pool"))))
;;
;; Expansion
;; ---------
(expansion
(identifier) @constant.macro
(#any-of? @constant.macro "in" "out"))
;;
;; Escape sequences
;; ================
(quote) @string.escape
;;
;; Others
;; ======
[
(split)
(comment)
] @comment