summaryrefslogtreecommitdiff
path: root/runtime/queries/wgsl/highlights.scm
blob: 2817ea3a3750f852ab13d78b19a77e01a70352f9 (plain) (blame)
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
(int_literal) @constant.numeric.integer
(float_literal) @constant.numeric.float
(bool_literal) @constant.builtin.boolean

[
  "bitcast"
  "discard"
  "enable"
  "fallthrough"
] @keyword

[
  "let"
  "override"
  "struct"
  "type"
  "var"
  (texel_format)
] @keyword.storage.type

[
  (access_mode)
  (address_space)
] @keyword.storage.modifier

"fn" @keyword.function

"return" @keyword.control.return

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

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

(type_declaration ["<" ">"] @punctuation.bracket)

[
  "break"
  "continue"
  "continuing"
] @keyword.control

[
  "loop"
  "for"
  "while"
] @keyword.control.repeat

[
  "if"
  "else"
  "switch"
  "case"
  "default"
] @keyword.control.conditional

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

(function_declaration
  (identifier) @function)

(parameter
  (variable_identifier_declaration
    (identifier) @variable.parameter))

(struct_declaration
  (identifier) @type)

(struct_declaration
  (struct_member
    (variable_identifier_declaration
      (identifier) @variable.other.member)))

(type_constructor_or_function_call_expression
  (type_declaration (identifier) @function))

(type_declaration _ @type)

(attribute
  (identifier) @attribute)

(identifier) @variable

(comment) @comment