diff --git a/syntaxes/kickassembler.tmLanguage b/syntaxes/kickassembler.tmLanguage index 55d4c28..9b454e3 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.function match - (?:^|\s)((\.namespace)\s*([A-Za-z_][A-Za-z0-9_]*))\b + (?:^\s*|;\s*)(((!)|(!?(\@*[A-Za-z_][A-Za-z0-9_]*)+))\:) + name + label captures @@ -347,11 +434,11 @@ More... 3 name - entity.name.pseudocommand + entity.name.function.pseudocommand 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 @@ -359,7 +446,7 @@ More... 1 name - meta.label.identifier + meta.function.identifier 2 @@ -369,11 +456,11 @@ More... 3 name - entity.name.function + entity.name.function.function match - (?:^|\s)((\.function)\s*([A-Za-z0-9_]*))\b + (?:^\s*|;\s*)((\.function)\s*(\@*[A-Za-z0-9_]*))\b captures @@ -391,11 +478,11 @@ More... 3 name - entity.name.macro + entity.name.function.macro 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 +