From: Brendan Hansen Date: Wed, 22 Feb 2023 17:58:09 +0000 (-0600) Subject: vscode: updated syntax defintion for better outline and sticky scroll X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=8f1bacf0b674f23448f1c5785ee736f9f8261c9b;p=onyx.git vscode: updated syntax defintion for better outline and sticky scroll --- diff --git a/misc/vscode/onyx-0.1.5.vsix b/misc/vscode/onyx-0.1.5.vsix new file mode 100644 index 00000000..ddeb2156 Binary files /dev/null and b/misc/vscode/onyx-0.1.5.vsix differ diff --git a/misc/vscode/package.json b/misc/vscode/package.json index 5978baf6..371a5dc6 100644 --- a/misc/vscode/package.json +++ b/misc/vscode/package.json @@ -2,7 +2,7 @@ "name": "onyx", "displayName": "Onyx", "description": "Onyx syntax highlighting.", - "version": "0.1.4", + "version": "0.1.5", "publisher": "brendanfh", "license": "BSD-2-Clause", "engines": { diff --git a/misc/vscode/syntaxes/onyx.tmLanguage b/misc/vscode/syntaxes/onyx.tmLanguage index 236b2be9..43605084 100644 --- a/misc/vscode/syntaxes/onyx.tmLanguage +++ b/misc/vscode/syntaxes/onyx.tmLanguage @@ -38,6 +38,10 @@ include #string_escaped_char + + include + #generic_tags + repository @@ -59,6 +63,7 @@ + line_comment begin @@ -127,6 +132,7 @@ + comments patterns @@ -148,6 +154,7 @@ + keywords patterns @@ -172,7 +179,7 @@ match - \b(it|it_index)\b + \b(it)\b name keyword.other.onyx @@ -212,20 +219,15 @@ name keyword.function.onyx - - match - ([#]\s*\b([[:alpha:]_]+[[:alnum:]_]*)\b) - name - keyword.tag.onyx - - + + types patterns @@ -287,6 +289,7 @@ + functions_and_declarations patterns @@ -360,13 +363,47 @@ match - \b(\b[[:alpha:]_]+[[:alnum:]_]*\b)\s*[:]\s*[:]\s*(struct|enum|interface) + \b(\b[[:alpha:]_]+[[:alnum:]_]*\b)\s*[:]\s*[:]\s*(struct) captures 1 name - meta.type.onyx entity.name.type.onyx + meta.type.onyx entity.name.type.class.onyx + + 2 + + name + storage.type.onyx + + + + + match + \b(\b[[:alpha:]_]+[[:alnum:]_]*\b)\s*[:]\s*[:]\s*(interface) + captures + + 1 + + name + meta.type.onyx entity.name.type.interface.onyx + + 2 + + name + storage.type.onyx + + + + + match + \b(\b[[:alpha:]_]+[[:alnum:]_]*\b)\s*[:]\s*[:]\s*(enum) + captures + + 1 + + name + meta.type.onyx entity.name.type.enum.onyx 2 @@ -406,13 +443,35 @@ match - \b([#]\s*foreign) + ([#]\s*\b(?:foreign|local|package)\b).+({) captures 1 name - keyword.tag.onyx entity.name.block.onyx + keyword.tag.onyx entity.name.type.namespace.onyx + + 2 + + name + punctuation.block.start.onyx + + + + + match + ([#]\s*\binject\b)\s+(\b[^{]+\b) + captures + + 1 + + name + keyword.tag.onyx + + 2 + + name + entity.name.type.namespace.onyx @@ -430,6 +489,7 @@ + string_escaped_char patterns @@ -448,6 +508,7 @@ + strings patterns @@ -485,6 +546,25 @@ + + generic_tags + + patterns + + + match + ([#]\s*\b([[:alpha:]_]+[[:alnum:]_]*)\b) + name + keyword.tag.onyx + + + match + @[^\n]+ + name + keyword.tag.onyx + + + diff --git a/misc/vscode/textmate-configuration.json b/misc/vscode/textmate-configuration.json index 23901782..0797dc35 100644 --- a/misc/vscode/textmate-configuration.json +++ b/misc/vscode/textmate-configuration.json @@ -22,7 +22,12 @@ "declarations": [ "entity.name.function.onyx", "entity.name.type.onyx", - "entity.name.block.onyx" + "entity.name.type.class.onyx", + "entity.name.type.interface.onyx", + "entity.name.type.enum.onyx", + "entity.name.type.namespace.onyx", + "entity.name.block.onyx", + "entity.name.tag.onyx" ], "indentation": { "punctuation.block.begin.onyx": 1, @@ -38,6 +43,10 @@ }, "symbols": { "entity.name.function.onyx": 11, + "entity.name.type.namespace.onyx": 2, + "entity.name.type.class.onyx": 4, + "entity.name.type.interface.onyx": 10, + "entity.name.type.enum.onyx": 9, "entity.name.type.onyx": 22 } } \ No newline at end of file