language-65asm/grammars/65816-generic.cson

66 lines
1.6 KiB
Plaintext
Raw Normal View History

2018-06-03 02:12:44 +00:00
# Generic 65816 grammar with semicolon comments
scopeName: 'source.assembly.65816.65816-generic'
fileTypes: []
name: '65816 Assembly'
patterns: [
{ include: 'source.65816-opcodes' } # add basic 65816 instruction set, includes 6502 and 65c02 opcodes
2018-06-07 14:39:14 +00:00
{ include: 'source.65816l-opcodes' } # extend with 65816L opcodes
2018-06-03 02:12:44 +00:00
{ include: '#comments' }
{ include: '#symbols' }
]
# Repository starts here ------------------------------------------------------
repository:
# comments
comments:
patterns: [
# semicolon comments
{
match: ';.*$'
name: 'comment.line.semicolon.65816-generic'
}
]
# symbols
symbols:
patterns: [
{
begin: '"'
beginCaptures:
0:
name: 'punctuation.definition.string.begin.65816-generic'
end: '"'
endCaptures:
0:
name: 'punctuation.definition.string.end.65816-generic'
2018-06-07 16:24:53 +00:00
name: 'string.quoted.double.65816-generic'
2018-06-03 02:12:44 +00:00
}
# absolut address/number
{
match: '\\#(\'.\'|[^\\s\']+)'
name: 'constant.numeric.hex.65816-generic'
}
2018-06-07 16:24:53 +00:00
# hex, prefixed with dollar sign($)
2018-06-03 02:12:44 +00:00
{
2018-06-07 16:24:53 +00:00
match: '-?\\$\\b[a-fA-F0-9]+\\b'
2018-06-03 02:12:44 +00:00
name: 'constant.numeric.hex.65816-generic'
}
# hex, suffixed with h(h)
{
2018-06-07 15:15:47 +00:00
match: '-?([a-fA-F0-9]+)h'
2018-06-03 02:12:44 +00:00
name: 'constant.numeric.hex.65816-generic'
}
# binary
{
match: '%[01]+'
name: 'constant.numeric.binary.65816-generic'
}
# decimal
{
match: '\\b([0-9]+)\\b'
name: 'constant.numeric.decimal.65816-generic'
}
]