applesoft, orca/integer basic, mpw/integer basic

This commit is contained in:
Kelvin Sherlock 2014-02-02 23:57:42 -05:00
commit 768eaeec78
4 changed files with 432 additions and 0 deletions

View File

@ -0,0 +1,135 @@
<?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>comment</key>
<string>due to the parsing, order can be important (eg, notrace before not and trace)</string>
<key>fileTypes</key>
<array>
<string>applesoft</string>
</array>
<key>name</key>
<string>Applesoft</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>^\d+</string>
<key>name</key>
<string>entity.name.function</string>
</dict>
<dict>
<key>begin</key>
<string>"</string>
<key>end</key>
<string>"</string>
<key>name</key>
<string>string.quoted.double</string>
</dict>
<dict>
<key>match</key>
<string>(?i:shload|load|recall|save|store)</string>
<key>name</key>
<string>invalid.deprecated</string>
</dict>
<dict>
<key>match</key>
<string>(?i:rem).*$</string>
<key>name</key>
<string>comment.line</string>
</dict>
<dict>
<key>match</key>
<string>\d+|\d*\.\d*([eE][+-]?\d+)?</string>
<key>name</key>
<string>constant.numeric</string>
</dict>
<dict>
<key>match</key>
<string>(?i:goto|onerr|on|if|then|for|to|step|next|gosub|return|pop|resume|stop|del|end|wait)</string>
<key>name</key>
<string>keyword.control</string>
</dict>
<dict>
<key>match</key>
<string>(?i:clear|cont|del|list|new|run)</string>
<key>name</key>
<string>keyword.control.immediate</string>
</dict>
<dict>
<key>match</key>
<string>(?i:dim|let)</string>
<key>name</key>
<string>keyword.variable</string>
</dict>
<dict>
<key>match</key>
<string>(?i:poke|call|himem:|lomem:|notrace|trace)</string>
<key>name</key>
<string>keyword.utility</string>
</dict>
<dict>
<key>comment</key>
<string>tab/spc requires ( lookahead?</string>
<key>match</key>
<string>(?i:in#|input|get|read|data|restore|pr#|print|\?|text|home|htab|vtab|inverse|normal|flash|speed=|tab|spc)</string>
<key>name</key>
<string>keyword.io</string>
</dict>
<dict>
<key>match</key>
<string>(?i:abs|sgn|int|sqr|sin|cos|tan|atn|exp|log|rnd|def|fn)</string>
<key>name</key>
<string>support.function.arithmetic</string>
</dict>
<dict>
<key>match</key>
<string>(?i:len|left\$|mid\$|right\$|str\$|val|chr\$|asc)</string>
<key>name</key>
<string>support.function.string</string>
</dict>
<dict>
<key>match</key>
<string>(?i:at|gr|color=|plot|hlin|vlin|hgr2|hgr|hcolor=|hplot|draw|xdraw|scale=|rot=|shload)</string>
<key>name</key>
<string>keyword.graphics</string>
</dict>
<dict>
<key>match</key>
<string>(?i:peek|usr|fre)</string>
<key>name</key>
<string>support.function.utility</string>
</dict>
<dict>
<key>match</key>
<string>(?i:scrn)</string>
<key>name</key>
<string>support.function.graphics</string>
</dict>
<dict>
<key>match</key>
<string>(?i:pdl|pos)</string>
<key>name</key>
<string>support.function.io</string>
</dict>
<dict>
<key>match</key>
<string>(?i:and|or|not)</string>
<key>name</key>
<string>keyword.operator.logical</string>
</dict>
<dict>
<key>comment</key>
<string>uses non-greedy *? so keywords </string>
<key>match</key>
<string>[A-Za-z][A-Za-z0-9]*?\s*[$%]?</string>
<key>name</key>
<string>variable</string>
</dict>
</array>
<key>scopeName</key>
<string>source.applesoft</string>
<key>uuid</key>
<string>DEA21785-8117-41BB-9E2E-BB418E807165</string>
</dict>
</plist>

View File

@ -0,0 +1,151 @@
<?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>comment</key>
<string>orca/integer basic with support for "named_lines"</string>
<key>fileTypes</key>
<array>
<string>bas</string>
</array>
<key>name</key>
<string>MPW Integer Basic</string>
<key>patterns</key>
<array>
<dict>
<key>captures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>string.quoted.double</string>
</dict>
<key>1</key>
<dict>
<key>name</key>
<string>entity.name.function</string>
</dict>
</dict>
<key>match</key>
<string>^\s*"([A-Za-z0-9_~]+)"</string>
<key>name</key>
<string>meta.function.definition</string>
</dict>
<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.control</string>
</dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.function</string>
</dict>
</dict>
<key>match</key>
<string>\b(?i:call)\s+([A-Za-z0-9_~]+)</string>
<key>name</key>
<string>meta.function.call</string>
</dict>
<dict>
<key>begin</key>
<string>"</string>
<key>end</key>
<string>"</string>
<key>name</key>
<string>string.quoted.double</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:rem)\b.*$</string>
<key>name</key>
<string>comment.line</string>
</dict>
<dict>
<key>match</key>
<string>\d+</string>
<key>name</key>
<string>constant.numeric</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:CALL|END|FOR|GOSUB|GOTO|IF|NEXT|POP|RETURN|STEP|THEN|TO)\b</string>
<key>name</key>
<string>keyword.control</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:DIM|LET)\b</string>
<key>name</key>
<string>keyword.variable</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:INPUT|PRINT|TAB|TEXT|TEXT80|VTAB)\b</string>
<key>name</key>
<string>keyword.io</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:ABS|RND|SGN)\b</string>
<key>name</key>
<string>support.function.arithmetic</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:ASC|LEN)\b</string>
<key>name</key>
<string>support.function.string</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:AT|COLOR|GR|HGR|HLIN|PLOT|VLIN)\b</string>
<key>name</key>
<string>keyword.graphics</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:SCRN)\b</string>
<key>name</key>
<string>support.function.graphics</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:PDL)\b</string>
<key>name</key>
<string>support.function.io</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:MOD)\b</string>
<key>name</key>
<string>keyword.operator.mathematical</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.integer-basic.mpw</string>
<key>uuid</key>
<string>2D210058-A6F9-4C73-9832-415914D6C1D4</string>
</dict>
</plist>

View File

@ -0,0 +1,130 @@
<?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>
<string>bas</string>
</array>
<key>name</key>
<string>ORCA/Integer 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.control</string>
</dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.function</string>
</dict>
</dict>
<key>match</key>
<string>\b(?i:call)\s+([A-Za-z0-9_~]+)</string>
<key>name</key>
<string>meta.function.call</string>
</dict>
<dict>
<key>begin</key>
<string>"</string>
<key>end</key>
<string>"</string>
<key>name</key>
<string>string.quoted.double</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:rem)\b.*$</string>
<key>name</key>
<string>comment.line</string>
</dict>
<dict>
<key>match</key>
<string>\d+</string>
<key>name</key>
<string>constant.numeric</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:CALL|END|FOR|GOSUB|GOTO|IF|NEXT|POP|RETURN|STEP|THEN|TO)\b</string>
<key>name</key>
<string>keyword.control</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:DIM|LET)\b</string>
<key>name</key>
<string>keyword.variable</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:INPUT|PRINT|TAB|TEXT|TEXT80|VTAB)\b</string>
<key>name</key>
<string>keyword.io</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:ABS|RND|SGN)\b</string>
<key>name</key>
<string>support.function.arithmetic</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:ASC|LEN)\b</string>
<key>name</key>
<string>support.function.string</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:AT|COLOR|GR|HGR|HLIN|PLOT|VLIN)\b</string>
<key>name</key>
<string>keyword.graphics</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:SCRN)\b</string>
<key>name</key>
<string>support.function.graphics</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:PDL)\b</string>
<key>name</key>
<string>support.function.io</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:MOD)\b</string>
<key>name</key>
<string>keyword.operator.mathematical</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.integer-basic.orca</string>
<key>uuid</key>
<string>19787AF8-6D88-49C0-8707-134322D23CF3</string>
</dict>
</plist>

16
info.plist Normal file
View File

@ -0,0 +1,16 @@
<?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>contactEmailRot13</key>
<string></string>
<key>contactName</key>
<string>Kelvin Sherlock</string>
<key>description</key>
<string>Miscellaneous Apple II BASIC dialects.</string>
<key>name</key>
<string>BASIC</string>
<key>uuid</key>
<string>66C85DF0-E5F1-4EB2-8E79-7BB29DE7ECA4</string>
</dict>
</plist>