-
Notifications
You must be signed in to change notification settings - Fork 1
/
amstradbasic.tmLanguage.json
59 lines (59 loc) · 2.72 KB
/
amstradbasic.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
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "AMSTRAD-Basic",
"patterns": [{
"include": "#keywords"
},
{
"include": "#strings"
}
],
"repository": {
"keywords": {
"patterns": [{
"name": "keyword.control.amstradbasic",
"match": "(?i:\\b(AFTER|AUTO|BORDER|BREAK|CALL|CAT|CHAIN MERGE|CHAIN|CLEAR|CLG|CLOSEIN|CLOSEOUT|CLS|CONT|DATA|DEF FN|DEFINT|DEFSTR|DEFREAL|DEG|DELETE|DI|DIM|DRAW|DRAWR|EDIT|EI|ELSE|END|ENT|ENV|ERASE|ERROR|EVERY|FOR|GOSUB|GOTO|IF|INK|INPUT|KEY DEF|KEY|LET|LINE INPUT|LIST|LOAD|LOCATE|MEMORY|MERGE|MODE|MOVE|MOVER|NEW|NEXT|ON|OUT|OPENIN|OPENOUT|ORIGIN|PAPER|PEN|PLOT|PLOTR|POKE|PRINT|SPC|TAB|USING|RAD|RANDOMIZE|READ|RELEASE|RENUM|RESTORE|RESUME|RETURN|RUN|SAVE|SOUND|STEP|SPEED|SYMBOL|SWAP|TAG|TAGOFF|TRON|TROFF|THEN|TO|STEP|STOP|UNT|WAIT|WEND|WHILE|WIDTH|WINDOW|WRITE|ZONE)\\b)"
},
{
"name": "keyword.operator.logical.amstradbasic",
"match": "(?i:\\b(AND|NOT|OR|XOR|MOD)\\b)"
},
{
"name": "entity.name.function.amstradbasic",
"match": "(?i:\\b(ABS|ASC|ATN|BIN|CHR$|CINT|CREAL|COS|EOF|ERR|ERL|EXP|FIX|FRE|HIMEM|INKEY|INKEY|INP|INTRS|INT|JOY|LEFT|LEN|LOG10|LOG|LOWER|MIN|MAX|MID|PEEK|PI|POS|REMAIN|RIGHT|RND|ROUND|SIN|SQ|SQR|STR$|STRING$|SGN|TAN|TEST|TESTR|TIME|UPPER|VAL|XPOS|YPOS)\\b)"
},
{
"name": "comment.line.amstradbasic",
"match": "(?i:(\\bREM\\b|').*)"
},
{
"name": "comment.block.amstradbasic",
"begin": "/'",
"end": "'/"
},
{
"name": "variable.name.amstradbasic",
"match": "\\b[A-Za-z](\\$|[A-Za-z0-9]*)"
},
{
"name": "constant.numeric.amstradbasic",
"match": "-?\\b((([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?|(\\$[a-zA-Z0-9]+)|(@[0|1]+)\\b"
},
{
"match": "&|\\*|\\-|\\+|=|<>|<|>|\\|\\^|<<|>>|~",
"name": "keyword.operator.arithmetic.amstradbasic"
}
]
},
"strings": {
"name": "string.quoted.double.amstradbasic",
"begin": "\"",
"end": "\"",
"patterns": [{
"name": "constant.character.escape.amstradbasic",
"match": "\\\\."
}]
}
},
"scopeName": "source.amstradbasic"
}