# 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' } # global labels { captures: 1: name: 'entity.name.function.label.dasm' match: '\\b([A-Za-z0-9_]+):' name: 'meta.function.label.dasm' } # local labels { captures: 1: name: 'entity.name.function.label.dasm' match: '\\.\\b([A-Za-z0-9_]+):' name: 'meta.function.label.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' } # data control II { match: '\\.\\b(?i:byte|word)\\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' } ]