-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsmallbasic.yaml
More file actions
36 lines (34 loc) · 2.76 KB
/
Copy pathsmallbasic.yaml
File metadata and controls
36 lines (34 loc) · 2.76 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
filetype: smallbasic
detect:
filename: "\\.bas$"
rules:
- type: "\\b(?i:(DIM|REDIM|CONST|LOCAL|BYREF))\\b"
- statement: "\\b(?i:(FUNC|SUB|END SUB|END FUNC|END SELECT|END|AS|CASE|CATCH|DATA|DECLARE|DEF|DEFINEKEY|DO|ELIF|ELSE|ELSEIF|TRY|ENDIF|FI|FILLED|FOR|GOSUB|GOTO|IF|IFF|IN|LABEL|LET|LIKE|NEXT|ON|REDIM|REPEAT|SELECT|SELF|STEP|THEN|THROW|TO|TRY|UNTIL|USE|USG|USING|WEND|WHILE))\\b"
- statement: "\\b(?i:(ABS|ABSMAX|ABSMIN|ACCESS|ACOS|ACOSH|ACOT|ACOTH|ACSC|ACSCH|APPEND|ARC|ARRAY|ASC|ASEC|ASECH|ASIN|ASINH|AT|ATAN|ATAN2|ATANH|ATN|BCS|BEEP|BG|BGETC|BIN|BLOAD|BPUTC|BSAVE|CALL|CAT|CBS|CDBL|CEIL|CHAIN|CHART|CHDIR|CHMOD|CHOP|CHR|CINT|CIRCLE|CLOSE|CLS|COLOR|COMMAND|COPY|COS|COSH|COT|COTH|CREAL|CSC|CSCH|CWD|DATE|DATEDMY|DATEFMT|DEG|DELAY|DELETE|DERIV|DETERM|DIFFEQN|DIRWALK|DISCLOSE|DRAW|DRAWPOLY|EMPTY|ENCLOSE|ENV|EOF|ERASE|EXEC|EXIST|EXIT|EXP|EXPRSEQ|FILES|FIX|FLOOR|FORM|FORMAT|FRAC|FRE|FREEFILE|HEX|HOME|IMAGE|INKEY|INPUT|INSERT|INSTR|INT|INTERSECT|INVERSE|ISARRAY|ISDIR|ISFILE|ISLINK|ISMAP|ISNUMBER|ISSTRING|JOIN|JULIAN|KILL|LBOUND|LCASE|LEFT|LEFTOF|LEFTOFLAST|LEN|LINE|LINEINPUT|LINEQN|LINPUT|LOCATE|LOCK|LOF|LOG|LOG10|LOGPRINT|LOWER|LTRIM|M3APPLY|M3IDENT|M3ROTATE|M3SCALE|M3TRANS|MAX|MID|MIN|MKDIR|NOSOUND|OCT|OPEN|PAINT|PAUSE|PEN|PLAY|PLOT|POINT|POLYAREA|POLYCENT|POLYEXT|POW|PRINT|PROGLINE|PSET|PTDISTLN|PTDISTSEG|PTSIGN|RAD|RANDOMIZE|READ|RECT|RENAME|REPLACE|RESTORE|RETURN|RGB|RGBF|RIGHT|RIGHTOF|RIGHTOFLAST|RINSTR|RMDIR|RND|ROOT|ROUND|RTRIM|RUN|SBVER|SEARCH|SEC|SECH|SEEK|SEGCOS|SEGLEN|SEGSIN|SEQ|SGN|SHOWPAGE|SIN|SINH|SINPUT|SORT|SOUND|SPACE|SPC|SPLIT|SPRINT|SQR|SQUEEZE|STATMEAN|STATMEANDEV|STATSPREADP|STATSPREADS|STKDUMP|STOP|STR|STRING|SUM|SUMSQ|SWAP|TAB|TAN|TANH|TEXTHEIGHT|TEXTWIDTH|t(i(c(k(s))))|TIME|TIMEHMS|TIMER|TIMESTAMP|TLOAD|TRANSLATE|TRIM|TROFF|TRON|TSAVE|TXTH|TXTW|UBOUND|UCASE|UPPER|VAL|VIEW|WEEKDAY|WINDOW|WRITE))\\b"
- statement: "\\b(?i:(EXPORT|IMPORT|INCLUDE|OPTION|UNIT))\\b"
- statement: "\\b(?i:(AND|BAND|BOR|EQV|IMP|MOD|NAND|NOR|NOT|LSHIFT|MDL|OR|RSHIFT|XNOR|XOR))\\b"
- constant: "\\b(?i:(FALSE|MAXINT|NIL|PI|TRUE|XMAX|XPOS|YMAX|YPOS))\\b"
- constant.number: "\\$[0-9A-Fa-f]+"
- constant.number: "\\b((([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"
- constant.number: "\\b(0[xX][0-9a-fA-F]+)\\b"
- constant.number: "\\b(&(h|H)[0-9a-fA-F]+)\\b"
- constant.number: "\\b(0[oO][0-7]+)\\b"
- constant.number: "&(o|O)[0-7]+\\b"
- constant.number: "\\b(0[bB][0-1]+)\\b"
- constant.number: "&(b|B)[0-1]+\\b"
- constant.string:
start: "#[0-9]{1,}"
end: "$"
rules: []
- constant.string:
start: "\""
end: "\""
rules: []
- comment:
start: "'"
end: "$"
rules: []
- comment:
start: "\\b(?i:(REM))\\b"
end: "$"
rules: []