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
|
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "Wing",
"patterns": [
{
"include": "#keywords"
},
{
"include": "#strings"
}
],
"repository": {
"keywords": {
"patterns": [
{
"name": "entity.name.function",
"match": "(?<=\\b(function|on|emit|if) )([a-zA-Z0-9-_]+)"
},
{
"name": "entity.name.function",
"match": "(?<=< )([a-zA-Z0-9-_]+)"
},
{
"name": "storage.type",
"match": "\\b(function)"
},
{
"name": "keyword.control",
"match": "\\b(if|else|on|foreach|do|end)( +do\\b|)"
},
{
"name": "variable.language",
"match": "^ *(#include|#require)"
},
{
"name": "entity.name.function",
"match": "(?<=\\b|^(#include|#require) )(<([a-zA-Z0-9-_]+)>|wing:([a-zA-Z0-9-_]+))"
},
{
"name": "comment.line.double-dash",
"match": "--(.*)$"
},
{
"name": "comment.line.number-sign",
"match": "^( +)#!(.*)"
},
{
"name": "variable.other",
"match": "(?<= |^)\\$([a-zA-Z0-9-_]+)(!|)(?=\\b|$)"
},
{
"name": "entity.name.function",
"match": "^ *([a-zA-Z0-9-_]+)(?<!if|else|end|function|#include|#require)( |$)"
},
{
"name": "constant.character.escape",
"match": "\\\\\\$"
},
{
"name": "storage.modifier",
"match": "^ *(\\?!|\\?\\?|\\?)"
}
]
}
},
"scopeName": "source.wing"
}
|