Unnamed repository; edit this file 'description' to name the repository.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
[
  "/dts-v1/"
  "/memreserve/"
  "/delete-node/"
  "/delete-property/"
  "/omit-if-no-ref/"
  "/incbin/"
  "/include/"
  "/bits/"
  "/plugin/"
] @keyword

[
  "#define"
  "#include"
  "#undef"
  "#if"
  "#ifdef"
  "#ifndef"
  "#elif"
  "#elifdef"
  "#elifndef"
  "#else"
  "#endif"
  "defined"
] @keyword.directive

[
  "!"
  "~"
  "-"
  "+"
  "*"
  "/"
  "%"
  "||"
  "&&"
  "|"
  "^"
  "&"
  "=="
  "!="
  ">"
  ">="
  "<="
  ">"
  "<<"
  ">>"
  "="
  "?"
] @operator

[
  ","
  ";"
  ":"
] @punctuation.delimiter

[
  "("
  ")"
  "{"
  "}"
  "<"
  ">"
] @punctuation.bracket

(string_literal) @string
(byte_string_literal) @string

(integer_literal) @constant.numeric.integer

(identifier) @variable

(call_expression
  function: (identifier) @function)
(preproc_function_def
  name: (identifier) @function.special)

(node
  label: (identifier) @label)
(property
  label: (identifier) @label)
(memory_reservation
  label: (identifier) @label)

(property
  name: (identifier) @property)

(unit_address) @tag

; Phandle references (`&label`, `&{/path}`): colour the whole reference as a
; constant. The label identifier needs its own capture to reclaim it from the
; `(identifier) @variable` base — helix lets the contained node win otherwise.
(reference) @constant
(reference (identifier) @constant)

(comment) @comment