From ef7e60bcca1e5927717a346c909345b8d60368e7 Mon Sep 17 00:00:00 2001 From: sslinky Date: Sun, 26 May 2024 15:37:40 +0800 Subject: [PATCH 1/5] Enum works again --- client/src/syntaxes/vba.tmLanguage.yaml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/client/src/syntaxes/vba.tmLanguage.yaml b/client/src/syntaxes/vba.tmLanguage.yaml index d124c12..a0e6361 100644 --- a/client/src/syntaxes/vba.tmLanguage.yaml +++ b/client/src/syntaxes/vba.tmLanguage.yaml @@ -16,6 +16,7 @@ repository: - include: "#labels" # Handle labels first so they aren't handled by lines. - include: "#methodSignature" - include: "#continuations" # Consume continuations so they "continue" other matches. + - include: "#enum" - include: "#syntaxLines" # Split document lines into syntax lines. continuations: @@ -42,25 +43,12 @@ repository: match: ((?:[^\n":]|"(?:\\.|[^\n"\\])*")+|"(?:\\.|[^\n"\\])*") captures: 1: # Split line - # patterns: - # - include: "#strings" - # - include: "#syntaxLine" - # 2: # Single syntax line. patterns: - include: "#main" - # repository: - # syntaxLine: - # name: meta.syntax-line.vba - # match: (?:(.*):) - # captures: - # 1: - # patterns: - # - include: "main" main: patterns: - include: "#moduleHeader" - - include: "#enum" - include: "#struct" - include: "#declareFunctionSignature" - include: "#methodSignature" From 89c4988bf3d73d9e6afa89fab753951375387ca4 Mon Sep 17 00:00:00 2001 From: sslinky Date: Sun, 26 May 2024 15:38:39 +0800 Subject: [PATCH 2/5] Comments supported in enum begin --- client/src/syntaxes/vba.tmLanguage.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/client/src/syntaxes/vba.tmLanguage.yaml b/client/src/syntaxes/vba.tmLanguage.yaml index a0e6361..f75f097 100644 --- a/client/src/syntaxes/vba.tmLanguage.yaml +++ b/client/src/syntaxes/vba.tmLanguage.yaml @@ -459,13 +459,17 @@ repository: enum: name: meta.enum.declaration.vba - begin: (?i)^\s*((?:(?:Public|Private) )?\s*Enum)\s+([a-z][a-z0-9_]*) + begin: (?i)^\s*((?:(?:Public|Private)\s+)?\s*Enum)\s+([a-z][a-z0-9_]+)(\s+(?:'|Rem).*) beginCaptures: 1: name: storage.type.enum.vba 2: name: entity.name.type.enum.vba + 3: + patterns: + - include: "#comments" patterns: + - include: "#comment" - include: "#enumMember" end: (?i)^\s*End\s+Enum\b endCaptures: From 18be731ef33acad7708416d869b1e92b5b08ffa0 Mon Sep 17 00:00:00 2001 From: sslinky Date: Sun, 26 May 2024 15:40:52 +0800 Subject: [PATCH 3/5] Variable assignment now works in With block --- client/src/syntaxes/vba.tmLanguage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/syntaxes/vba.tmLanguage.yaml b/client/src/syntaxes/vba.tmLanguage.yaml index f75f097..438e650 100644 --- a/client/src/syntaxes/vba.tmLanguage.yaml +++ b/client/src/syntaxes/vba.tmLanguage.yaml @@ -665,7 +665,7 @@ repository: # TODO: Redo this so it can take into account chaining, e.g.: # MyClass.MyProp = SomeObject.Foo(20) variableAssignment: - match: (?i)((Get|Let|Set)\s+)?([a-z][a-z0-9._]*)(\s*=\s*)(.*) + match: (?i)((Get|Let|Set)\s+)?([a-z.][a-z0-9._]*)(\s*=\s*)(.*) captures: 2: name: keyword.control.vba From d2b371c38fc3df2dc97deda4012c2987b9985bf6 Mon Sep 17 00:00:00 2001 From: sslinky Date: Sun, 26 May 2024 15:41:10 +0800 Subject: [PATCH 4/5] Fixed enumMember --- client/src/syntaxes/vba.tmLanguage.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/client/src/syntaxes/vba.tmLanguage.yaml b/client/src/syntaxes/vba.tmLanguage.yaml index 438e650..27fc327 100644 --- a/client/src/syntaxes/vba.tmLanguage.yaml +++ b/client/src/syntaxes/vba.tmLanguage.yaml @@ -477,16 +477,19 @@ repository: name: storage.type.enum.vba enumMember: - match: (?i)^\s*([a-z][a-z0-9_]*)(\s+=.*)?('.*)?$ + match: (?i)^\s*([a-z][a-z0-9_]*)(?:\s+(=)\s+([^\n']*)\s+)?('.*)?$ captures: 1: name: constant.numeric.enum.vba 2: patterns: - - include: "#language" + - include: "#operators" 3: patterns: - - include: "#comment" + - include: "#language" + 4: + patterns: + - include: "#comments" struct: name: meta.struct.declaration.vba From 60155db5ad7ac5c2a56058ad1c6b6cb8084317c1 Mon Sep 17 00:00:00 2001 From: sslinky Date: Sun, 26 May 2024 15:46:07 +0800 Subject: [PATCH 5/5] ^ operator now recognised --- client/src/syntaxes/vba.tmLanguage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/syntaxes/vba.tmLanguage.yaml b/client/src/syntaxes/vba.tmLanguage.yaml index 27fc327..961ab17 100644 --- a/client/src/syntaxes/vba.tmLanguage.yaml +++ b/client/src/syntaxes/vba.tmLanguage.yaml @@ -100,7 +100,7 @@ repository: repository: opsArithmetic: name: keyword.operator.arithmetic.vba - match: (?i)([*&/\+-]|\bMod\b) + match: (?i)([*&\/\^\+\-]|\^|\bMod\b) opsComparison: name: keyword.operator.comparison.vba match: (?i)([<>=]|\b(is|like)\b)