6502asm-sublime/6502asm.JSON-tmLanguage
2013-10-11 12:08:15 -04:00

89 lines
2.3 KiB
JSON

{
"name": "6502 asm",
"scopeName": "source.asm",
"fileTypes": ["asm"],
"patterns": [
{
"match": "(?i)\\b(adc|and|asl|dec|dex|dey|eor|inc|inx|iny|lsr|ora|rol|ror|sbc)\\b",
"name": "keyword.arithlogic.asm",
"comment": "Arithmetic and logic instruction mnemonics"
},
{
"match": "(?i)\\b(bcc|bcs|beq|bmi|bne|bpl|bvc|bvs|jmp|jsr|rti|rts)\\b",
"name": "keyword.branch.asm",
"comment": "Branch instruction mnemonics"
},
{
"match": "(?i)\\b(bit|cmp|cpx|cpy)\\b",
"name": "keyword.compare.asm",
"comment": "Comparison instructions"
},
{
"match": "(?i)\\b(clc|cld|cli|clv|sec|sed|sei)\\b",
"name": "keyword.flagset.asm",
"comment": "Flag setting instructions"
},
{
"match": "(?i)\\b(lda|ldx|ldy|pha|php|pla|plp|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\\b",
"name": "keyword.transfer.asm",
"comment": "Load, store, and transfer instructions"
},
{
"match": "(\/\/|;)(\\s|\\S)*",
"name": "comment.line.asm",
"comment": "Comment line"
},
{
"match": "(?i)\\b([\\w|\\d]*)\\:",
"name": "support.class.asm",
"comment": "Jump label"
},
{
"match": "(?i)\\.([\\w|\\d]*)\\b",
"name": "entity.name.function.asm",
"comment": "."
},
{
"match": "(^|\\s)\"[\\w\\s\\W]*\"",
"name": "string.asm",
"comment": "Single-line string"
},
{
"match": "(^|\\s)\\'[\\w\\s\\W]*\\'($|\\s)",
"name": "string.asm",
"comment": "Single-line string"
},
{
"match": "(?i)\\$((\\d|[A-F])+)\\b",
"name": "constant.numeric.asm",
"comment": "Hex number constant"
},
{
"match": "(?i)\\%([0|1]+)\\b",
"name": "constant.numeric.asm",
"comment": "Binary number constant"
},
{
"match": "(?i)\\#([0-9]+)\\b",
"name": "constant.numeric.asm",
"comment": "Decimal number constant"
}
],
"uuid": "2d29de24-0f40-4855-a408-6fe8b3055153"
}