Integer BASIC support

This commit is contained in:
Kelvin Sherlock 2014-03-02 20:29:23 -05:00
parent 464dcdbb57
commit d76e4827b7

View File

@ -0,0 +1,141 @@
<?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>Integer BASIC</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>^\d+</string>
<key>name</key>
<string>entity.name.function.line-number</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:rem).*$</string>
<key>name</key>
<string>comment.line</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>\d+</string>
<key>name</key>
<string>constant.numeric</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:goto|if|then|for|to|step|next|gosub|return|pop|stop|con|end)(?![$])\b</string>
<key>name</key>
<string>keyword.control</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:list)(?![$])\b</string>
<key>name</key>
<string>keyword.control.immediate</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:poke|call|trace|notrace|dsp|nodsp)(?![$])\b</string>
<key>name</key>
<string>keyword.utility</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:himem|lomem):</string>
<key>name</key>
<string>keyword.utility.colon</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:peek)(?=\()</string>
<key>name</key>
<string>support.function.utility</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:gr|color|plot|hlin|vlin|at)(?![$])\b</string>
<key>name</key>
<string>keyword.graphics</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:scrn)(?=\()</string>
<key>name</key>
<string>support.function.graphics</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:tab|text|vtab|print|input)(?![$])\b</string>
<key>name</key>
<string>keyword.io</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:in|pr)#</string>
<key>name</key>
<string>keyword.io.hash</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:pdl)(?=\()</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.arithmetic</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:abs|sgn|rnd)(?=\()</string>
<key>name</key>
<string>support.function.arithmetic</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:len|asc)(?=\()</string>
<key>name</key>
<string>support.function.string</string>
</dict>
<dict>
<key>comment</key>
<string>uses non-greedy *? so keywords get a first shot</string>
<key>match</key>
<string>\b[A-Za-z][A-Za-z0-9]*[$]?</string>
<key>name</key>
<string>variable</string>
</dict>
</array>
<key>scopeName</key>
<string>source.integer-basic</string>
<key>uuid</key>
<string>6DCD7377-9CDB-4F16-B957-3EC5826492C3</string>
</dict>
</plist>