-
Notifications
You must be signed in to change notification settings - Fork 3
/
touist.json
80 lines (69 loc) · 1.58 KB
/
touist.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
{
"displayName": "Touist",
"name": "touist",
"mimeTypes": ["text/x-touist"],
"fileExtensions": ["touist","touistl"],
"lineComment": ";;",
"keywords": [
"end",
"in",
"subset",
"empty",
"union",
"inter",
"diff",
"exact",
"atmost",
"atleast",
"bigand",
"bigor",
"when",
"card",
"mod",
"sqrt",
"int",
"float",
"abs",
"if",
"then",
"else",
"mod",
"let",
"data",
"powerset",
":",
"exists",
"forall",
"for"],
"extraKeywords": [ "Top","Bot","true","false"],
"builtins": [
"and", "or", "xor", "=>", "<=>","not"
],
"operators": [
"=", ">", "<",
"==", "<=", ">=", "!=", "&&", "||",
"+", "-", "*", "/"
],
"symbols": "[=><!~?:&|+\\-*\\/\\^%]+",
"escapes": "\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})",
"tokenizer": {
"root": [
["[a-zA-Z_][\\w]*", { "cases": { "@builtins": "predefined.identifier",
"@keywords": "keyword",
"@extraKeywords" : "keyword.extra",
"@default": "identifier" } }],
{ "include": "@whitespace" },
["[{}()\\[\\]]", "@brackets"],
["[,.]", "delimiter"],
["@symbols", { "cases": { "@operators": "predefined.operator",
"@default" : "" } } ],
["[$][a-zA-Z_][\\w]*", "constructor.identifier"],
["\\d*\\.\\d+([eE][\\-+]?\\d+)?[fFdD]?", "number.float"],
["\\d+[lL]?", "number"]
],
"whitespace": [
["[ \\t\\r\\n]+", "white"],
[";;.*$", "comment"]
]
}
}