-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfoxl.tmLanguage.json
More file actions
101 lines (99 loc) · 2.55 KB
/
foxl.tmLanguage.json
File metadata and controls
101 lines (99 loc) · 2.55 KB
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
{
"$schema": "https://json.schemastore.org/tmLanguage",
"name": "Foxl",
"scopeName": "source.foxl",
"patterns": [
{
"include": "#comments"
},
{
"include": "#keywords"
},
{
"include": "#functions"
},
{
"include": "#identifiers"
},
{
"include": "#numbers"
},
{
"include": "#operators"
},
{
"include": "#symbols"
},
{
"include": "#string-literals"
},
{
"include": "#unknown"
}
],
"repository": {
"comments": {
"patterns": [
{
"name": "comment.line.double-slash",
"match": "//.*$"
}
]
},
"keywords": {
"patterns": [
{
"name": "keyword.control",
"match": "\\b(if|else|while|for|return|include)\\b"
},
{
"name": "keyword",
"match": "\\b(let|const|func)\\b"
},
{
"name": "support.function",
"match": "\\b(write|read)\\b"
}
]
},
"functions": {
"name": "entity.name.function",
"match": "\\b[a-zA-Z_][a-zA-Z0-9_]*\\s*\\("
},
"identifiers": {
"name": "variable",
"match": "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"
},
"numbers": {
"name": "constant.numeric",
"match": "\\b\\d+(\\.\\d+)?\\b"
},
"operators": {
"name": "keyword.operator",
"match": "[\\+\\-\\*/=!><]+"
},
"symbols": {
"name": "punctuation",
"match": "[\\(\\)\\{\\},\\[\\];]+"
},
"string-literals": {
"name": "string.quoted.double",
"begin": "\"",
"end": "\"",
"patterns": [
{
"name": "constant.character.escape",
"match": "\\\\(n|t|\\\"|\\\\|\\')"
},
{
"name": "invalid.illegal",
"match": "\\\\."
}
]
},
"unknown": {
"name": "invalid.illegal",
"match": "."
}
}
}