1
0
mirror of https://github.com/ksherlock/x65.git synced 2024-06-02 18:41:34 +00:00
x65/vscode/x65.tmLanguage
2017-01-28 17:02:41 -08:00

236 lines
5.7 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>
<string>s</string>
<string>i</string>
</array>
<key>name</key>
<string>x65</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#comments</string>
</dict>
<dict>
<key>include</key>
<string>#constants</string>
</dict>
<dict>
<key>include</key>
<string>#control</string>
</dict>
<dict>
<key>include</key>
<string>#opcodes</string>
</dict>
<dict>
<key>include</key>
<string>#quotes</string>
</dict>
<dict>
<key>include</key>
<string>#storage</string>
</dict>
<dict>
<key>include</key>
<string>#operators</string>
</dict>
<dict>
<key>include</key>
<string>#labels</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>control</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?i)((^|\s+)(CPU|PROCESSOR|PC|ORG|LOAD|EXPORT|SECTION|SEG|SEGMENT|MERGE|LINK|INCOBJ|ALIGN|MACRO|MAC|EVAL|PRINT|ECHO|BYTE|BYTES|WORD|WORDS|LONG|DC|DV|TEXT|INCLUDE|INCBIN|IMPORT|CONST|LABEL|STRING|UNDEF|INCSYM|LABPOOL|POOL|IF|IFDEF|ELSE|ELIF|ENDIF|STRUCT|ENUM|REPT|REPEAT|INCDIR|A16|A8|XY16|XY8|I16|I8|DUMMY|DUMMY_END|DS|ABORT|ERR)|\s+ert)\b</string>
<key>name</key>
<string>directive</string>
</dict>
<dict>
<key>match</key>
<string>(?i)((^|\s+)(XDEF|XREF|SECTION|SEG|SEGMENT|MERGE|LINK|INCOBJ)|\s+ert)\b</string>
<key>name</key>
<string>control.segment</string>
</dict>
</array>
</dict>
<key>opcodes</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\b(adc|and|asl|bit|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|sbc|sec|sed|sei|sta|stx|sty|tax|txa|tay|tya|tsx|txs|ADC|AND|ASL|BIT|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TXA|TAY|TYA|TSX|TXS)\b</string>
<key>name</key>
<string>keyword.other.opcode</string>
</dict>
<dict>
<key>match</key>
<string>\b(bcc|bcs|beq|bmi|bne|bpl|brk|bvc|bvs|jmp|jsr|rti|rts|BCC|BCS|BEQ|BMI|BNE|BPL|BRK|BVC|BVS|JMP|JSR|RTI|RTS)\b</string>
<key>name</key>
<string>keyword.pc</string>
</dict>
<dict>
<key>match</key>
<string>\b(aso|rln|lse|rrd|sax|lax|dcp|isb|anc|alr|arr|ane|anx|sbx|las|sha|shs|shx|shy|npo|cim|dop|top)\b</string>
<key>name</key>
<string>keyword.other.opcode.6502.illegal</string>
</dict>
</array>
</dict>
<key>comments</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>/\*</string>
<key>end</key>
<string>\*/</string>
<key>name</key>
<string>comment.block</string>
</dict>
<dict>
<key>match</key>
<string>//.*</string>
<key>name</key>
<string>comment.line.double-slash</string>
</dict>
<dict>
<key>match</key>
<string>;.*</string>
<key>name</key>
<string>comment.line.semicolon</string>
</dict>
<dict>
<key>match</key>
<string>^\S*\s*(\*.*)</string>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>comment.line.asterisk</string>
</dict>
</dict>
</dict>
</array>
</dict>
<key>quotes</key>
<dict>
<key>patterns</key>
<array>
<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>"</string>
<key>end</key>
<string>"</string>
<key>name</key>
<string>string.quoted.double</string>
</dict>
</array>
</dict>
<key>constants</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?i)(?<=,)\s*[xy]\b(?!.*\.reg)</string>
<key>name</key>
<string>constant.language.registers</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>(?i)\$\b\h+\b|\b0x\h+\b</string>
<key>name</key>
<string>constant.numeric.hexadecimal</string>
</dict>
<dict>
<key>match</key>
<string>%\b[0-1]+\b</string>
<key>name</key>
<string>constant.numeric.binary</string>
</dict>
</array>
</dict>
<key>storage</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?i)(^|\s+)align\b</string>
<key>name</key>
<string>storage.modifier</string>
</dict>
</array>
</dict>
<key>labels</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?i)(^|\s+)[\!\.][a-zA-Z0-9_]+\b</string>
<key>name</key>
<string>label.local</string>
</dict>
<dict>
<key>match</key>
<string>(?i)(^|\s+)[!\!\.][a-zA-Z0-9_]+\b</string>
<key>name</key>
<string>label.global</string>
</dict>
<dict>
<key>match</key>
<string>(?i)[\!\%]\b</string>
<key>name</key>
<string>label.scope</string>
</dict>
</array>
</dict>
<key>operators</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>(?i)[+\-*/%!|^=~\:&amp;&lt;&gt;]</string>
<key>name</key>
<string>constant.language</string>
</dict>
</array>
</dict>
</dict>
<key>scopeName</key>
<string>source.asm.6502.x65</string>
<key>uuid</key>
<string>3a93182b-9647-4133-bead-cd118e3ed088</string>
</dict>
</plist>