mirror of
https://github.com/ksherlock/BASIC.tmbundle.git
synced 2025-01-15 13:32:43 +00:00
256 lines
6.2 KiB
Plaintext
256 lines
6.2 KiB
Plaintext
<?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>
|