blob: d0c9432bdcda49d6c3c3085e9f42bcfc4be18ea2 (
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
118
119
|
; Variables
(identifier) @variable
(local_variable
"$" @attribute.builtin)
(game_variable
[
"%"
".%"
] @attribute.builtin)
(constant_variable
"^" @attribute.builtin)
(parameter
(local_variable
name: (identifier) @variable.parameter))
; Scripts
(script
trigger: (identifier) @keyword.directive
subject: (identifier) @function)
; Calls
(call
[
"~"
"@"
]? @attribute.builtin
callee: (identifier) @function.call)
; Literals
((literal) @boolean
(#any-of? @boolean "true" "false"))
(literal
"null" @constant.builtin)
(integer_literal) @number
(coord_literal) @string.special
(comment) @comment @spell
[
(string_fragment)
"\""
] @string
(escape_sequence) @string.escape
(string_interpolation
[
"<"
">"
] @punctuation.special)
(string_tag) @punctuation.special
; Types
(type) @type
(parameter_type) @type
; Tokens
[
";"
":"
","
] @punctuation.delimiter
[
"("
")"
"{"
"}"
] @punctuation.bracket
[
"["
"]"
] @punctuation.special
[
"*"
"/"
"+"
"-"
"&"
"|"
">"
">="
"<"
"<="
"="
"!"
] @operator
(arithmetic
"%" @operator)
[
(def_type_keyword)
(switch_type_keyword)
] @keyword.modifier
"return" @keyword.return
"while" @keyword.repeat
[
"default"
"if"
"else"
"case"
] @keyword.conditional
"calc" @keyword
|