highlights.scm

  1(identifier) @variable
  2(field_identifier) @property
  3
  4(call_expression
  5  function: (qualified_identifier
  6    name: (identifier) @function))
  7
  8(call_expression
  9  function: (identifier) @function)
 10
 11(call_expression
 12  function: (field_expression
 13    field: (field_identifier) @function))
 14
 15(preproc_function_def
 16  name: (identifier) @function.special)
 17
 18(template_function
 19  name: (identifier) @function)
 20
 21(template_method
 22  name: (field_identifier) @function)
 23
 24(function_declarator
 25  declarator: (identifier) @function)
 26
 27(function_declarator
 28  declarator: (qualified_identifier
 29    name: (identifier) @function))
 30
 31(function_declarator
 32  declarator: (field_identifier) @function)
 33
 34(operator_name
 35  (identifier)? @operator) @function
 36
 37(destructor_name (identifier) @function)
 38
 39((namespace_identifier) @type
 40 (#match? @type "^[A-Z]"))
 41
 42(auto) @type
 43(type_identifier) @type
 44
 45((identifier) @constant
 46 (#match? @constant "^_*[A-Z][A-Z\\d_]*$"))
 47
 48(statement_identifier) @label
 49(this) @variable.special
 50("static_assert") @function.builtin
 51
 52[
 53  "alignas"
 54  "alignof"
 55  "break"
 56  "case"
 57  "catch"
 58  "class"
 59  "co_await"
 60  "co_return"
 61  "co_yield"
 62  "concept"
 63  "constexpr"
 64  "continue"
 65  "decltype"
 66  "default"
 67  "delete"
 68  "do"
 69  "else"
 70  "enum"
 71  "explicit"
 72  "extern"
 73  "final"
 74  "for"
 75  "friend"
 76  "if"
 77  "inline"
 78  "namespace"
 79  "new"
 80  "noexcept"
 81  "override"
 82  "private"
 83  "protected"
 84  "public"
 85  "requires"
 86  "return"
 87  "sizeof"
 88  "struct"
 89  "switch"
 90  "template"
 91  "throw"
 92  "try"
 93  "typedef"
 94  "typename"
 95  "union"
 96  "using"
 97  "while"
 98  (primitive_type)
 99  (sized_type_specifier)
100  (storage_class_specifier)
101  (type_qualifier)
102  (virtual)
103] @keyword
104
105[
106  "#define"
107  "#elif"
108  "#else"
109  "#endif"
110  "#if"
111  "#ifdef"
112  "#ifndef"
113  "#include"
114  (preproc_directive)
115] @keyword
116
117(comment) @comment
118
119[
120  (true)
121  (false)
122  (null)
123  ("nullptr")
124] @constant
125
126(number_literal) @number
127
128[
129  (string_literal)
130  (system_lib_string)
131  (char_literal)
132  (raw_string_literal)
133] @string
134
135[
136  ","
137  ":"
138  "::"
139  ";"
140] @punctuation.delimiter
141
142[
143  "{"
144  "}"
145  "("
146  ")"
147  "["
148  "]"
149] @punctuation.bracket
150
151[
152  "."
153  ".*"
154  "->*"
155  "~"
156  "-"
157  "--"
158  "-="
159  "->"
160  "="
161  "!"
162  "!="
163  "|"
164  "|="
165  "||"
166  "^"
167  "^="
168  "&"
169  "&="
170  "&&"
171  "+"
172  "++"
173  "+="
174  "*"
175  "*="
176  "/"
177  "/="
178  "%"
179  "%="
180  "<<"
181  "<<="
182  ">>"
183  ">>="
184  "<"
185  "=="
186  ">"
187  "<="
188  ">="
189  "<=>"
190  "||"
191  "?"
192] @operator
193
194(conditional_expression ":" @operator)
195(user_defined_literal (literal_suffix) @operator)