blob: e7ea6d8bb2918f92e9d7972966df94c6067dde87 (
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
|
(id) @variable
(comment) @comment @spell
; Literals
(null) @constant.builtin
(string) @string
(number) @number
[
(true)
(false)
] @boolean
; Keywords
"for" @repeat
"in" @keyword.operator
"function" @keyword.function
[
"if"
"then"
"else"
] @conditional
[
(local)
(tailstrict)
"function"
] @keyword
[
"assert"
"error"
] @exception
[
(dollar)
(self)
(super)
] @variable.builtin
((id) @variable.builtin
(#eq? @variable.builtin "std"))
; Operators
[
(multiplicative)
(additive)
(bitshift)
(comparison)
(equality)
(bitand)
(bitxor)
(bitor)
(and)
(or)
(unaryop)
] @operator
; Punctuation
[
"["
"]"
"{"
"}"
"("
")"
] @punctuation.bracket
[
"."
","
";"
":"
] @punctuation.delimiter
[
"::"
":::"
] @punctuation.special
(field
(fieldname) "+" @punctuation.special)
; Imports
[
(import)
(importstr)
] @include
; Fields
(fieldname (id) @field)
(fieldname (string (string_content) @field))
; Functions
(field
function: (fieldname (id) @function))
(field
function: (fieldname
(string (string_content) @function)))
(param
identifier: (id) @parameter)
(bind (id) @variable.local)
(bind function: (id) @function)
; Function call
(functioncall
(fieldaccess
last: (id) @function.call)?
(fieldaccess_super
(id) @function.call)?
(id)? @function.call
"("
(args
(named_argument
(id) @parameter
))?
")")
|