{"scopeName":"source.mermaid.flowchart","patterns":[{"include":"#main"}],"repository":{"class":{"name":"meta.class.statement.mermaid","begin":"(?:\\G|^|(?\u003c=\\s|;|%%))class(?=$|\\s|;)","end":"([\\w$\u0026]+)?[ \\t]*(?=$|;)","patterns":[{"name":"entity.name.tag.node.mermaid","match":"([\\w$\u0026]+)(?=$|\\s|;|,)"},{"include":"#comma"}],"beginCaptures":{"0":{"name":"storage.type.style-assignment.mermaid"}},"endCaptures":{"1":{"name":"entity.name.class.mermaid"}}},"click":{"name":"meta.click.statement.mermaid","begin":"(?:\\G|^|(?\u003c=\\s|;|%%))(click)(?=$|\\s|;)(?:\\s+([\\w$\u0026]+))?","end":"[ \\t]*$|(?=;)","patterns":[{"include":"#click-href"},{"include":"#click-call"}],"beginCaptures":{"1":{"name":"storage.type.interactive-command.mermaid"},"2":{"name":"entity.name.tag.node.mermaid"}}},"click-call":{"name":"meta.callback-assignment.mermaid","begin":"\\G\\s+(?:(call)(?=$|\\s|;)[ \\t]*|(?=[^\\s\\(%;\"']))","end":"[ \\t]*$|(?=;)","patterns":[{"name":"meta.callback-reference.mermaid","begin":"\\G[^\\s\\(%;\"']+","end":"(?!\\G)|(?=[ \\t]*(?:$|;))","patterns":[{"name":"meta.callback-arguments.mermaid","begin":"\\G\\(","end":"\\)","patterns":[{"name":"variable.parameter.function.mermaid","match":"[^\\s,\\)%;]+"},{"include":"#comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.mermaid"}}}],"beginCaptures":{"0":{"name":"entity.name.function.callback.mermaid"}}},{"include":"#tooltip"}],"beginCaptures":{"1":{"name":"storage.modifier.callback-assignment.mermaid"}}},"click-href":{"name":"meta.link-assignment.mermaid","begin":"\\G\\s+(?:(href)(?=$|\\s|;)[ \\t]*|(?=[\"']))","end":"[ \\t]*$|(?=;)","patterns":[{"begin":"\\G(?=\"|')","end":"(?!\\G)","patterns":[{"include":"#url"}]},{"include":"#tooltip"},{"include":"#target-name"}],"beginCaptures":{"1":{"name":"storage.modifier.link-assignment.mermaid"}}},"html":{"patterns":[{"include":"source.mermaid#br"},{"include":"source.mermaid#entity"}]},"link":{"patterns":[{"name":"meta.labelled-link.delimited.mermaid","contentName":"string.quoted.other.link-label.mermaid","begin":"([xo\u003c]?(?:--+[-xo\u003e]|==+[=xo\u003e]|-?\\.+-[xo\u003e]?))\\s*(\\|)[ \\t]*","end":"\\s*(\\|)","beginCaptures":{"1":{"patterns":[{"include":"#link"}]},"2":{"name":"keyword.operator.link-label.begin.mermaid"}},"endCaptures":{"1":{"name":"keyword.operator.link-label.end.mermaid"}}},{"name":"keyword.operator.link.thin.mermaid","match":"[xo\u003c]?--+[-xo\u003e]"},{"name":"keyword.operator.link.thick.mermaid","match":"[xo\u003c]?==+[=xo\u003e]"},{"name":"keyword.operator.link.dotted.mermaid","match":"[xo\u003c]?-?\\.+-[xo\u003e]?"},{"name":"meta.labelled-link.mermaid","contentName":"string.unquoted.link-label.mermaid","begin":"([xo\u003c]?--)[ \\t]*","end":"\\s*([xo\u003c]?--+[-xo\u003e])","beginCaptures":{"1":{"name":"keyword.operator.link.thin.begin.mermaid"}},"endCaptures":{"1":{"name":"keyword.operator.link.thin.end.mermaid"}}},{"name":"meta.link.thick.labelled.unpiped.mermaid","contentName":"string.unquoted.link-label.mermaid","begin":"([xo\u003c]?==)[ \\t]*","end":"\\s*([xo\u003c]?==+[=xo\u003e])","beginCaptures":{"1":{"name":"keyword.operator.link.thick.begin.mermaid"}},"endCaptures":{"1":{"name":"keyword.operator.link.thick.end.mermaid"}}},{"name":"meta.link.dotted.labelled.unpiped.mermaid","contentName":"string.unquoted.link-label.mermaid","begin":"([xo\u003c]?-\\.)[ \\t]*","end":"\\s*([xo\u003c]?-?\\.+-[xo\u003e]?)","beginCaptures":{"1":{"name":"keyword.operator.link.dotted.begin.mermaid"}},"endCaptures":{"1":{"name":"keyword.operator.link.dotted.end.mermaid"}}}]},"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"#style"},{"include":"#class"},{"include":"#click"},{"include":"#link"},{"include":"#subgraph"},{"include":"#node"},{"include":"source.mermaid#terminator"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"}]},"node":{"name":"meta.node.statement.mermaid","begin":"[\\w$\u0026]+","end":"(?!\\G)|(?=\\s*(?:$|;))","patterns":[{"include":"#node-shapes"},{"include":"#node-class-shorthand"},{"include":"#node-combinator"},{"include":"#link"}],"beginCaptures":{"0":{"name":"entity.name.tag.node.mermaid"}},"applyEndPatternLast":true},"node-class-shorthand":{"match":"(?\u003c=\\S)(:::)(?:(?:(default)|([\\w$\u0026]+))(?:\\b|(?\u003c=[$\u0026])))?","captures":{"1":{"name":"keyword.operator.node-class.mermaid"},"2":{"name":"constant.language.default-styling.mermaid"},"3":{"name":"entity.name.class.mermaid"}}},"node-combinator":{"match":"\\s+(\u0026)(?:$|[ \\t]+)","captures":{"1":{"name":"keyword.operator.logical.and.mermaid"}}},"node-innards":{"patterns":[{"name":"string.quoted.double.mermaid","begin":"\\G\"","end":"(\")|([^\"]+)$","patterns":[{"include":"#html"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"patterns":[{"include":"#unclosed-string"}]}}},{"name":"string.quoted.single.mermaid","begin":"\\G'","end":"(')|([^']+)$","patterns":[{"include":"#html"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"patterns":[{"include":"#unclosed-string"}]}}},{"include":"#html"}]},"node-shape-circle":{"name":"string.unquoted.node-text.circle.mermaid","begin":"\\G(\\({2})","end":"((\\){2}))|((?:(?\u003c!\\))\\)(?!\\))|[^\\r\\n)])++)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-cylinder":{"name":"string.unquoted.node-text.cylinder.mermaid","begin":"\\G(\\[\\()","end":"((\\)\\]))|((?:[^\\r\\n)]|\\)(?!\\]))++)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-diamond":{"name":"string.unquoted.node-text.diamond.mermaid","begin":"\\G({)","end":"((}))|([^\\r\\n}]+)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-double-circle":{"name":"string.unquoted.node-text.double-circle.mermaid","begin":"\\G(\\({3})","end":"((\\){3}))|((?:[^\\r\\n)]|(?\u003c!\\)\\))\\))++)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-ellipse":{"name":"string.unquoted.node-text.ellipse.mermaid","begin":"\\G(\\(-)","end":"((-\\)))|((?:[^-\\r\\n)]|-(?!\\)))++)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-hexagon":{"name":"string.unquoted.node-text.hexagon.mermaid","begin":"\\G({{)","end":"((}}))|((?:[^\\r\\n}]|}(?!}))++)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-polygon":{"name":"string.unquoted.node-text.polygon.mermaid","begin":"\\G(\\[[/\\\\])","end":"(([\\\\/]\\]))|((?:[^\\r\\n\\]]|(?\u003c![\\\\/])\\])++)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-rectangle-with-props":{"name":"string.unquoted.node-text.rectangle-with-props.mermaid","begin":"\\G((\\[\\|))([A-Za-z]+)((:))([A-Za-z]+)((\\|))(?!\\])","end":"((\\|\\]))|((?:[^\\r\\n\\]]|(?\u003c!\\|)\\])++)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"name":"entity.other.attribute-name.class.mermaid"},"4":{"name":"punctuation.separator.key-value.colon.mermaid"},"5":{"name":"sublimelinter.gutter-mark.mermaid"},"6":{"name":"constant.other.attribute-value.mermaid"},"7":{"name":"punctuation.separator.pipe.mermaid"},"8":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-ribbon":{"name":"string.unquoted.node-text.ribbon.mermaid","begin":"\\G(\u003e)","end":"((\\]))|([^\\r\\n\\]]+)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-round":{"name":"string.unquoted.node-text.round.mermaid","begin":"\\G(\\()","end":"((\\)))|([^\\r\\n)]+)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-square":{"name":"string.unquoted.node-text.square.mermaid","begin":"\\G(\\[)","end":"((\\]))|([^\\r\\n\\]]+)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-stadium":{"name":"string.unquoted.node-text.stadium.mermaid","begin":"\\G(\\(\\[)","end":"((\\]\\)))|((?:[^\\r\\n)]|(?\u003c!\\])\\))++)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shape-subroutine":{"name":"string.unquoted.node-text.subroutine.mermaid","begin":"\\G(\\[\\[)","end":"((\\]\\]))|((?:[^\\r\\n\\]]|(?\u003c!\\])\\])++)$","patterns":[{"include":"#node-innards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"sublimelinter.gutter-mark.mermaid"},"3":{"patterns":[{"include":"#unclosed-string"}]}}},"node-shapes":{"patterns":[{"include":"#node-shape-polygon"},{"include":"#node-shape-stadium"},{"include":"#node-shape-cylinder"},{"include":"#node-shape-subroutine"},{"include":"#node-shape-rectangle-with-props"},{"include":"#node-shape-square"},{"include":"#node-shape-double-circle"},{"include":"#node-shape-circle"},{"include":"#node-shape-ellipse"},{"include":"#node-shape-round"},{"include":"#node-shape-hexagon"},{"include":"#node-shape-diamond"},{"include":"#node-shape-ribbon"}]},"style":{"name":"meta.$1.statement.mermaid","begin":"(?:\\G|^|(?\u003c=\\s|;|%%))(style|classDef|linkStyle)(?=$|\\s|;)","end":"[ \\t]*$|(?=;)","patterns":[{"match":"(?\u003c=style)\\G\\s+([\\w$\u0026]+)","captures":{"1":{"name":"entity.name.tag.node.mermaid"}}},{"match":"(?\u003c=classDef)\\G\\s+(?:(default)|([\\w$\u0026]+))(?:\\b|(?\u003c=[$\u0026]))","captures":{"1":{"name":"constant.language.default-styling.mermaid"},"2":{"name":"entity.name.class.mermaid"}}},{"match":"(?\u003c=linkStyle)\\G\\s+(?:(default)|([,\\d]+))(?:\\s+(interpolate)\\s+([\\w$\u0026]+))?(?=$|\\s|;)","captures":{"1":{"name":"constant.language.default-styling.mermaid"},"2":{"name":"meta.link-indexes.mermaid","patterns":[{"name":"constant.numeric.integer.link-index.mermaid","match":"\\d+"},{"include":"#comma"}]},"3":{"name":"keyword.operator.interpolation-type.mermaid"},"4":{"name":"support.constant.interpolation-type.mermaid"}}},{"include":"source.mermaid#inline-css"}],"beginCaptures":{"0":{"name":"storage.type.style-definition.mermaid"}}},"subgraph":{"name":"meta.subgraph.mermaid","begin":"(?:\\G|^|(?\u003c=\\s|;|%%))subgraph(?=$|\\s|;)","end":"(?:\\G|^|(?\u003c=\\s|;|%%))end(?=$|\\s|;)","patterns":[{"begin":"\\G\\s+([\\w$\u0026]+)[ \\t]*","end":"(?!\\G)|(?=[ \\t]*(?:$|;))","patterns":[{"name":"string.unquoted.subgraph-title.mermaid","begin":"\\G(\\[)","end":"(\\])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"},"1":{"name":"sublimelinter.gutter-mark.mermaid"}}}],"beginCaptures":{"1":{"name":"entity.name.subgraph.mermaid"}}},{"include":"source.mermaid#direction"},{"include":"#main"}],"beginCaptures":{"0":{"name":"keyword.control.subgraph.begin.mermaid"}},"endCaptures":{"0":{"name":"keyword.control.subgraph.end.mermaid"}}},"target-name":{"name":"constant.language.link-target.mermaid","match":"(?\u003c=\\s|;|%%)(_)[-\\w]+(?=$|\\s|;|%%)","captures":{"1":{"name":"punctuation.definition.link-target.mermaid"}}},"tooltip":{"name":"string.quoted.double.callback-tooltip.mermaid","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"}}},"unclosed-string":{"name":"invalid.illegal.unclosed-string.mermaid","match":"(?:^|\\G).+","captures":{"0":{"patterns":[{"include":"#html"}]}}},"url":{"patterns":[{"name":"string.quoted.double.link-destination.mermaid","contentName":"string.other.link.mermaid","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"}}},{"name":"string.quoted.single.link-destination.mermaid","contentName":"string.other.link.mermaid","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"}}}]}}}