diff --git a/grammars/6502 Assembly (DASM) OLD.cson b/grammars/6502 Assembly (DASM) OLD.cson deleted file mode 100644 index 625bb4e..0000000 --- a/grammars/6502 Assembly (DASM) OLD.cson +++ /dev/null @@ -1,65 +0,0 @@ -'fileTypes': [] -'foldingStartMarker': '/\\*\\*|\\{\\s*$' -'foldingStopMarker': '\\*\\*/|^\\s*\\}' -'name': '6502 Assembly (DASM) OLD' -'patterns': [ - { - 'match': '\\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)\\b' - 'name': 'keyword' - } - { - 'match': '\\b(bcc|bcs|beq|bmi|bne|bpl|brk|bvc|bvs|jmp|jsr|rti|rts)\\b' - 'name': 'keyword.control' - } - { - 'captures': - '1': - 'name': 'punctuation.definition.comment' - 'match': '(;).*$\\n?' - 'name': 'comment.line.semicolon' - } - { - 'match': '\\b(SET|WORD|BYTE|HEX)\\b' - 'name': 'storage.type' - } - { - 'match': '\\b(ALIGN)\\b' - 'name': 'storage.modifier' - } - { - 'match': '\\b(REPEAT|REPEND|MAC|ENDM|SUBROUTINE)\\b' - 'name': 'support.function' - } - { - 'match': '\\b(processor|org)\\b' - 'name': 'constant.language' - } - { - 'begin': '"' - 'end': '"' - 'name': 'string.quoted.double.untitled' - 'patterns': [ - { - 'match': '\\\\.' - 'name': 'constant.character.escape.untitled' - } - ] - } - { - 'match': '^[A-Za-z_][A-Za-z0-9_]*' - 'name': 'entity.name.label' - } - { - 'match': '^\\.[A-Za-z_][A-Za-z0-9_]*' - 'name': 'entity.name.label.local' - } - { - 'match': '#?\\$[0-9a-fA-F]+' - 'name': 'constant.numeric.hex' - } - { - 'match': '{[0-9]+}' - 'name': 'variable.parameter.macro' - } -] -'scopeName': 'source.assembly.6502.dasm' diff --git a/grammars/error-multiscope.cson b/grammars/error-multiscope.cson deleted file mode 100644 index e85120d..0000000 --- a/grammars/error-multiscope.cson +++ /dev/null @@ -1,23 +0,0 @@ -scopeName: 'source.multi1' -patterns: [ - { include: '#binnum' } - { include: '#hexnum' } -] - -repository: - # Binary numbers - binnum: - patterns: [ - { - match: '%[01]+' - name: 'constant.numeric.binary.multi1' - } - ] - - hexnum: - patterns: [ - { - match: '\\$[a-zA-Z0-9]+\\b' - name: 'constant.numeric.binary.multi1' - } - ] diff --git a/grammars/error-test.cson b/grammars/error-test.cson deleted file mode 100644 index 7c54391..0000000 --- a/grammars/error-test.cson +++ /dev/null @@ -1,133 +0,0 @@ -# Generic 65C02 grammar with semicolon comments - -scopeName: 'source.assembly.6502.6502-test' -fileTypes: [] -name: '6502 TEST' -patterns: [ - # { include: 'source.65c02-opcodes' } # include 6502 and 65c02 opcodes - # { include: 'source.6502x-opcodes' } - # { include: '#comments' } - # { include: '#symbols' } - { include: '#labels' } - { include: 'source.multi1' } - # { include: 'source.multi2' } -] - -# Repository starts here ------------------------------------------------------ -repository: - - # Basic line format - line_processor: - patterns: [ - ] - - # Labels - labels: - patterns: [ - # Variables - { - match: '^][:-~][0-~]+' - name: 'entity.name.variable.6502-test' - } - # Local labels and variables - { - match: '^:[:-~][0-~]+' - # name: 'entity.name.label.function.6502-test' - name: 'entity.name.label.local.6502-test' - # name: 'constant.numeric.hex.6502-test' - } - # Global labels - { - match: '^[:-~][0-~]+' - name: 'entity.name.label.function.6502-test' - } - ] - # Lines that start with an asterisk are comment lines - # commands within strings - # { - # begin: '"' - # end: '"' - # name: 'string.quoted.double' - # patterns: [ - # { include: 'source.65c02-opcodes' } - # ] - # } - # # four line word - # { - # begin: '^(\\w*)\\s+\\b' - # beginCaptures: - # 1: - # name: 'invalid.illegal.6502-test' - # end: ';.*' - # endCaptures: - # 0: - # name: 'comment.line.semicolon.6502-test' - # name: 'constant.numeric.hex.6502-test' - # } - # four word line - # { - # # match: '^(\\w*)\\b\\s+(\\w*)\\b\\s+(\\w*)\\b\\s+(\\w*)\\b' - # match: '^(\\w*)\\s+(\\1)\\s+(\\1)\\b' - # captures: - # 1: - # name: 'invalid.illegal.6502-test' - # 2: - # name: 'keyword.mnemonic.6502-test' - # 3: - # name: 'constant.numeric.hex.6502-test' - # 4: - # name: 'comment.line.semicolon.6502-test' - # name: "meta.line_processor.6502-test" - # } - # ] - - # comments - # comments: - # patterns: [ - # # semicolon comments - # { - # match: ';.*$' - # name: 'comment.line.semicolon.6502-test' - # } - # ] - - # symbols - # symbols: - # patterns: [ - # { - # begin: '"' - # beginCaptures: - # 0: - # name: 'punctuation.definition.string.begin.6502-test' - # end: '"' - # endCaptures: - # 0: - # name: 'punctuation.definition.string.end.6502-test' - # name: 'string.quoted.double.assembly.6502-test' - # } - # # absolut address/number - # { - # match: '\\#(\'.\'|[^\\s\']+)' - # name: 'constant.numeric.hex.6502-test' - # } - # # hex, prefixed with ampersand($) - # { - # match: '-?\\$[A-Fa-f0-9]+' - # name: 'constant.numeric.hex.6502-test' - # } - # # hex, suffixed with h(h) - # { - # match: '-?([0-9]+)h' - # name: 'constant.numeric.hex.6502-test' - # } - # # binary - # { - # match: '%[01]+' - # name: 'constant.numeric.binary.6502-test' - # } - # # decimal - # { - # match: '\\b([0-9]+)\\b' - # name: 'constant.numeric.decimal.6502-test' - # } - # ] diff --git a/grammars/merlin_old.cson b/grammars/merlin_old.cson deleted file mode 100644 index 210b21a..0000000 --- a/grammars/merlin_old.cson +++ /dev/null @@ -1,228 +0,0 @@ -'fileTypes': [] -'name': 'Merlin OLD' -'patterns': [ - { - 'include': '#M6502' - } - { - 'include': '#M65C02' - } - { - 'include': '#M65816' - } - { - 'include': '#M65816L' - } - { - 'include': '#hex_number' - } - { - 'include': '#decimal_number' - } - { - 'match': '%[01][01_]*' - 'name': 'constant.numeric.binary' - } - { - 'match': '\\b(?i:TAS|TSA|SWA|TAD|TDA|BLT|BGE)\\b' - 'name': 'keyword.mnemonic.65816.alt' - } - { - 'match': '(?<=,)([xXyYsS])\\b' - 'name': 'variable.language.register' - } - { - 'begin': '"' - 'end': '"' - 'name': 'string.quoted.double' - } - { - 'begin': '\'' - 'end': '\'' - 'name': 'string.quoted.single' - } - { - 'match': '^[*].*' - 'name': 'comment.line' - } - { - 'match': ';.*' - 'name': 'comment.line' - } - { - 'match': '^][0-~]*\\b' - 'name': 'entity.name.label.variable' - } - { - 'match': '^:[0-~]*\\b' - 'name': 'entity.name.label.local' - } - { - 'match': '^[:-~][0-~]*\\b' - 'name': 'entity.name.function' - } - { - 'captures': - '1': - 'name': 'keyword.directive' - '2': - 'name': 'string.quoted.other.path' - 'comment': 'eg: KEEP pathname' - 'match': '\\b((?i)DSK|PUT|USE|SAV)\\s+(\\S*)' - 'name': 'meta.path.directive' - } - { - 'captures': - '1': - 'name': 'keyword.directive' - '2': - 'name': 'constant.language' - 'comment': 'eg: KEEP pathname' - 'match': '\\b((?i)CYC)\\s+((?i)ON|OFF|AVE)\\b' - 'name': 'meta.cyc.directive' - } - { - 'captures': - '1': - 'name': 'keyword.directive' - '2': - 'name': 'constant.language' - 'comment': 'eg: KEEP pathname' - 'match': '\\b((?i)EXP)\\s+((?i)ON|OFF|ONLY)\\b' - 'name': 'meta.exp.directive' - } - { - 'captures': - '1': - 'name': 'keyword.directive' - '2': - 'name': 'constant.language' - 'comment': 'eg: KEEP pathname' - 'match': '\\b((?i)LST)\\s+((?i)ON|OFF|RTN)\\b' - 'name': 'meta.lst.directive' - } - { - 'captures': - '1': - 'name': 'keyword.directive' - '2': - 'name': 'constant.language' - 'comment': 'eg: KEEP pathname' - 'match': '\\b((?i)LST)\\s+((?i)OFF)\\b' - 'name': 'meta.lstdo.directive' - } - { - 'captures': - '1': - 'name': 'keyword.directive' - '2': - 'name': 'constant.language' - 'comment': 'eg: KEEP pathname' - 'match': '\\b((?i)TR)\\s+((?i)ON|OFF|ADR)\\b' - 'name': 'meta.tr.directive' - } - { - 'captures': - '1': - 'name': 'keyword.directive.string' - '2': - 'name': 'string.delimited.begin' - '3': - 'name': 'string.delimited' - '4': - 'name': 'string.delimited.end' - '5': - 'name': 'keyword.operator' - '6': - 'name': 'constant.numeric.hexadecimal' - 'comment': 'optional trailing hex data' - 'match': '\\b((?i)ASC|DCI|INV|FLS|STR)\\s+(\\S)(.*?)(\\2|$)(,([0-9A-Fa-f]+))?' - 'name': 'meta.string.delimited' - } - { - 'captures': - '1': - 'name': 'keyword.directive.string' - '2': - 'name': 'string.delimited.begin' - '3': - 'name': 'string.delimited' - '4': - 'name': 'string.delimited.end' - 'match': '\\b((?i)REV)\\s+(\\S)(.*?)(\\2|$)' - 'name': 'meta.string.delimited.rev' - } - { - 'begin': '\\b((?i)HEX)\\b' - 'captures': - '1': - 'name': 'keyword.directive.data' - 'comment': 'HEX has a list of hex bytes w/o the $' - 'end': '$' - 'name': 'meta.hex' - 'patterns': [ - { - 'match': '\\b[0-9A-Fa-f]{1,2}\\b' - 'name': 'constant.numeric.hex' - } - { - 'match': ';.*$' - 'name': 'comment.line' - } - { - 'match': ',' - 'name': 'keyword.operator' - } - { - 'match': '\\S' - 'name': 'invalid.illegal' - } - ] - } - { - 'match': '\\b(?i:DSK|EQU|EXT|ENT|ORG|REL|OBJ|PUT|USE|VAR|SAV|TYP|END|DUM|DEND|AST|CYC|DAT|EXP|LST|LSTDO|PAG|TTL|SKP|TR|CHK|ERR|KBD|LUP|--\\^|MX|PAU|SW|USR|XC)\\b' - 'name': 'keyword.directive' - } - { - 'match': '\\b(?i:DA|DW|DDB|DB|DFB|ADR|ADRL|HEX|DS|ASC|DCI|INV|FLS|REV|STR)\\b' - 'name': 'keyword.directive.data' - } - { - 'match': '\\b(?i:DO|ELSE|IF|FIN)\\b' - 'name': 'keyword.control.conditional' - } - { - 'match': '\\b(?i:MAC)\\b|<<<' - 'name': 'keyword.directive.macro' - } - { - 'match': '[-+/*^><|#\\[\\](),=.!&]' - 'name': 'keyword.operator' - } -] -'repository': - 'M6502': - 'match': '\\b(?i:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA)\\b' - 'name': 'keyword.mnemonic.6502' - 'M65816': - 'match': '\\b(?i:BRL|COP|JML|JSL|MVN|MVP|PEA|PEI|PER|PHB|PHD|PHK|PLB|PLD|REP|RTL|SEP|TCD|TCS|TDC|TSC|TXY|TYX|WDM|XBA|XCE)\\b' - 'name': 'keyword.mnemonic.65816' - 'M65816L': - 'match': '\\b(?i:ADCL|ANDL|CMPL|EORL|LDAL|ORAL|SBCL|STAL)\\b' - 'name': 'keyword.mnemonic.65816.long' - 'M65C02': - 'match': '\\b(?i:BRA|PHX|PHY|PLX|PLY|STP|STZ|TRB|TSB|WAI)\\b' - 'name': 'keyword.mnemonic.65c02' - 'binary_number': - 'match': '%[01]+' - 'name': 'constant.numeric.binary' - 'decimal_number': - 'match': '\\b([0-9]+)\\b' - 'name': 'constant.numeric.decimal' - 'hex_number': - 'match': '\\$[A-Fa-f0-9]+' - 'name': 'constant.numeric.hex' - 'octal_number': - 'match': '@([0-7]+)\\b' - 'name': 'constant.numeric.octal' -'scopeName': 'source.assembly.65816.merlinold'