# Syntax highlighting for the DASM macro assembler scopeName: 'source.assembly.6502.dasm' fileTypes: [] name: '6502 Assembly (DASM)' patterns: [ { include: 'source.6502-opcodes' } { include: '#comments' } { include: '#symbols' } # { include: '#directives' } ] # Repository starts here ------------------------------------------------------ repository: # comments comments: patterns: [ # semicolon comments { match: ';.*$' name: 'comment.line.semicolon.dasm' } ] # symbols symbols: patterns: [ # strings { begin: '"' beginCaptures: 0: name: 'punctuation.definition.string.begin.dasm' end: '"' endCaptures: 0: name: 'punctuation.definition.string.end.dasm' name: 'string.quoted.double.dasm' } # absolut addressing/numbers # { # match: '\\#(\'.\'|[^\\s\']+)' # name: 'constant.numeric.hex.dasm' # } # hex, prefixed with dollar sign($) { match: '-?#?\\$\\b[a-fA-F0-9]+\\b' name: 'constant.numeric.hex.dasm' } # octal, prefixed with zero(0) { match: '-?#?\\b0[1-7]+\\b' name: 'constant.numeric.octal.dasm' } # binary { match: '#?%[01]+' name: 'constant.numeric.binary.65816-generic' } # decimal { match: '#?\\b([0-9]+)\\b' name: 'constant.numeric.decimal.65816-generic' } ] # directives directives: patterns: [ # file and symbol control { match: '\\b(?i:seg(\\.u)?|include|incbin|incdir|hex|err|r?org|processor|echo|rend|align|subroutine|)\\b' name: 'support.function.pseudo.dasm' } # data control # { # match: '\\b(?i:d[csv](.bwl)?|hex|eq[um]|set|list\\s(on|off))\\b' # name: 'support.function.pseudo.dasm' # } # Macro control # { # match: '\\b(?i:mac|endm|mexit)\\b' # name: 'support.function.pseudo.acme' # } # Conditional control # { # match: '\\b(?i:ifn?const|if|else|e(nd)?if|repeat|repend)\\b' # name: 'keyword.control.conditional.acme' # } ]