forked from paralleldrive/sudolang-llm-support
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sudolang.tmLanguage.json
83 lines (83 loc) · 2.15 KB
/
sudolang.tmLanguage.json
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
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "SudoLang",
"patterns": [
{
"include": "#keywords"
},
{
"include": "#strings"
}
],
"repository": {
"keywords": {
"patterns": [
{
"name": "keyword.control.sudolang",
"match": "\\b(if|else|otherwise|throw|error|while|loop|where|for each|in|function|range|match|case|default|defaults|constraint|constraints|require|requirements|warn|warnings|interface)\\b"
},
{
"name": "keyword.control.sudolang",
"match": "\\b/[a-zA-Z0-9]+\\b"
},
{
"name": "variable.language.sudolang",
"match": "\\$\\w+"
},
{
"name": "keyword.operator.assignment.sudolang",
"match": "="
},
{
"name": "keyword.operator.logical.sudolang",
"match": "\\b(&&|\\|\\||!|xor)\\b"
},
{
"name": "keyword.operator.math.sudolang",
"match": "[-+*/^%]"
},
{
"name": "keyword.operator.math.sudolang",
"match": "\\b(cap|cup))\\b"
},
{
"name": "keyword.command.sudolang",
"match": "\\b(ask|log|take|select|describe|explain|instruct|run|begin)\\b"
},
{
"name": "keyword.modifier.sudolang",
"match": ":\\w+=\\w+"
},
{
"name": "keyword.operator.arrow.sudolang",
"match": "=>"
}
]
},
"strings": {
"patterns": [
{
"name": "punctuation.definition.string.begin.sudolang",
"match": "'"
},
{
"name": "punctuation.definition.string.end.sudolang",
"match": "'"
},
{
"name": "constant.language.escape.sudolang",
"match": "\\\\\\$"
},
{
"name": "constant.language.template.expression.begin.sudolang",
"match": "\\$\\{"
},
{
"name": "constant.language.template.expression.end.sudolang",
"match": "\\}"
}
]
}
},
"scopeName": "source.sudo"
}