diff --git a/grammars/6502 Assembly (DASM).cson b/grammars/6502 Assembly (DASM).cson new file mode 100644 index 0000000..ffa9cd1 --- /dev/null +++ b/grammars/6502 Assembly (DASM).cson @@ -0,0 +1,65 @@ +'fileTypes': [] +'foldingStartMarker': '/\\*\\*|\\{\\s*$' +'foldingStopMarker': '\\*\\*/|^\\s*\\}' +'name': '6502 Assembly (DASM)' +'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'