1[
2 "break"
3 "case"
4 "const"
5 "continue"
6 "default"
7 "do"
8 "else"
9 "enum"
10 "extern"
11 "for"
12 "goto"
13 "if"
14 "inline"
15 "return"
16 "sizeof"
17 "static"
18 "struct"
19 "switch"
20 "typedef"
21 "union"
22 "volatile"
23 "while"
24] @keyword
25
26[
27 "#define"
28 "#elif"
29 "#else"
30 "#endif"
31 "#if"
32 "#ifdef"
33 "#ifndef"
34 "#include"
35 (preproc_directive)
36] @keyword
37
38[
39 "="
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] @operator
76
77[
78 "."
79 ";"
80 ","
81] @punctuation.delimiter
82
83[
84 "{"
85 "}"
86 "("
87 ")"
88 "["
89 "]"
90] @punctuation.bracket
91
92[
93 (string_literal)
94 (system_lib_string)
95 (char_literal)
96] @string
97
98(comment) @comment
99
100(number_literal) @number
101
102[
103 (true)
104 (false)
105 (null)
106] @constant
107
108(identifier) @variable
109
110((identifier) @constant
111 (#match? @constant "^_*[A-Z][A-Z\\d_]*$"))
112
113(call_expression
114 function: (identifier) @function)
115(call_expression
116 function: (field_expression
117 field: (field_identifier) @function))
118(function_declarator
119 declarator: (identifier) @function)
120(preproc_function_def
121 name: (identifier) @function.special)
122
123(field_identifier) @property
124(statement_identifier) @label
125
126[
127 (type_identifier)
128 (primitive_type)
129 (sized_type_specifier)
130] @type