github-linguist 7.4.0 → 7.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/grammars/annotation.liquidhaskell.haskell.json +15 -4
  3. data/grammars/hint.haskell.json +15 -4
  4. data/grammars/hint.message.haskell.json +15 -4
  5. data/grammars/hint.type.haskell.json +15 -4
  6. data/grammars/source.abap.json +14 -3
  7. data/grammars/source.apl.json +19 -2
  8. data/grammars/source.ats.json +17 -87
  9. data/grammars/source.ballerina.json +14 -19
  10. data/grammars/source.crystal.json +14 -2
  11. data/grammars/source.csound.json +37 -0
  12. data/grammars/source.css.json +25 -1
  13. data/grammars/source.css.scss.json +1724 -0
  14. data/grammars/source.gf.json +51 -0
  15. data/grammars/source.glsl.json +1 -1
  16. data/grammars/source.hack.json +2523 -0
  17. data/grammars/source.haskell.json +15 -4
  18. data/grammars/source.hc.json +709 -0
  19. data/grammars/source.hsig.json +15 -4
  20. data/grammars/source.hx.json +10 -6
  21. data/grammars/source.jolie.json +1 -1
  22. data/grammars/source.julia.json +114 -6
  23. data/grammars/source.m68k.json +412 -0
  24. data/grammars/source.mcfunction.json +62 -18
  25. data/grammars/source.objectscript.json +309 -0
  26. data/grammars/source.objectscript_class.json +674 -0
  27. data/grammars/source.objectscript_csp.json +19 -0
  28. data/grammars/source.objectscript_macros.json +226 -0
  29. data/grammars/source.powershell.json +21 -57
  30. data/grammars/source.rust.json +1 -1
  31. data/grammars/source.sass.json +836 -142
  32. data/grammars/source.sassdoc.json +346 -0
  33. data/grammars/source.scala.json +110 -10
  34. data/grammars/source.sqf.json +2 -1
  35. data/grammars/source.svelte.json +827 -0
  36. data/grammars/source.ts.json +8 -4
  37. data/grammars/source.tsql.json +507 -0
  38. data/grammars/source.tsx.json +8 -4
  39. data/grammars/source.viml.json +1 -1
  40. data/grammars/source.vtt.json +702 -0
  41. data/grammars/source.wollok.json +100 -0
  42. data/grammars/source.xojo.json +85 -0
  43. data/grammars/source.yara.json +3 -2
  44. data/grammars/source.zeek.json +412 -0
  45. data/grammars/source.zenscript.json +282 -0
  46. data/grammars/source.zig.json +2 -11
  47. data/grammars/text.haml.json +1 -1
  48. data/grammars/text.html.php.blade.json +3 -3
  49. data/grammars/text.html.vue.json +41 -1
  50. data/grammars/text.slim.json +1 -1
  51. data/grammars/text.tex.latex.haskell.json +15 -4
  52. data/grammars/version +1 -1
  53. data/lib/linguist/VERSION +1 -1
  54. data/lib/linguist/blob_helper.rb +5 -10
  55. data/lib/linguist/generated.rb +10 -2
  56. data/lib/linguist/heuristics.yml +14 -3
  57. data/lib/linguist/language.rb +3 -2
  58. data/lib/linguist/languages.json +1 -1
  59. data/lib/linguist/languages.yml +151 -16
  60. data/lib/linguist/samples.json +9844 -1711
  61. data/lib/linguist/samples.rb +8 -5
  62. data/lib/linguist/shebang.rb +6 -0
  63. data/lib/linguist/vendor.yml +3 -0
  64. metadata +25 -10
  65. data/grammars/source.bro.json +0 -403
  66. data/grammars/source.scss.json +0 -1287
@@ -0,0 +1,100 @@
1
+ {
2
+ "name": "Wollok",
3
+ "scopeName": "source.wollok",
4
+ "patterns": [
5
+ {
6
+ "include": "#general"
7
+ }
8
+ ],
9
+ "repository": {
10
+ "commentBlock": {
11
+ "patterns": [
12
+ {
13
+ "name": "comment.line.double-slash.source.wollok",
14
+ "match": "(//).*"
15
+ },
16
+ {
17
+ "name": "comment.block.source.wollok",
18
+ "begin": "/\\*",
19
+ "end": "\\*/"
20
+ }
21
+ ]
22
+ },
23
+ "general": {
24
+ "patterns": [
25
+ {
26
+ "include": "#commentBlock"
27
+ },
28
+ {
29
+ "include": "#operators"
30
+ },
31
+ {
32
+ "include": "#keywords"
33
+ },
34
+ {
35
+ "include": "#numbers"
36
+ },
37
+ {
38
+ "include": "#stringSingleQuote"
39
+ },
40
+ {
41
+ "include": "#stringDoubleQuote"
42
+ }
43
+ ]
44
+ },
45
+ "keywords": {
46
+ "name": "keyword.source.wollok",
47
+ "match": "object|class|package|program|method|override|constructor|native|var|const|property|extends|new|if|else|elseif|this|import|null|true|false|return|throw|always|try|catch"
48
+ },
49
+ "numbers": {
50
+ "name": "constant.numeric.source.wollok",
51
+ "match": "(?\u003c![\\d.])\\s0x[a-fA-F\\d]+|\\b\\d+(\\.\\d+)?([eE]-?\\d+)?|\\.\\d+([eE]-?\\d+)?"
52
+ },
53
+ "operators": {
54
+ "name": "keyword.operator.source.wollok",
55
+ "match": "(\\b(and|or|not)\\b)|(\\+|-|%|#|\\*|\\/|\\^|==?|~=|\u003c=?|\u003e=?|(?\u003c!\\.)\\.{2}(?!\\.))"
56
+ },
57
+ "stringDoubleQuote": {
58
+ "name": "string.quoted.double.source.wollok",
59
+ "begin": "\"",
60
+ "end": "\"",
61
+ "patterns": [
62
+ {
63
+ "name": "constant.character.escape.source.wollok",
64
+ "match": "\\\\(\\d{1,3}|.)"
65
+ }
66
+ ],
67
+ "beginCaptures": {
68
+ "0": {
69
+ "name": "punctuation.definition.string.begin.source.wollok"
70
+ }
71
+ },
72
+ "endCaptures": {
73
+ "0": {
74
+ "name": "punctuation.definition.string.end.source.wollok"
75
+ }
76
+ }
77
+ },
78
+ "stringSingleQuote": {
79
+ "name": "string.quoted.single.source.wollok",
80
+ "begin": "'",
81
+ "end": "'",
82
+ "patterns": [
83
+ {
84
+ "name": "constant.character.escape.source.wollok",
85
+ "match": "\\\\(\\d{1,3}|.)"
86
+ }
87
+ ],
88
+ "beginCaptures": {
89
+ "0": {
90
+ "name": "punctuation.definition.string.begin.source.wollok"
91
+ }
92
+ },
93
+ "endCaptures": {
94
+ "0": {
95
+ "name": "punctuation.definition.string.end.source.wollok"
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "xojo",
3
+ "scopeName": "source.xojo",
4
+ "patterns": [
5
+ {
6
+ "include": "#comment"
7
+ },
8
+ {
9
+ "include": "#comment-rem"
10
+ },
11
+ {
12
+ "include": "#tags"
13
+ },
14
+ {
15
+ "include": "#string-literal"
16
+ },
17
+ {
18
+ "include": "#keywords"
19
+ },
20
+ {
21
+ "include": "#directives"
22
+ },
23
+ {
24
+ "include": "#keywords-numeric"
25
+ },
26
+ {
27
+ "include": "#keywords-functions"
28
+ },
29
+ {
30
+ "include": "#numbers"
31
+ },
32
+ {
33
+ "include": "#numbers-literal"
34
+ },
35
+ {
36
+ "include": "#numbers-binary"
37
+ }
38
+ ],
39
+ "repository": {
40
+ "comment": {
41
+ "name": "punctuation.definition.comment.xojo",
42
+ "match": "(//|').*$"
43
+ },
44
+ "comment-rem": {
45
+ "name": "punctuation.definition.comment.xojo",
46
+ "match": "(?i)(rem .++)$"
47
+ },
48
+ "directives": {
49
+ "name": "keyword.xojo",
50
+ "match": "(?i)#(if|else|elseif|endif|pragma)\\b"
51
+ },
52
+ "keywords": {
53
+ "name": "keyword.xojo",
54
+ "match": "\\b(?i)(me|self|super|return|dim|const|static|as|if|then|else|for|next|do|loop|until|while|wend|end if|select case|case|end select|private|public|protected|try|catch|finally|nil)\\b"
55
+ },
56
+ "keywords-functions": {
57
+ "name": "keyword.xojo",
58
+ "match": "\\b(?i)(sub|function|class|end|return)\\s\\w++\\b"
59
+ },
60
+ "keywords-numeric": {
61
+ "name": "keyword.xojo",
62
+ "match": "\\b(?i)(boolean|integer|double|cgfloat|long|string|color|true|false|(u)*int(8|16|32|64))\\b"
63
+ },
64
+ "numbers": {
65
+ "name": "constant.numeric.xojo",
66
+ "match": "\\b(-)?[0-9.]+\\b"
67
+ },
68
+ "numbers-binary": {
69
+ "name": "constant.numeric.integer",
70
+ "match": "(?i)\u0026b[01]+"
71
+ },
72
+ "numbers-literal": {
73
+ "name": "constant.numeric.integer",
74
+ "match": "(?i)(\u0026h|\u0026c)[0-9a-f]+"
75
+ },
76
+ "string-literal": {
77
+ "name": "string.quoted.double.xojo",
78
+ "match": "(\\\".*?\\\")"
79
+ },
80
+ "tags": {
81
+ "name": "markup.bold.xojo",
82
+ "match": "^\\s*#tag.*$"
83
+ }
84
+ }
85
+ }
@@ -61,12 +61,13 @@
61
61
  }
62
62
  },
63
63
  {
64
- "name": "string.quoted.double.yara",
64
+ "name": "string.regex.yara",
65
65
  "begin": "/",
66
66
  "end": "/",
67
67
  "patterns": [
68
68
  {
69
- "include": "#string_escaped_char"
69
+ "name": "constant.regex.escape.yara",
70
+ "match": "\\\\."
70
71
  }
71
72
  ],
72
73
  "beginCaptures": {
@@ -0,0 +1,412 @@
1
+ {
2
+ "name": "Zeek",
3
+ "scopeName": "source.zeek",
4
+ "patterns": [
5
+ {
6
+ "name": "comment.line.zeek",
7
+ "begin": "(##!|##\u003c|##|#)",
8
+ "end": "$",
9
+ "beginCaptures": {
10
+ "1": {
11
+ "name": "punctuation.definition.comment.zeek"
12
+ }
13
+ }
14
+ },
15
+ {
16
+ "name": "string.quoted.double.zeek",
17
+ "begin": "(\\\")",
18
+ "end": "(\\\")",
19
+ "patterns": [
20
+ {
21
+ "name": "constant.character.escape.zeek",
22
+ "match": "\\\\."
23
+ },
24
+ {
25
+ "name": "constant.other.placeholder.zeek",
26
+ "match": "%-?[0-9]*(\\.[0-9]+)?[DTdxsefg]"
27
+ }
28
+ ],
29
+ "beginCaptures": {
30
+ "1": {
31
+ "name": "punctuation.definition.string.begin.zeek"
32
+ }
33
+ },
34
+ "endCaptures": {
35
+ "1": {
36
+ "name": "punctuation.definition.string.end.zeek"
37
+ }
38
+ }
39
+ },
40
+ {
41
+ "name": "string.regexp.zeek",
42
+ "begin": "(/)(?=.*/)",
43
+ "end": "(/)",
44
+ "patterns": [
45
+ {
46
+ "name": "constant.character.escape.zeek",
47
+ "match": "\\\\."
48
+ }
49
+ ],
50
+ "beginCaptures": {
51
+ "1": {
52
+ "name": "punctuation.definition.string.begin.zeek"
53
+ }
54
+ },
55
+ "endCaptures": {
56
+ "1": {
57
+ "name": "punctuation.definition.string.end.zeek"
58
+ }
59
+ }
60
+ },
61
+ {
62
+ "name": "meta.preprocessor.zeek",
63
+ "match": "(@(load-plugin|load-sigs|load|unload)).*$",
64
+ "captures": {
65
+ "1": {
66
+ "name": "keyword.other.zeek"
67
+ }
68
+ }
69
+ },
70
+ {
71
+ "name": "meta.preprocessor.zeek",
72
+ "match": "(@(DEBUG|DIR|FILENAME|deprecated|if|ifdef|ifndef|else|endif))",
73
+ "captures": {
74
+ "1": {
75
+ "name": "keyword.other.zeek"
76
+ }
77
+ }
78
+ },
79
+ {
80
+ "name": "meta.preprocessor.zeek",
81
+ "match": "(@prefixes)\\s*(\\+?=).*$",
82
+ "captures": {
83
+ "1": {
84
+ "name": "keyword.other.zeek"
85
+ },
86
+ "2": {
87
+ "name": "keyword.operator.zeek"
88
+ }
89
+ }
90
+ },
91
+ {
92
+ "name": "storage.modifier.attribute.zeek",
93
+ "match": "\\\u0026\\b(redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|error_handler|type_column|deprecated)\\b"
94
+ },
95
+ {
96
+ "name": "constant.language.zeek",
97
+ "match": "\\b(T|F)\\b"
98
+ },
99
+ {
100
+ "name": "constant.numeric.port.zeek",
101
+ "match": "\\b\\d{1,5}/(udp|tcp|icmp|unknown)\\b"
102
+ },
103
+ {
104
+ "name": "constant.numeric.addr.zeek",
105
+ "match": "\\b(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{1,2})\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{1,2})\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{1,2})\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{1,2})\\b"
106
+ },
107
+ {
108
+ "name": "constant.numeric.addr.zeek",
109
+ "match": "\\[([0-9a-fA-F]{0,4}:){2,7}([0-9a-fA-F]{0,4})?((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{1,2})\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{1,2})\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{1,2})\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{1,2}))?\\]"
110
+ },
111
+ {
112
+ "name": "constant.numeric.float.decimal.interval.zeek",
113
+ "match": "(((?:(\\d*\\.\\d*)([eE][+-]?\\d+)?)|(?:(\\d*)([eE][+-]?\\d+))|(?:(\\d*\\.\\d*)))|\\d+)\\s*(day|hr|min|msec|usec|sec)s?"
114
+ },
115
+ {
116
+ "name": "constant.numeric.float.decimal.zeek",
117
+ "match": "((?:(\\d*\\.\\d*)([eE][+-]?\\d+)?)|(?:(\\d*)([eE][+-]?\\d+))|(?:(\\d*\\.\\d*)))"
118
+ },
119
+ {
120
+ "name": "constant.numeric.hostname.zeek",
121
+ "match": "\\b(([A-Za-z0-9][A-Za-z0-9\\-]*)(?:\\.([A-Za-z0-9][A-Za-z0-9\\-]*))+)\\b"
122
+ },
123
+ {
124
+ "name": "constant.numeric.integer.hexadecimal.zeek",
125
+ "match": "\\b(0x[0-9a-fA-F]+)\\b"
126
+ },
127
+ {
128
+ "name": "constant.numeric.integer.decimal.zeek",
129
+ "match": "\\b(\\d+)\\b"
130
+ },
131
+ {
132
+ "name": "keyword.operator.zeek",
133
+ "match": "(==)|(!=)|(\u003c=)|(\u003c)|(\u003e=)|(\u003e)"
134
+ },
135
+ {
136
+ "name": "keyword.operator.zeek",
137
+ "match": "(\u0026\u0026)|(||)|(!)"
138
+ },
139
+ {
140
+ "name": "keyword.operator.zeek",
141
+ "match": "(=)|(\\+=)|(-=)"
142
+ },
143
+ {
144
+ "name": "keyword.operator.zeek",
145
+ "match": "(\\+\\+)|(\\+)|(--)|(-)|(\\*)|(/)|(%)"
146
+ },
147
+ {
148
+ "name": "keyword.operator.zeek",
149
+ "match": "(\u0026)|(\\|)|(\\^)|(~)"
150
+ },
151
+ {
152
+ "name": "keyword.operator.zeek",
153
+ "match": "\\b(in|as|is)\\b"
154
+ },
155
+ {
156
+ "name": "punctuation.terminator.zeek",
157
+ "match": ";"
158
+ },
159
+ {
160
+ "name": "punctuation.accessor.zeek",
161
+ "match": "\\??\\$"
162
+ },
163
+ {
164
+ "name": "punctuation.accessor.zeek",
165
+ "match": "::"
166
+ },
167
+ {
168
+ "name": "keyword.operator.zeek",
169
+ "match": "(\\?)"
170
+ },
171
+ {
172
+ "name": "punctuation.separator.zeek",
173
+ "match": "(?\u003c=\\S)(:)"
174
+ },
175
+ {
176
+ "name": "punctuation.separator.zeek",
177
+ "match": "(,)"
178
+ },
179
+ {
180
+ "name": "keyword.operator.zeek",
181
+ "match": "(:)"
182
+ },
183
+ {
184
+ "name": "meta.namespace.zeek",
185
+ "match": "(module)\\s+(([A-Za-z_][A-Za-z_0-9]*)(?:::([A-Za-z_][A-Za-z_0-9]*))*)",
186
+ "captures": {
187
+ "1": {
188
+ "name": "keyword.other.zeek"
189
+ },
190
+ "2": {
191
+ "name": "entity.name.namespace.zeek"
192
+ }
193
+ }
194
+ },
195
+ {
196
+ "name": "keyword.other.zeek",
197
+ "match": "\\b(export)\\b"
198
+ },
199
+ {
200
+ "name": "keyword.control.conditional.zeek",
201
+ "match": "\\b(if|else)\\b"
202
+ },
203
+ {
204
+ "name": "keyword.control.zeek",
205
+ "match": "\\b(for|while)\\b"
206
+ },
207
+ {
208
+ "name": "keyword.control.zeek",
209
+ "match": "\\b(return|break|next|continue|fallthrough)\\b"
210
+ },
211
+ {
212
+ "name": "keyword.control.zeek",
213
+ "match": "\\b(switch|default|case)\\b"
214
+ },
215
+ {
216
+ "name": "keyword.other.zeek",
217
+ "match": "\\b(add|delete)\\b"
218
+ },
219
+ {
220
+ "name": "keyword.other.zeek",
221
+ "match": "\\b(print)\\b"
222
+ },
223
+ {
224
+ "name": "keyword.control.zeek",
225
+ "match": "\\b(when|timeout|schedule)\\b"
226
+ },
227
+ {
228
+ "name": "meta.struct.record.zeek",
229
+ "match": "\\b(type)\\s+((?:[A-Za-z_][A-Za-z_0-9]*)(?:::(?:[A-Za-z_][A-Za-z_0-9]*))*)\\s*(:)\\s*\\b(record)\\b",
230
+ "captures": {
231
+ "1": {
232
+ "name": "keyword.other.zeek"
233
+ },
234
+ "2": {
235
+ "name": "entity.name.struct.record.zeek"
236
+ },
237
+ "3": {
238
+ "name": "punctuation.separator.zeek"
239
+ },
240
+ "4": {
241
+ "name": "storage.type.struct.record.zeek keyword.declaration.struct.record.zeek"
242
+ }
243
+ }
244
+ },
245
+ {
246
+ "name": "meta.enum.zeek",
247
+ "match": "\\b(type)\\s+((?:[A-Za-z_][A-Za-z_0-9]*)(?:::(?:[A-Za-z_][A-Za-z_0-9]*))*)\\s*(:)\\s*\\b(enum)\\b",
248
+ "captures": {
249
+ "1": {
250
+ "name": "keyword.other.zeek"
251
+ },
252
+ "2": {
253
+ "name": "entity.name.enum.zeek"
254
+ },
255
+ "3": {
256
+ "name": "punctuation.separator.zeek"
257
+ },
258
+ "4": {
259
+ "name": "storage.type.enum.zeek keyword.declaration.enum.zeek"
260
+ }
261
+ }
262
+ },
263
+ {
264
+ "name": "meta.type.zeek",
265
+ "match": "\\b(type)\\s+((?:[A-Za-z_][A-Za-z_0-9]*)(?:::(?:[A-Za-z_][A-Za-z_0-9]*))*)\\s*(:)",
266
+ "captures": {
267
+ "1": {
268
+ "name": "keyword.other.zeek"
269
+ },
270
+ "2": {
271
+ "name": "entity.name.type.zeek"
272
+ },
273
+ "3": {
274
+ "name": "punctuation.separator.zeek"
275
+ }
276
+ }
277
+ },
278
+ {
279
+ "name": "meta.struct.record.zeek",
280
+ "match": "\\b(redef)\\s+(record)\\s+((?:[A-Za-z_][A-Za-z_0-9]*)(?:::(?:[A-Za-z_][A-Za-z_0-9]*))*)\\b",
281
+ "captures": {
282
+ "1": {
283
+ "name": "keyword.other.zeek"
284
+ },
285
+ "2": {
286
+ "name": "storage.type.struct.record.zeek keyword.declaration.struct.record.zeek"
287
+ },
288
+ "3": {
289
+ "name": "entity.name.struct.record.zeek"
290
+ }
291
+ }
292
+ },
293
+ {
294
+ "name": "meta.enum.zeek",
295
+ "match": "\\b(redef)\\s+(enum)\\s+((?:[A-Za-z_][A-Za-z_0-9]*)(?:::(?:[A-Za-z_][A-Za-z_0-9]*))*)\\b",
296
+ "captures": {
297
+ "1": {
298
+ "name": "keyword.other.zeek"
299
+ },
300
+ "2": {
301
+ "name": "storage.type.enum.zeek keyword.declaration.enum.zeek"
302
+ },
303
+ "3": {
304
+ "name": "entity.name.enum.zeek"
305
+ }
306
+ }
307
+ },
308
+ {
309
+ "match": "\\b(event)\\s+((?:[A-Za-z_][A-Za-z_0-9]*)(?:::(?:[A-Za-z_][A-Za-z_0-9]*))*)(?=s*\\()",
310
+ "captures": {
311
+ "1": {
312
+ "name": "storage.type.zeek"
313
+ },
314
+ "2": {
315
+ "name": "entity.name.function.event.zeek"
316
+ }
317
+ }
318
+ },
319
+ {
320
+ "match": "\\b(hook)\\s+((?:[A-Za-z_][A-Za-z_0-9]*)(?:::(?:[A-Za-z_][A-Za-z_0-9]*))*)(?=s*\\()",
321
+ "captures": {
322
+ "1": {
323
+ "name": "storage.type.zeek"
324
+ },
325
+ "2": {
326
+ "name": "entity.name.function.hook.zeek"
327
+ }
328
+ }
329
+ },
330
+ {
331
+ "match": "\\b(function)\\s+((?:[A-Za-z_][A-Za-z_0-9]*)(?:::(?:[A-Za-z_][A-Za-z_0-9]*))*)(?=s*\\()",
332
+ "captures": {
333
+ "1": {
334
+ "name": "storage.type.zeek"
335
+ },
336
+ "2": {
337
+ "name": "entity.name.function.zeek"
338
+ }
339
+ }
340
+ },
341
+ {
342
+ "name": "keyword.other.zeek",
343
+ "match": "\\b(redef)\\b"
344
+ },
345
+ {
346
+ "name": "storage.type.zeek",
347
+ "match": "\\b(any)\\b"
348
+ },
349
+ {
350
+ "name": "storage.type.zeek",
351
+ "match": "\\b(enum|record|set|table|vector)\\b"
352
+ },
353
+ {
354
+ "match": "\\b(opaque)\\s+(of)\\s+((?:[A-Za-z_][A-Za-z_0-9]*)(?:::(?:[A-Za-z_][A-Za-z_0-9]*))*)\\b",
355
+ "captures": {
356
+ "1": {
357
+ "name": "storage.type.zeek"
358
+ },
359
+ "2": {
360
+ "name": "keyword.operator.zeek"
361
+ },
362
+ "3": {
363
+ "name": "storage.type.zeek"
364
+ }
365
+ }
366
+ },
367
+ {
368
+ "name": "keyword.operator.zeek",
369
+ "match": "\\b(of)\\b"
370
+ },
371
+ {
372
+ "name": "storage.type.zeek",
373
+ "match": "\\b(addr|bool|count|double|file|int|interval|pattern|port|string|subnet|time)\\b"
374
+ },
375
+ {
376
+ "name": "storage.type.zeek",
377
+ "match": "\\b(function|hook|event)\\b"
378
+ },
379
+ {
380
+ "name": "storage.modifier.zeek",
381
+ "match": "\\b(global|local|const|option)\\b"
382
+ },
383
+ {
384
+ "name": "entity.name.function.call.zeek",
385
+ "match": "\\b((?:[A-Za-z_][A-Za-z_0-9]*)(?:::(?:[A-Za-z_][A-Za-z_0-9]*))*)(?=s*\\()"
386
+ },
387
+ {
388
+ "name": "punctuation.section.block.begin.zeek",
389
+ "match": "\\{"
390
+ },
391
+ {
392
+ "name": "punctuation.section.block.end.zeek",
393
+ "match": "\\}"
394
+ },
395
+ {
396
+ "name": "punctuation.section.brackets.begin.zeek",
397
+ "match": "\\["
398
+ },
399
+ {
400
+ "name": "punctuation.section.brackets.end.zeek",
401
+ "match": "\\]"
402
+ },
403
+ {
404
+ "name": "punctuation.section.parens.begin.zeek",
405
+ "match": "\\("
406
+ },
407
+ {
408
+ "name": "punctuation.section.parens.end.zeek",
409
+ "match": "\\)"
410
+ }
411
+ ]
412
+ }