From 4110de75759b79a1249551624d2ad7a76c968e43 Mon Sep 17 00:00:00 2001 From: Swoffa Date: Wed, 12 Apr 2017 23:08:50 +0200 Subject: [PATCH 1/2] Kick Assembler 4.x support --- syntaxes/kickassembler.tmLanguage | 169 ++++++++++++++++++++++-------- 1 file changed, 128 insertions(+), 41 deletions(-) diff --git a/syntaxes/kickassembler.tmLanguage b/syntaxes/kickassembler.tmLanguage index 55d4c28..19d7dc9 100644 --- a/syntaxes/kickassembler.tmLanguage +++ b/syntaxes/kickassembler.tmLanguage @@ -1,13 +1,5 @@ - - fileTypes @@ -16,11 +8,8 @@ More... .inc .s .a + .lib - foldingStartMarker - \/\*|\{\s*$ - foldingStopMarker - \*\/|^\s*\} name KickAssembler (C64) patterns @@ -75,7 +64,7 @@ More... name comment.line.double-slashs - + captures 1 @@ -85,14 +74,20 @@ More... match - (?:^|\s)(\.(word|byte|text|dword))\b + (?:^|\s)(\.(word|byte|text|dword))\b match - \b(CmdArgument|Hashtable)\b + \b(CmdArgument)\b name storage.type.kickass + + match + \b(getNamespace)\b + name + support.function.language + match \b(toIntString|toBinaryString|toOctalString|toHexString)\b @@ -139,7 +134,7 @@ More... match - (?:^|\s)(\.(struct|enum))\b + (?:^|\s)(\.(struct|enum))\b captures @@ -165,6 +160,82 @@ More... match (?:^|\s)(\.(pc|importonce|pseudopc|return|eval))\b + + captures + + 1 + + name + keyword.kickass + + + match + (?:^\s*|;\s*)(\*)(?=\s*\=\s*) + + + match + (?:^|\s)(\.(encoding))\b + name + keyword.kickass.encoding + + + captures + + 1 + + name + keyword.kickass.preprocessor + + 3 + + name + constant.kickass.preprocessor + + + match + (?:^\s*|;\s*)(\#(define|elif|if|undef))\s+(([A-Za-z_][A-Za-z0-9_]*)+)\b + + + captures + + 1 + + name + keyword.kickass.preprocessor + + + match + (?:^\s*|;\s*)(\#(else|endif|importonce))\b + + + captures + + 1 + + name + keyword.kickass.preprocessor + + + match + (?:^\s*|;\s*)(\#(import))(?=\s+\".*\") + + + captures + + 1 + + name + keyword.kickass.preprocessor + + 3 + + name + constant.kickass.preprocessor + + + match + (?:^\s*|;\s*)(\#(importif))\s+!*(([A-Za-z_][A-Za-z0-9_]*)+)(?=\s+\".*\") + match \b(true|false)\b @@ -201,14 +272,19 @@ More... name constant.language.math - + + match + \b(Hashtable)\b + name + storage.type.hashtable + captures 1 name - storage.type + storage.type.list 2 @@ -244,12 +320,24 @@ More... 1 name - keyword.control + keyword.control.if match (?:^|\s)((\.if)\b|(else)\b) + + captures + + 1 + + name + keyword.control.while + + + match + (?:^|\s)(\.while)(?=\s*\(.*\)) + begin " @@ -267,25 +355,27 @@ More... - captures 1 name - meta.label.identifier + meta.filenamespace.identifier 2 name - entity.name.label + keyword.type.filenamespace + + 3 + + name + entity.name.filenamespace match - ^\s*(((!)|(!?([A-Za-z_][A-Za-z0-9_]*)+))\:) - name - label + (?:^\s*|;\s*)((\.filenamespace)\s*([A-Za-z_][A-Za-z0-9_]*))\b captures @@ -293,21 +383,21 @@ More... 1 name - meta.filenamespace.identifier + meta.namespace.identifier 2 name - keyword.type.filenamespace + keyword.type.namespace 3 name - entity.name.filenamespace + entity.name.namespace match - ^\s*((\.filenamespace)\s*([A-Za-z_][A-Za-z0-9_]*))\b + (?:^\s*|;\s*)((\.namespace)\s*([A-Za-z_][A-Za-z0-9_]*))\b captures @@ -315,21 +405,18 @@ More... 1 name - meta.namespace.identifier + meta.label.identifier 2 name - keyword.type.namespace - - 3 - - name - entity.name.namespace + entity.name.label match - (?:^|\s)((\.namespace)\s*([A-Za-z_][A-Za-z0-9_]*))\b + (?:^\s*|;\s*)(((!)|(!?(\@*[A-Za-z_][A-Za-z0-9_]*)+))\:) + name + label captures @@ -351,7 +438,7 @@ More... match - (?:^|\s)((\.pseudocommand)\s*([A-Za-z_][A-Za-z0-9_]*))\b + (?:^\s*|;\s*)((\.pseudocommand)\s*(\@*[A-Za-z_][A-Za-z0-9_]*))\b captures @@ -373,7 +460,7 @@ More... match - (?:^|\s)((\.function)\s*([A-Za-z0-9_]*))\b + (?:^\s*|;\s*)((\.function)\s*(\@*[A-Za-z0-9_]*))\b captures @@ -395,7 +482,7 @@ More... match - (?:^|\s)((\.macro)\s*([A-Za-z_][A-Za-z0-9_]*))\b + (?:^\s*|;\s*)((\.macro)\s*(\@*[A-Za-z_][A-Za-z0-9_]*))\b match @@ -427,4 +514,4 @@ More... uuid 107f6c61-6808-4778-893e-8fb1cbb81f30 - \ No newline at end of file + From 77cc13665f414eefbc4022d6465bdddf03edbe72 Mon Sep 17 00:00:00 2001 From: Swoffa Date: Wed, 12 Apr 2017 23:46:45 +0200 Subject: [PATCH 2/2] Kick assembler 4 language support tweaks --- syntaxes/kickassembler.tmLanguage | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/syntaxes/kickassembler.tmLanguage b/syntaxes/kickassembler.tmLanguage index 19d7dc9..9b454e3 100644 --- a/syntaxes/kickassembler.tmLanguage +++ b/syntaxes/kickassembler.tmLanguage @@ -410,7 +410,7 @@ 2 name - entity.name.label + entity.name.function match @@ -434,7 +434,7 @@ 3 name - entity.name.pseudocommand + entity.name.function.pseudocommand match @@ -446,7 +446,7 @@ 1 name - meta.label.identifier + meta.function.identifier 2 @@ -456,7 +456,7 @@ 3 name - entity.name.function + entity.name.function.function match @@ -478,7 +478,7 @@ 3 name - entity.name.macro + entity.name.function.macro match