1[
2 "break"
3 "case"
4 "const"
5 "continue"
6 "default"
7 "do"
8 "else"
9 "enum"
10 "extern"
11 "for"
12 "if"
13 "inline"
14 "return"
15 "sizeof"
16 "static"
17 "struct"
18 "switch"
19 "typedef"
20 "union"
21 "volatile"
22 "while"
23] @keyword
24
25[
26 "#define"
27 "#elif"
28 "#else"
29 "#endif"
30 "#if"
31 "#ifdef"
32 "#ifndef"
33 "#include"
34 (preproc_directive)
35] @keyword
36
37[
38 "--"
39 "-"
40 "-="
41 "->"
42 "="
43 "!="
44 "*"
45 "&"
46 "&&"
47 "+"
48 "++"
49 "+="
50 "<"
51 "=="
52 ">"
53 "||"
54] @operator
55
56[
57 "."
58 ";"
59] @punctuation.delimiter
60
61[
62 "{"
63 "}"
64 "("
65 ")"
66 "["
67 "]"
68] @punctuation.bracket
69
70[
71 (string_literal)
72 (system_lib_string)
73 (char_literal)
74] @string
75
76(comment) @comment
77
78(number_literal) @number
79
80[
81 (true)
82 (false)
83 (null)
84] @constant
85
86(identifier) @variable
87
88((identifier) @constant
89 (#match? @constant "^_*[A-Z][A-Z\\d_]*$"))
90
91(call_expression
92 function: (identifier) @function)
93(call_expression
94 function: (field_expression
95 field: (field_identifier) @function))
96(function_declarator
97 declarator: (identifier) @function)
98(preproc_function_def
99 name: (identifier) @function.special)
100
101(field_identifier) @property
102(statement_identifier) @label
103
104[
105 (type_identifier)
106 (primitive_type)
107 (sized_type_specifier)
108] @type