diff --git a/syntaxes/diagrams/erDiagram.yaml b/syntaxes/diagrams/erDiagram.yaml index 5b3dcab..f633cc0 100644 --- a/syntaxes/diagrams/erDiagram.yaml +++ b/syntaxes/diagrams/erDiagram.yaml @@ -12,7 +12,7 @@ - comment: '(entity) {' begin: !regex |- \s+([\w-]+) # entity name - \s+({) # { + \s*({) # { beginCaptures: '1': name: variable @@ -42,12 +42,12 @@ name: keyword.control.mermaid - comment: '(entity) (relationship) (entity) : (label)' match: !regex |- - \s*([\w-]+)\s+ # entity + \s*([\w-]+)\s* # entity ((?:\|o|\|\||}o|}\||one or (?:zero|more|many)|zero or (?:one|more|many)|many\((?:0|1)\)|only one|0\+|1\+?) #relationship left (?:..|--) # relationship identification - (?:o\||\|\||o{|\|{|one or (?:zero|more|many)|zero or (?:one|more|many)|many\((?:0|1)\)|only one|0\+|1\+?))\s+ # relationship right - ([\w-]+)\s+ # entity - (:)\s+ # : + (?:o\||\|\||o{|\|{|one or (?:zero|more|many)|zero or (?:one|more|many)|many\((?:0|1)\)|only one|0\+|1\+?))\s* # relationship right + ([\w-]+)\s* # entity + (:)\s* # : ((?:"[\w\s]*")|(?:[\w-]+)) # label captures: '1': diff --git a/tests/diagrams/er.test.mermaid b/tests/diagrams/er.test.mermaid index 734eb70..7c8463b 100644 --- a/tests/diagrams/er.test.mermaid +++ b/tests/diagrams/er.test.mermaid @@ -57,12 +57,12 @@ erDiagram %% ^^^^^ variable %% ^ keyword.control.mermaid %% ^^^^^^^^^^^ string - ANOTHER-ENTITY1 }|..|{ OTHER : "" + ANOTHER-ENTITY1}|..|{OTHER:"" %%^^^^^^^^^^^^^^^ variable -%% ^^^^^^ keyword.control.mermaid -%% ^^^^^ variable -%% ^ keyword.control.mermaid -%% ^^^^^^^^^^^ string +%% ^^^^^^ keyword.control.mermaid +%% ^^^^^ variable +%% ^ keyword.control.mermaid +%% ^^^^^^^^^^^ string ANOTHER-ENTITY1 }|..|{ OTHER : "multiple words" %%^^^^^^^^^^^^^^^ variable %% ^^^^^^ keyword.control.mermaid @@ -141,4 +141,4 @@ erDiagram %% ^^^^^^ keyword.control.mermaid %% ^^^^^ variable %% ^ keyword.control.mermaid -%% ^^^^^^^^^^^^^^ string \ No newline at end of file +%% ^^^^^^^^^^^^^^ string