generic 65816, ninjaforce asm

This commit is contained in:
Kelvin Sherlock 2013-03-25 21:23:49 -04:00
commit 33f6849373
4 changed files with 193 additions and 0 deletions

View File

@ -0,0 +1,21 @@
<?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>name</key>
<string>NinjaForce Folding</string>
<key>scope</key>
<string>source.asm.65816.ninjaforce</string>
<key>settings</key>
<dict>
<key>comment</key>
<string>MAC ... ^^^ / LOP ... &lt;&lt;&lt; This shows the markers but can't fold because the indentation doesn't match.</string>
<key>foldingStartMarker</key>
<string>\b(?i:MAC|LOP)\b</string>
<key>foldingStopMarker</key>
<string>(\^\^\^|\&lt;\&lt;\&lt;)</string>
</dict>
<key>uuid</key>
<string>042A211A-28AD-4D52-8AB3-8E5A64F27B86</string>
</dict>
</plist>

23
Syntaxes/65816.tmLanguage Normal file
View File

@ -0,0 +1,23 @@
<?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>65816</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\b(?i:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRA|BRK|BRL|BVC|BVS|CLC|CLD|CLI|CLV|CMP|COP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JML|JMP|JSL|JSR|LDA|LDX|LDY|LSR|MVN|MVP|NOP|ORA|PEA|PEI|PER|PHA|PHB|PHD|PHK|PHP|PHX|PHY|PLA|PLB|PLD|PLP|PLX|PLY|REP|ROL|ROR|RTI|RTL|RTS|SBC|SEC|SED|SEI|SEP|STA|STP|STX|STY|STZ|TAX|TAY|TCD|TCS|TDC|TRB|TSB|TSC|TSX|TXA|TXS|TXY|TYA|TYX|WAI|WDM|XBA|XCE)\b</string>
<key>name</key>
<string>keyword.mnemonic.65816</string>
</dict>
</array>
<key>scopeName</key>
<string>source.asm.65816</string>
<key>uuid</key>
<string>9CD14531-F337-4CB9-AB6C-8FD61F2C0CCC</string>
</dict>
</plist>

View File

@ -0,0 +1,128 @@
<?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>s</string>
</array>
<key>name</key>
<string>NinjaForce assembler</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.asm.65816</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:BLT|BGT|BGE)\b</string>
<key>name</key>
<string>keyword.mnemonic.65816.alt</string>
</dict>
<dict>
<key>match</key>
<string>^[A-Za-z][A-Za-z0-9_]*</string>
<key>name</key>
<string>entity.name.function</string>
</dict>
<dict>
<key>match</key>
<string>^\][A-Za-z][A-Za-z0-9_]*</string>
<key>name</key>
<string>entity.name.local</string>
</dict>
<dict>
<key>begin</key>
<string>"</string>
<key>end</key>
<string>"</string>
<key>name</key>
<string>string.quoted.double</string>
</dict>
<dict>
<key>begin</key>
<string>'</string>
<key>end</key>
<string>'</string>
<key>name</key>
<string>string.quoted.single</string>
</dict>
<dict>
<key>begin</key>
<string>\b(?i:MAC)\b</string>
<key>comment</key>
<string>enable &amp;# macro parameters w/in a MAC ... ^^^ definition.</string>
<key>end</key>
<string>\^\^\^</string>
<key>name</key>
<string>support.macro</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
<dict>
<key>match</key>
<string>&amp;\d+</string>
<key>name</key>
<string>variable.parameter</string>
</dict>
</array>
</dict>
<dict>
<key>match</key>
<string>(?&lt;=,)([xXyYsS])\b</string>
<key>name</key>
<string>variable.language.register</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:ORG|EQU|DLW|DW|DFB|HEX|DS|MSB|COD|ASC|STR|TYP|IMP|INS|LNK|SHT|LNG|M08|M16|X08|X16|MAC|\^\^\^|LOP|&lt;&lt;&lt;|LST)\b</string>
<key>name</key>
<string>keyword.directive</string>
</dict>
<dict>
<key>match</key>
<string>^[;*].*</string>
<key>name</key>
<string>comment.line</string>
</dict>
<dict>
<key>match</key>
<string>;.*</string>
<key>name</key>
<string>comment.line</string>
</dict>
<dict>
<key>match</key>
<string>\$[A-Za-z0-9]+</string>
<key>name</key>
<string>constant.numeric.hex</string>
</dict>
<dict>
<key>match</key>
<string>%[01]+</string>
<key>name</key>
<string>constant.numeric.binary</string>
</dict>
<dict>
<key>match</key>
<string>\b[0-9]+\b</string>
<key>name</key>
<string>constant.numeric.decimal</string>
</dict>
<dict>
<key>match</key>
<string>[-+/*^&gt;&lt;|#\[\](),=]</string>
<key>name</key>
<string>keyword.operator</string>
</dict>
</array>
<key>scopeName</key>
<string>source.asm.65816.ninjaforce</string>
<key>uuid</key>
<string>F7ECC958-1B4C-4818-A28A-371799146151</string>
</dict>
</plist>

21
info.plist Normal file
View File

@ -0,0 +1,21 @@
<?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>xfureybpx@tznvy.pbz</string>
<key>contactName</key>
<string>Kelvin Sherlock</string>
<key>description</key>
<string>Myriad 65816 assemblers
Currently supported:
- NinjaForce Assembler
</string>
<key>name</key>
<string>65816</string>
<key>uuid</key>
<string>CBDD61FC-3FBC-4DA1-A2CB-EDD2ACBD80DD</string>
</dict>
</plist>