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