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.directive
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(escape_sequence) @string.escape
102
103(comment) @comment
104
105(number_literal) @number
106
107[
108 (true)
109 (false)
110] @boolean
111
112(null) @constant.builtin
113
114(identifier) @variable
115
116((identifier) @constant
117 (#match? @constant "^_*[A-Z][A-Z\\d_]*$"))
118
119(call_expression
120 function: (identifier) @function)
121(call_expression
122 function: (field_expression
123 field: (field_identifier) @function))
124(function_declarator
125 declarator: (identifier) @function)
126(preproc_function_def
127 name: (identifier) @function.special)
128
129(field_identifier) @property
130(statement_identifier) @label
131
132[
133 (type_identifier)
134 (primitive_type)
135 (sized_type_specifier)
136] @type