mirror of
https://github.com/ksherlock/BASIC.tmbundle.git
synced 2024-10-31 20:04:49 +00:00
Apple III Business BASIC
This commit is contained in:
parent
a68880880f
commit
12f06c6d10
255
Syntaxes/Apple III Business BASIC.tmLanguage
Normal file
255
Syntaxes/Apple III Business BASIC.tmLanguage
Normal file
@ -0,0 +1,255 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>fileTypes</key>
|
||||
<array/>
|
||||
<key>name</key>
|
||||
<string>Apple III Business BASIC</string>
|
||||
<key>patterns</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>^\s*\d+</string>
|
||||
<key>name</key>
|
||||
<string>entity.name.function</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>keyword.function</string>
|
||||
</dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>entity.name.function</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:DEF\s+FN)\s*([A-Za-z_][A-Za-z0-9_]*)\b</string>
|
||||
<key>name</key>
|
||||
<string>meta.def.fn</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>begin</key>
|
||||
<string>"</string>
|
||||
<key>end</key>
|
||||
<string>"</string>
|
||||
<key>name</key>
|
||||
<string>string.quoted.double</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>comment</key>
|
||||
<string>may end at : ?</string>
|
||||
<key>match</key>
|
||||
<string>\b(?i:REM)\b.*$</string>
|
||||
<key>name</key>
|
||||
<string>comment.line</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>(\d+\.\d*|\.\d+|\d+)([eE][+-]?\d+)?</string>
|
||||
<key>name</key>
|
||||
<string>constant.numeric</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>keyword.function</string>
|
||||
</dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>variable.function</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:FN)\s*([A-Za-z][A-Za-z0-9.]*)\s*(?=\()</string>
|
||||
<key>name</key>
|
||||
<string>meta.fn</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>keyword.external</string>
|
||||
</dict>
|
||||
<key>1</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>support.function</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:PERFORM)\s+([A-Za-z][A-Za-z0-9.]*)(?=\()</string>
|
||||
<key>name</key>
|
||||
<string>meta.perform</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>captures</key>
|
||||
<dict>
|
||||
<key>0</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>keyword.external</string>
|
||||
</dict>
|
||||
<key>2</key>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>support.function</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:EXFN%?)(\.)([A-Za-z][A-Za-z0-9.]*)(?=\()</string>
|
||||
<key>name</key>
|
||||
<string>meta.exfn</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:INVOKE|PERFORM|EXFN)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.external</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:EXFN)%</string>
|
||||
<key>name</key>
|
||||
<string>keyword.external</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>comment</key>
|
||||
<string># screws up \b</string>
|
||||
<key>match</key>
|
||||
<string>(?i:ON|OFF)\s+(?i:EOF)#</string>
|
||||
<key>name</key>
|
||||
<string>keyword.control</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:ON|OFF)\s+(?i:ERR|KBD)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.control</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:FOR|NEXT|STEP|TO|POP|RETURN|ELSE|IF|GOTO|GOSUB|THEN|ON|OFF|RESUME|TRACE|NOTRACE)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.control</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:DATA|GET|INPUT|READ|RESTORE)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.input</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:CLOSE|INPUT|OPEN|OUTPUT|PRINT|READ|WRITE)#</string>
|
||||
<key>name</key>
|
||||
<string>keyword.file</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:CAT|CATALOG|CLOSE|CREATE|DELETE|EXEC|LOCK|RENAME|UNLOCK)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.file</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:AS)\s(?i:EXTENSION|INPUT|OUTPUT)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.file.as</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:REC|TYP)(?=\()</string>
|
||||
<key>name</key>
|
||||
<string>support.function.file</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:DEL|HOME|INVERSE|LIST|NORMAL|PRINT|\?|WINDOW|IMAGE|USING)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.screen</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:SPC|TAB)(?=\()</string>
|
||||
<key>name</key>
|
||||
<string>support.function.screen</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:DIM|LET|SWAP)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.variable</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:CHAIN|CLEAR|CONT|END|LOAD|NEW|RUN|SAVE|STOP)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.utility</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:CONV)[$%&]?(?=\()</string>
|
||||
<key>name</key>
|
||||
<string>support.function.conversion</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:ASC|CHR\$|HEX\$|INSTR|LEFT\$|LEN|MID\$|RIGHT\$|STR\$|SUB\$|TEN|VAL)(?=\()</string>
|
||||
<key>name</key>
|
||||
<string>support.function.string</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:ABS|EXP|INT|LOG|RND|SGN|SQR|ATN|COS|SIN|TAN|SCALE)(?=\()</string>
|
||||
<key>name</key>
|
||||
<string>support.function.arithmetic</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:DIV|MOD)\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.operator.mathematical</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:AND|OR|NOT)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>keyword.operator.logical</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:EOF|ERR|ERRLIN|FRE|HPOS|INDENT|KBD|OUTREC|VPOS)(?![$%&])\b</string>
|
||||
<key>name</key>
|
||||
<string>support.variable</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>\b(?i:PREFIX)\$</string>
|
||||
<key>name</key>
|
||||
<string>support.variable.dollar</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>match</key>
|
||||
<string>[A-Za-z][A-Za-z0-9.]*[$%&]?</string>
|
||||
<key>name</key>
|
||||
<string>variable</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>scopeName</key>
|
||||
<string>source.business-basic</string>
|
||||
<key>uuid</key>
|
||||
<string>AF5FFBB0-4A62-4A20-80A9-DB26CA3FA04A</string>
|
||||
</dict>
|
||||
</plist>
|
Loading…
Reference in New Issue
Block a user