From 4ddad0b27a2e6a6c76f623a9e590b9e2b350fe37 Mon Sep 17 00:00:00 2001 From: John Mumm Date: Thu, 10 Oct 2013 12:39:52 -0400 Subject: [PATCH] First version syntax definition --- 6502asm.JSON-tmLanguage | 83 ++++++++++++++++++++++++++++ 6502asm.tmLanguage | 117 ++++++++++++++++++++++++++++++++++++++++ package-metadata.json | 1 + package-metadata.plist | 12 +++++ 4 files changed, 213 insertions(+) create mode 100644 6502asm.JSON-tmLanguage create mode 100644 6502asm.tmLanguage create mode 100644 package-metadata.json create mode 100644 package-metadata.plist diff --git a/6502asm.JSON-tmLanguage b/6502asm.JSON-tmLanguage new file mode 100644 index 0000000..e17ee83 --- /dev/null +++ b/6502asm.JSON-tmLanguage @@ -0,0 +1,83 @@ +{ + "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.operator.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.operator.asm", + "comment": "Branch instruction mnemonics" + }, + + { + "match": "(?i)\\b(bit|cmp|cpx|cpy)\\b", + "name": "keyword.operator.asm", + "comment": "Comparison instructions" + }, + + { + "match": "(?i)\\b(clc|cld|cli|clv|sec|sed|sei)\\b", + "name": "keyword.operator.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.operator.asm", + "comment": "Load, store, and transfer instructions" + }, + + { + "match": "(\/\/|;)(\\s|\\S)*", + "name": "comment.line.asm", + "comment": "Comment line" + }, + + { + "begin": "(\/\\*)", + "end": "(\\*\/)", + "name": "comment.block.asm", + "comment": "C-style comment block (AVR ASM 2.0 only)" + }, + + { + "match": "(^|\\s)\"[\\w\\s\\W]*\"($|\\s)", + "name": "string.asm", + "comment": "Single-line string" + }, + + { + "match": "(^|\\s)\\'[\\w\\s\\W]*\\'($|\\s)", + "name": "string.asm", + "comment": "Single-line string" + }, + + { + "match": "(?i)\\b($(\\d|[A-F])+)\\b", + "name": "constant.numeric.asm", + "comment": "Hex number constant" + }, + + { + "match": "\\%(0b(0|1)+)\\b", + "name": "constant.numeric.asm", + "comment": "Bin number constant" + }, + + { + "match": "\\#^$^%(0|[1-9]\\d+)\\b", + "name": "constant.numeric.asm", + "comment": "Dec number constant" + } + + ], + + "uuid": "2d29de24-0f40-4855-a408-6fe8b3055153" +} \ No newline at end of file diff --git a/6502asm.tmLanguage b/6502asm.tmLanguage new file mode 100644 index 0000000..bda84b3 --- /dev/null +++ b/6502asm.tmLanguage @@ -0,0 +1,117 @@ + + + + + fileTypes + + asm + + name + 6502 asm + patterns + + + comment + Arithmetic and logic instruction mnemonics + match + (?i)\b(adc|and|asl|dec|dex|dey|eor|inc|inx|iny|lsr|ora|rol|ror|sbc)\b + name + keyword.operator.asm + + + comment + Branch instruction mnemonics + match + (?i)\b(bcc|bcs|beq|bmi|bne|bpl|bvc|bvs|jmp|jsr|rti|rts)\b + name + keyword.operator.asm + + + comment + Comparison instructions + match + (?i)\b(bit|cmp|cpx|cpy)\b + name + keyword.operator.asm + + + comment + Flag setting instructions + match + (?i)\b(clc|cld|cli|clv|sec|sed|sei)\b + name + keyword.operator.asm + + + comment + Load, store, and transfer instructions + match + (?i)\b(lda|ldx|ldy|pha|php|pla|plp|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\b + name + keyword.operator.asm + + + comment + Comment line + match + (//|;)(\s|\S)* + name + comment.line.asm + + + begin + (/\*) + comment + C-style comment block (AVR ASM 2.0 only) + end + (\*/) + name + comment.block.asm + + + comment + Single-line string + match + (^|\s)"[\w\s\W]*"($|\s) + name + string.asm + + + comment + Single-line string + match + (^|\s)\'[\w\s\W]*\'($|\s) + name + string.asm + + + comment + Hex number constant + match + (?i)\b($(\d|[A-F])+)\b + name + constant.numeric.asm + + + comment + Bin number constant + match + \%(0b(0|1)+)\b + name + constant.numeric.asm + + + comment + Dec number constant + match + \#^$^%(0|[1-9]\d+)\b + name + constant.numeric.asm + + + scopeName + source.asm + uuid + 2d29de24-0f40-4855-a408-6fe8b3055153 + + diff --git a/package-metadata.json b/package-metadata.json new file mode 100644 index 0000000..b85d822 --- /dev/null +++ b/package-metadata.json @@ -0,0 +1 @@ +{"url": "https://github.com/jtfmumm/6502asm-sublime", "version": "0.1", "description": "6502 asm syntax definition for Sublime Text 2"} diff --git a/package-metadata.plist b/package-metadata.plist new file mode 100644 index 0000000..39c1a60 --- /dev/null +++ b/package-metadata.plist @@ -0,0 +1,12 @@ + + + + + description + 6502 asm syntax definition for Sublime Text 2 + url + https://github.com/jtfmumm/6502asm-sublime + version + 0.1 + +