11{
2- "$schema" : " https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json" ,
3- "name" : " jBASE PickBASIC" ,
4- "patterns" : [
5- {
6- "match " : " '.*?'| \" .*? \" | \\\\ .*? \\\\ " ,
7- "name" : " string.other.quoted-or-unquoted.jbase "
8- },
9- {
10- "match " : " ^ \\ s*([ \\ w.]+:(?!=)|[0-9.]+) " ,
11- "name" : " string.other.quoted-or-unquoted.jbase "
12- },
13- {
14- "include" : " #keywords "
15- }
16- ],
17- "repository " : {
18- "keywords " : {
19- "patterns " : [
20- {
21- "name" : " keyword.control.jbase " ,
22- "match": "(?i)(?<![\\w\\$\\.])(ABORT|AND|BEGIN CASE|BREAK|BSCAN|BY|CALL|CALLING|CAPTURING|CASE|CHAIN|CHANGE|CLEAR|CLEARCOMMON|CLEARDATA|CLEARFILE|CLEARINPUT|CLEARSELECT|CLOSE|CLOSESEQ|COM|COMMON|CONTINUE|CONVERT|CREATE|CRT|DATA|DEBUG|DEFC|DEFCE|DEFFUN|DEL|DELETE|DELETELIST|DELETESEQ|DELETEU|DIM|DIMENSION|DISPLAY|DO|ECHO|ELSE|END|END CASE|EQU|EQUATE|ERROR|EXECUTE|EXIT|FILELOCK|FILEUNLOCK|FIND|FINDSTR|FOOTING|FOR|FORMLIST|FROM|FUNCTION|GET|GETLIST|GO|GOSUB|GOTO|GROUPSTORE|HEADING|HEADINGE|HEADINGN|HUSH|IF|INCLUDE|\\$INCLUDE|INPUT|INPUTCLEAR|INPUTNULL|INS|ITYPE|LOCATE|LOCK|LOCKED|LOOP|MAT|MATBUILD|MATPARSE|MATREAD|MATREADU|MATWRITE|MATWRITEU|NEXT|NOBUF|NULL|OFF|OPEN|OPENDEV|OPENINDEX|OPENPATH|OPENSEQ|OPENSER|OR|OSBREAD|OSBWRITE|OSCLOSE|OSDELETE|OSOPEN|OSREAD|OSWRITE|OUT|PAGE|PASSLIST|PAUSE|PERFORM|PRECISION|PRINT|PRINTER|PRINTERR|PROCREAD|PROCWRITE|PROGRAM|PROMPT|READ|READBLK|READLIST|READNEXT|READNEXT KEY|READPREV KEY|READSEQ|READT|READU|READV|READVU|READXML|RELEASE|REMOVE|REPEAT|RESET|RETURN|RETURNING|REWIND|RQM|RTNDATA|RTNLIST|SEEK|SELECT |SELECTE|SELECTINDEX|SELECTN|SELECTV|SEND|SENDX|SETTING|SLEEP|SSELECT|STATUS|STEP|STOP|STOPE|STOPM|SUBR|SUBROUTINE|THEN|TO|TRANSABORT|TRANSEND|TRANSQUERY|TRANSSTART|UNLOCK|UNTIL|USING|WEOFSEQ|WHILE|WITH|WORK|WRITE|WRITEBLK|WRITELIST|WRITESEQ|WRITET|WRITEU|WRITEV|WRITEVU|WRITEXML)(?![\\.\\$])\\b"
23- } ,
24- {
25- "name" : " constant.language.jbase " ,
26- "match" : " (?i)( \\ s)(EQ|NE|GT|LT|GE|LE)|(@[a-zA-Z.]+)( \\ s) "
27- } ,
28- {
29- "name" : " support.class.jbase " ,
30- "match": "(?I)(?<![\\w\\$\\.])(KEY|ABS|ABSS|ADDS|ALPHA|ANDS|ASCII|ASSIGNED|BITAND|BITCHANGE|bitcheck|BITLOAD|BITNOT|BITOR|BITRESET|BITSET|BITTEST|BITXOR|BYTELEN|CALLONEXIT|CATS|CHANGE|CHAR|CHARS|CHDIR|CHECKSUM|COL1|COL2|COMPARE|CONVERT|COUNT|COUNTS|DATE|DCOUNT|DECRYPT|DIR|DIV|DIVS|DOWNCASE|DQUOTE|DROUND|DTX|EBCDIC|ENCRYPT|EREPLACE|EXP|EXTRACT|EQS|FADD|FDIV|FIELD|FIELDS|FILEINFO|FILELOCK|FILEUNLOCK|FMT|FMTS|FMUL|FOLD|FSUB|GES|GETCWD|GETENV|GROUP|ICONV|ICONVS|IFS|INDEX|INDICES|INMAT|\\$INSERT|INSERT|INT|IOCTL|ISALPHA|ISALNUM|ISCNTRL|ISDIGIT|ISLOWER|ISPRINT|ISSPACE|ISUPPER|JBASECOREDUMP|KEYIN|LEFT|LEN|LENS|LENDP|LES|LN|LOCALDATE|LOCALTIME|LOWCASE|LOWER|MAKETIMESTAMP|MAXIMUM|MATCH|MATCHES|MATCHFIELD|MINIMUM|MOD|MODS|MSLEEP|MULS|NEG|NEGS|NES|NOT|NOTS|NUM|OCONV|OCONVS|ORS|PUTENV|PWR|QUOTE|RAISE|RECORDLOCKED|REGEXP|REMOVE|REPLACE|REM|REMOVE|RIGHT|RND|REUSE|SADD|SDIV|SENTENCE|SEQ|SEQS|SIN|SMUL|SORT|SOUNDEX|SPACE|SPACES|SPLICE|SQRT|SQUOTE|SSUB|STATUS|STR|STRS|SUBR|SUBS|SUBSTRINGS|SUM|SUMMATION|SWAP|SYSTEM|TIME|TIMEDATE|TIMEDIFF|TIMEOUT|TIMESTAMP|TRANS|TRIM|TRIMB|TRIMBS|TRIMF|TRIMFS|TRIMS|UNASSIGNED|UNIQUEKEY|UPCASE|UTF8|XTD)(?![\\.\\$])\\b"
31- } ,
32- {
33- "name " : " comment.line.asterisk.jbase " ,
34- "match" : " (?i)(^|;) \\ s*( \\ *|!|REM \\ s+?).* "
35- },
36- {
37- "name" : " comment.line.asterisk.jbase" ,
38- "match" : " (?<=[ \\ w]:|[0-9]) \\ s*(\\ *|!| (?i)REM\\ s+? ).*"
39- },
40- {
41- "name" : " constant.language.jbase" ,
42- "match" : " (\\ +|\\ -|\\ *|\\\\ |=|:|#)"
43- }
44- ]
45- }
46- },
47- "scopeName" : " source.mvbasic"
2+ "$schema" : " https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json" ,
3+ "name" : " jBASE PickBASIC" ,
4+ "patterns" : [{
5+ "match" : " '.*?'| \" .*? \" | \\\\ .*? \\\\ " ,
6+ "name " : " string.other.quoted-or-unquoted.jbase "
7+ },
8+ {
9+ "match" : " ^ \\ s*([ \\ w.]+:(?!=)|[0-9.]+) " ,
10+ "name " : " string.other.quoted-or-unquoted.jbase "
11+ },
12+ {
13+ "include" : " #keywords "
14+ }
15+ ],
16+ "repository" : {
17+ "keywords " : {
18+ "patterns " : [ {
19+ "name " : " keyword.control.jbase " ,
20+ "match": "(?i)(?<![\\w\\$\\.])(ABORT|AND|BEGIN CASE|BREAK|BSCAN|BY|CALL|CALLING|CAPTURING|CASE|CHAIN|CHANGE|CLEAR|CLEARCOMMON|CLEARDATA|CLEARFILE|CLEARINPUT|CLEARSELECT|CLOSE|CLOSESEQ|COM|COMMON|CONTINUE|CONVERT|CREATE|CRT|DATA|DEBUG|DEFC|DEFCE|DEFFUN|DEL|DELETE|DELETELIST|DELETESEQ|DELETEU|DIM|DIMENSION|DISPLAY|DO|ECHO|ELSE|END|END CASE|EQU|EQUATE|ERROR|EXECUTE|EXIT|FILELOCK|FILEUNLOCK|FIND|FINDSTR|FOOTING|FOR|FORMLIST|FROM|FUNCTION|GET|GETLIST|GO|GOSUB|GOTO|GROUPSTORE|HEADING|HEADINGE|HEADINGN|HUSH|IF|INCLUDE|\\$INCLUDE|INPUT|INPUTCLEAR|INPUTNULL|INS|ITYPE|LOCATE|LOCK|LOCKED|LOOP|MAT|MATBUILD|MATPARSE|MATREAD|MATREADU|MATWRITE|MATWRITEU|NEXT|NOBUF|NULL|OFF|OPEN|OPENDEV|OPENINDEX|OPENPATH|OPENSEQ|OPENSER|OR|OSBREAD|OSBWRITE|OSCLOSE|OSDELETE|OSOPEN|OSREAD|OSWRITE|OUT|PAGE|PASSLIST|PAUSE|PERFORM|PRECISION|PRINT|PRINTER|PRINTERR|PROCREAD|PROCWRITE|PROGRAM|PROMPT|READ|READBLK|READLIST|READNEXT|READNEXT KEY|READPREV KEY|READSEQ|READT|READU|READV|READVU|READXML|RELEASE|REMOVE|REPEAT|RESET|RETURN|RETURNING|REWIND|RQM|RTNDATA|RTNLIST|SEEK|SELECT |SELECTE|SELECTINDEX|SELECTN|SELECTV|SEND|SENDX|SETTING|SLEEP|SSELECT|STATUS|STEP|STOP|STOPE|STOPM|SUBR|SUBROUTINE|THEN|TO|TRANSABORT|TRANSEND|TRANSQUERY|TRANSSTART|UNLOCK|UNTIL|USING|WEOFSEQ|WHILE|WITH|WORK|WRITE|WRITEBLK|WRITELIST|WRITESEQ|WRITET|WRITEU|WRITEV|WRITEVU|WRITEXML)(?![\\.\\$])\\b"
21+ } ,
22+ {
23+ "name" : " constant.language.jbase " ,
24+ "match" : " (?i)( \\ s)(EQ|NE|GT|LT|GE|LE)|(@[a-zA-Z.]+)( \\ s) "
25+ } ,
26+ {
27+ "name" : " support.class.jbase " ,
28+ "match": "(?I)(?<![\\w\\$\\.])(KEY|ABS|ABSS|ADDS|ALPHA|ANDS|ASCII|ASSIGNED|BITAND|BITCHANGE|bitcheck|BITLOAD|BITNOT|BITOR|BITRESET|BITSET|BITTEST|BITXOR|BYTELEN|CALLONEXIT|CATS|CHANGE|CHAR|CHARS|CHDIR|CHECKSUM|COL1|COL2|COMPARE|CONVERT|COUNT|COUNTS|DATE|DCOUNT|DECRYPT|DIR|DIV|DIVS|DOWNCASE|DQUOTE|DROUND|DTX|EBCDIC|ENCRYPT|EREPLACE|EXP|EXTRACT|EQS|FADD|FDIV|FIELD|FIELDS|FILEINFO|FILELOCK|FILEUNLOCK|FMT|FMTS|FMUL|FOLD|FSUB|GES|GETCWD|GETENV|GROUP|ICONV|ICONVS|IFS|INDEX|INDICES|INMAT|\\$INSERT|INSERT|INT|IOCTL|ISALPHA|ISALNUM|ISCNTRL|ISDIGIT|ISLOWER|ISPRINT|ISSPACE|ISUPPER|JBASECOREDUMP|KEYIN|LEFT|LEN|LENS|LENDP|LES|LN|LOCALDATE|LOCALTIME|LOWCASE|LOWER|MAKETIMESTAMP|MAXIMUM|MATCH|MATCHES|MATCHFIELD|MINIMUM|MOD|MODS|MSLEEP|MULS|NEG|NEGS|NES|NOT|NOTS|NUM|OCONV|OCONVS|ORS|PUTENV|PWR|QUOTE|RAISE|RECORDLOCKED|REGEXP|REMOVE|REPLACE|REM|REMOVE|RIGHT|RND|REUSE|SADD|SDIV|SENTENCE|SEQ|SEQS|SIN|SMUL|SORT|SOUNDEX|SPACE|SPACES|SPLICE|SQRT|SQUOTE|SSUB|STATUS|STR|STRS|SUBR|SUBS|SUBSTRINGS|SUM|SUMMATION|SWAP|SYSTEM|TIME|TIMEDATE|TIMEDIFF|TIMEOUT|TIMESTAMP|TRANS|TRIM|TRIMB|TRIMBS|TRIMF|TRIMFS|TRIMS|UNASSIGNED|UNIQUEKEY|UPCASE|UTF8|XTD)(?![\\.\\$])\\b"
29+ } ,
30+ {
31+ "comment" : " start of line comment " ,
32+ "name" : " comment.line.asterisk.jbase " ,
33+ "match " : " ^ \\ s*( \\ !| \\ *|(?i)REM \\ s).*$ "
34+ },
35+ {
36+ "comment" : " inline comment; after label or code " ,
37+ "name" : " comment.line.asterisk.jbase" ,
38+ "match" : " (?<=(;|^ \\ w+:|^ \\ d+)) \\ s*(\\ !| \\ *| (?i)REM\\ s).*$ "
39+ },
40+ {
41+ "name" : " constant.language.jbase" ,
42+ "match" : " (\\ +|\\ -|\\ *|\\\\ |=|:|#)"
43+ }
44+ ]
45+ }
46+ },
47+ "scopeName" : " source.mvbasic"
4848}
0 commit comments