github-linguist 7.23.0 → 7.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +13 -3
  3. data/grammars/etc.json +1 -1
  4. data/grammars/hidden.manref.json +1 -1
  5. data/grammars/source.abapcds.json +1 -1
  6. data/grammars/source.astro.json +1 -1
  7. data/grammars/source.ats.json +1 -1
  8. data/grammars/source.bicep.json +1 -1
  9. data/grammars/source.cairo.json +1 -1
  10. data/grammars/source.cl.json +1 -1
  11. data/grammars/source.csswg.json +1 -1
  12. data/grammars/source.cypher.json +1 -0
  13. data/grammars/source.data-weave.json +1 -1
  14. data/grammars/source.denizenscript.json +1 -1
  15. data/grammars/source.editorconfig.json +1 -1
  16. data/grammars/source.elvish.json +1 -1
  17. data/grammars/source.gcode.json +1 -1
  18. data/grammars/source.gdscript.json +1 -1
  19. data/grammars/source.gdshader.json +1 -1
  20. data/grammars/source.hack.json +1 -1
  21. data/grammars/source.httpspec.json +1 -1
  22. data/grammars/source.imba.json +1 -0
  23. data/grammars/source.ink.json +1 -0
  24. data/grammars/source.just.json +1 -0
  25. data/grammars/source.llvm.json +1 -1
  26. data/grammars/source.man-conf.json +1 -1
  27. data/grammars/source.mermaid.c4c-diagram.json +1 -0
  28. data/grammars/source.mermaid.class-diagram.json +1 -0
  29. data/grammars/source.mermaid.er-diagram.json +1 -0
  30. data/grammars/source.mermaid.flowchart.json +1 -0
  31. data/grammars/source.mermaid.gantt.json +1 -0
  32. data/grammars/source.mermaid.gitgraph.json +1 -0
  33. data/grammars/source.mermaid.json +1 -0
  34. data/grammars/source.mermaid.pie-chart.json +1 -0
  35. data/grammars/source.mermaid.requirement-diagram.json +1 -0
  36. data/grammars/source.mermaid.sequence-diagram.json +1 -0
  37. data/grammars/source.mermaid.state-diagram.json +1 -0
  38. data/grammars/source.mermaid.user-journey.json +1 -0
  39. data/grammars/source.mo.json +1 -1
  40. data/grammars/source.move.json +1 -1
  41. data/grammars/source.opts.json +1 -1
  42. data/grammars/source.pddl.happenings.json +1 -0
  43. data/grammars/source.pddl.json +1 -0
  44. data/grammars/source.pddl.plan.json +1 -0
  45. data/grammars/source.polar.json +1 -0
  46. data/grammars/source.python.json +1 -1
  47. data/grammars/source.rescript.json +1 -1
  48. data/grammars/source.rpgle.json +1 -1
  49. data/grammars/source.scala.json +1 -1
  50. data/grammars/source.scenic.json +1 -0
  51. data/grammars/source.sfv.json +1 -0
  52. data/grammars/source.smithy.json +1 -0
  53. data/grammars/source.sqf.json +1 -1
  54. data/grammars/source.svelte.json +1 -1
  55. data/grammars/source.toc.json +1 -1
  56. data/grammars/source.ts.json +1 -1
  57. data/grammars/source.tsx.json +1 -1
  58. data/grammars/source.xojo.json +1 -1
  59. data/grammars/source.yara.json +1 -1
  60. data/grammars/text.adblock.json +1 -1
  61. data/grammars/text.grammarkdown.json +1 -0
  62. data/grammars/text.html.ecmarkup.json +1 -0
  63. data/grammars/text.html.statamic.json +1 -1
  64. data/grammars/text.restructuredtext.json +1 -1
  65. data/grammars/text.roff.json +1 -1
  66. data/grammars/text.youtube.json +1 -0
  67. data/grammars/version +1 -1
  68. data/lib/linguist/VERSION +1 -1
  69. data/lib/linguist/generated.rb +30 -1
  70. data/lib/linguist/heuristics.yml +36 -2
  71. data/lib/linguist/languages.json +1 -1
  72. data/lib/linguist/languages.yml +219 -4
  73. data/lib/linguist/samples.json +1 -1
  74. data/lib/linguist/vendor.yml +0 -1
  75. metadata +29 -3
@@ -0,0 +1 @@
1
+ {"name":"Imba","scopeName":"source.imba","patterns":[{"include":"#root"},{"name":"comment.line.shebang.imba","match":"\\A(#!).*(?=$)","captures":{"1":{"name":"punctuation.definition.comment.imba"}}}],"repository":{"array-literal":{"name":"meta.array.literal.imba","begin":"\\s*(\\[)","end":"\\]","patterns":[{"include":"#expr"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"meta.brace.square.imba"}},"endCaptures":{"0":{"name":"meta.brace.square.imba"}}},"block":{"patterns":[{"include":"#style-declaration"},{"include":"#object-keys"},{"include":"#tag-literal"},{"include":"#regex"},{"include":"#keywords"},{"include":"#comment"},{"include":"#literal"},{"include":"#plain-identifiers"},{"include":"#plain-accessors"},{"include":"#pairs"},{"include":"#invalid-indentation"}]},"boolean-literal":{"patterns":[{"name":"constant.language.boolean.true.imba","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(true|yes)(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"name":"constant.language.boolean.false.imba","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(false|no)(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"}]},"brackets":{"patterns":[{"begin":"{","end":"}|(?=\\*/)","patterns":[{"include":"#brackets"}]},{"begin":"\\[","end":"\\]|(?=\\*/)","patterns":[{"include":"#brackets"}]}]},"comment":{"patterns":[{"name":"comment.block.documentation.imba","begin":"/\\*\\*(?!/)","end":"\\*/","patterns":[{"include":"#docblock"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.imba"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.imba"}}},{"name":"comment.block.imba","begin":"(/\\*)(?:\\s*((@)internal)(?=\\s|(\\*/)))?","end":"\\*/","beginCaptures":{"1":{"name":"punctuation.definition.comment.imba"},"2":{"name":"storage.type.internaldeclaration.imba"},"3":{"name":"punctuation.decorator.internaldeclaration.imba"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.imba"}}},{"name":"comment.block.imba","begin":"(###)","end":"###(?:[ \\t]*\\n)","beginCaptures":{"1":{"name":"punctuation.definition.comment.imba"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.imba"}}},{"contentName":"comment.line.double-slash.imba","begin":"(^[ \\t]+)?((//|\\#\\s)(?:\\s*((@)internal)(?=\\s|$))?)","end":"(?=$)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.imba"},"2":{"name":"comment.line.double-slash.imba"},"3":{"name":"punctuation.definition.comment.imba"},"4":{"name":"storage.type.internaldeclaration.imba"},"5":{"name":"punctuation.decorator.internaldeclaration.imba"}}}]},"css-color-keywords":{"patterns":[{"name":"support.constant.color.w3c-standard-color-name.css","match":"(?i)(?\u003c![\\w-])(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)(?![\\w-])"},{"name":"support.constant.color.w3c-extended-color-name.css","match":"(?xi) (?\u003c![\\w-])\n(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood\n|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan\n|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange\n|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise\n|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen\n|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki\n|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow\n|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray\n|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue\n|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise\n|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered\n|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum\n|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell\n|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato\n|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)\n(?![\\w-])"},{"name":"support.constant.color.current.css","match":"(?i)(?\u003c![\\w-])currentColor(?![\\w-])"}]},"css-combinators":{"patterns":[{"name":"punctuation.separator.combinator.css","match":"\u003e\u003e\u003e|\u003e\u003e|\u003e|\\+|~"},{"name":"keyword.other.parent-selector.css","match":"\u0026"}]},"css-commas":{"name":"punctuation.separator.list.comma.css","match":","},"css-comment":{"patterns":[{"name":"comment.line.imba","match":"\\#(\\s.+)?(\\n|$)"},{"name":"comment.line.imba","match":"(^\\t+)(\\#(\\s.+)?(\\n|$))"}]},"css-escapes":{"patterns":[{"name":"constant.character.escape.codepoint.css","match":"\\\\[0-9a-fA-F]{1,6}"},{"name":"constant.character.escape.newline.css","begin":"\\\\$\\s*","end":"^(?\u003c!\\G)"},{"name":"constant.character.escape.css","match":"\\\\."}]},"css-functions":{"patterns":[{"name":"meta.function.calc.css","begin":"(?i)(?\u003c![\\w-])(calc)(\\()","end":"\\)","patterns":[{"name":"keyword.operator.arithmetic.css","match":"[*/]|(?\u003c=\\s|^)[-+](?=\\s|$)"},{"include":"#css-property-values"}],"beginCaptures":{"1":{"name":"support.function.calc.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}}},{"name":"meta.function.color.css","begin":"(?i)(?\u003c![\\w-])(rgba?|hsla?)(\\()","end":"\\)","patterns":[{"include":"#css-property-values"}],"beginCaptures":{"1":{"name":"support.function.misc.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}}},{"name":"meta.function.gradient.css","begin":"(?xi) (?\u003c![\\w-])\n(\n (?:-webkit-|-moz-|-o-)? # Accept prefixed/historical variants\n (?:repeating-)? # \"Repeating\"-type gradient\n (?:linear|radial|conic) # Shape\n -gradient\n)\n(\\()","end":"\\)","patterns":[{"name":"keyword.operator.gradient.css","match":"(?i)(?\u003c![\\w-])(from|to|at)(?![\\w-])"},{"include":"#css-property-values"}],"beginCaptures":{"1":{"name":"support.function.gradient.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}}},{"name":"meta.function.gradient.invalid.deprecated.gradient.css","begin":"(?i)(?\u003c![\\w-])(-webkit-gradient)(\\()","end":"\\)","patterns":[{"begin":"(?i)(?\u003c![\\w-])(from|to|color-stop)(\\()","end":"\\)","patterns":[{"include":"#css-property-values"}],"beginCaptures":{"1":{"name":"invalid.deprecated.function.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}}},{"include":"#css-property-values"}],"beginCaptures":{"1":{"name":"invalid.deprecated.gradient.function.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}}},{"name":"meta.function.misc.css","begin":"(?xi) (?\u003c![\\w-])\n(annotation|attr|blur|brightness|character-variant|contrast|counters?\n|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate\n|image-set|invert|local|minmax|opacity|ornaments|repeat|saturate|sepia\n|styleset|stylistic|swash|symbols)\n(\\()","end":"\\)","patterns":[{"name":"constant.numeric.other.density.css","match":"(?i)(?\u003c=[,\\s\"]|\\*/|^)\\d+x(?=[\\s,\"')]|/\\*|$)"},{"include":"#css-property-values"},{"name":"variable.parameter.misc.css","match":"[^'\"),\\s]+"}],"beginCaptures":{"1":{"name":"support.function.misc.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}}},{"name":"meta.function.shape.css","begin":"(?i)(?\u003c![\\w-])(circle|ellipse|inset|polygon|rect)(\\()","end":"\\)","patterns":[{"name":"keyword.operator.shape.css","match":"(?i)(?\u003c=\\s|^|\\*/)(at|round)(?=\\s|/\\*|$)"},{"include":"#css-property-values"}],"beginCaptures":{"1":{"name":"support.function.shape.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}}},{"name":"meta.function.timing-function.css","begin":"(?i)(?\u003c![\\w-])(cubic-bezier|steps)(\\()","end":"\\)","patterns":[{"name":"support.constant.step-direction.css","match":"(?i)(?\u003c![\\w-])(start|end)(?=\\s*\\)|$)"},{"include":"#css-property-values"}],"beginCaptures":{"1":{"name":"support.function.timing-function.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}}},{"begin":"(?xi) (?\u003c![\\w-])\n( (?:translate|scale|rotate)(?:[XYZ]|3D)?\n| matrix(?:3D)?\n| skew[XY]?\n| perspective\n)\n(\\()","end":"\\)","patterns":[{"include":"#css-property-values"}],"beginCaptures":{"1":{"name":"support.function.transform.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.section.function.end.bracket.round.css"}}}]},"css-numeric-values":{"patterns":[{"name":"constant.other.color.rgb-value.hex.css","match":"(#)(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})\\b","captures":{"1":{"name":"punctuation.definition.constant.css"}}},{"name":"constant.numeric.css","match":"(?xi) (?\u003c![\\w-])\n[-+]? # Sign indicator\n\n(?: # Numerals\n [0-9]+ (?:\\.[0-9]+)? # Integer/float with leading digits\n | \\.[0-9]+ # Float without leading digits\n)\n\n(?: # Scientific notation\n (?\u003c=[0-9]) # Exponent must follow a digit\n E # Exponent indicator\n [-+]? # Possible sign indicator\n [0-9]+ # Exponent value\n)?\n\n(?: # Possible unit for data-type:\n (%) # - Percentage\n | ( deg|grad|rad|turn # - Angle\n | Hz|kHz # - Frequency\n | ch|cm|em|ex|fr|in|mm|mozmm| # - Length\n pc|pt|px|q|rem|vh|vmax|vmin|\n vw\n | dpi|dpcm|dppx # - Resolution\n | s|ms # - Time\n )\n \\b # Boundary checking intentionally lax to\n)? # facilitate embedding in CSS-like grammars","captures":{"1":{"name":"keyword.other.unit.percentage.css"},"2":{"name":"keyword.other.unit.${2:/downcase}.css"}}}]},"css-property-values":{"patterns":[{"include":"#css-commas"},{"include":"#css-escapes"},{"include":"#css-functions"},{"include":"#css-numeric-values"},{"include":"#css-size-keywords"},{"include":"#css-color-keywords"},{"include":"#string"},{"name":"keyword.other.important.css","match":"!\\s*important(?![\\w-])"}]},"css-pseudo-classes":{"name":"entity.other.attribute-name.pseudo-class.css","match":"(?xi)\n(:)(:*)\n(?: active|any-link|checked|default|defined|disabled|empty|enabled|first\n | (?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within\n | fullscreen|host|hover|in-range|indeterminate|invalid|left|link\n | optional|out-of-range|placeholder-shown|read-only|read-write\n | required|right|root|scope|target|unresolved\n | valid|visited\n)(?![\\w-]|\\s*[;}])","captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"name":"invalid.illegal.colon.css"}}},"css-pseudo-elements":{"name":"entity.other.attribute-name.pseudo-element.css","match":"(?xi)\n(?:\n (::?) # Elements using both : and :: notation\n (?: after\n | before\n | first-letter\n | first-line\n | (?:-(?:ah|apple|atsc|epub|hp|khtml|moz\n |ms|o|rim|ro|tc|wap|webkit|xv)\n | (?:mso|prince))\n -[a-z-]+\n )\n |\n (::) # Double-colon only\n (?: backdrop\n | content\n | grammar-error\n | marker\n | placeholder\n | selection\n | shadow\n | spelling-error\n )\n)\n(?![\\w-]|\\s*[;}])","captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"name":"punctuation.definition.entity.css"}}},"css-selector":{"name":"meta.selector.css","begin":"(?\u003c=css\\s)(?!(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?)?[\\w\\-\\$]+(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?[\\w\\-\\$]+)*(?:\\s*\\:)[^\\:])","end":"(\\s*(?=(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?)?[\\w\\-\\$]+(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?[\\w\\-\\$]+)*(?:\\s*\\:)[^\\:])|\\s*$|(?=\\s+\\#\\s))","patterns":[{"include":"#css-selector-innards"}],"endCaptures":{"0":{"name":"punctuation.separator.sel-properties.css"}}},"css-selector-innards":{"patterns":[{"include":"#css-commas"},{"include":"#css-escapes"},{"include":"#css-combinators"},{"name":"entity.name.tag.wildcard.css","match":"\\*"},{"name":"meta.attribute-selector.css","begin":"\\[","end":"\\]","patterns":[{"include":"#string"},{"match":"(?\u003c=[\"'\\s]|^|\\*/)\\s*([iI])\\s*(?=[\\s\\]]|/\\*|$)","captures":{"1":{"name":"storage.modifier.ignore-case.css"}}},{"match":"(?x)(?\u003c==)\\s*((?!/\\*)(?:[^\\\\\"'\\s\\]]|\\\\.)+)","captures":{"1":{"name":"string.unquoted.attribute-value.css"}}},{"include":"#css-escapes"},{"name":"keyword.operator.pattern.css","match":"[~|^$*]?="},{"name":"punctuation.separator.css","match":"\\|"},{"match":"(?x)\n# Qualified namespace prefix\n( -?(?!\\d)(?:[\\w-]|[^\\\\x00-\\\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+\n| \\*\n)\n# Lookahead to ensure there's a valid identifier ahead\n(?=\n \\| (?!\\s|=|$|\\])\n (?: -?(?!\\d)\n | [\\\\\\w-]\n | [^\\\\x00-\\\\x7F]\n )\n)","captures":{"1":{"name":"entity.other.namespace-prefix.css"}}},{"match":"(?x)\n(-?(?!\\d)(?\u003e[\\w-]|[^\\\\x00-\\\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|.))+)\n\\s*\n(?=[~|^\\]$*=]|/\\*)","captures":{"1":{"name":"entity.other.attribute-name.css"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.entity.begin.bracket.square.css"}},"endCaptures":{"0":{"name":"punctuation.definition.entity.end.bracket.square.css"}}},{"include":"#css-pseudo-classes"},{"include":"#css-pseudo-elements"}]},"css-size-keywords":{"patterns":[{"name":"support.constant.size.property-value.css","match":"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![\\w-])"}]},"curly-braces":{"begin":"\\s*(\\{)","end":"\\}","patterns":[{"include":"#expr"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"meta.brace.curly.imba"}},"endCaptures":{"0":{"name":"meta.brace.curly.imba"}}},"decorator":{"name":"meta.decorator.imba","begin":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))\\@(?!\\@)","end":"(?=\\s)","patterns":[{"include":"#expr"}],"beginCaptures":{"0":{"name":"punctuation.decorator.imba"}}},"directives":{"name":"comment.line.triple-slash.directive.imba","begin":"^(///)\\s*(?=\u003c(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|lib|name)\\s*=\\s*((\\'([^\\'\\\\]|\\\\.)*\\')|(\\\"([^\\\"\\\\]|\\\\.)*\\\")|(\\`([^\\`\\\\]|\\\\.)*\\`)))+\\s*/\u003e\\s*$)","end":"(?=$)","patterns":[{"name":"meta.tag.imba","begin":"(\u003c)(reference|amd-dependency|amd-module)","end":"/\u003e","patterns":[{"name":"entity.other.attribute-name.directive.imba","match":"path|types|no-default-lib|lib|name"},{"name":"keyword.operator.assignment.imba","match":"="},{"include":"#string"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.imba"},"2":{"name":"entity.name.tag.directive.imba"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.directive.imba"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.imba"}}},"docblock":{"patterns":[{"match":"(?x)\n((@)(?:access|api))\n\\s+\n(private|protected|public)\n\\b","captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}}},{"match":"(?x)\n((@)author)\n\\s+\n(\n [^@\\s\u003c\u003e*/]\n (?:[^@\u003c\u003e*/]|\\*[^/])*\n)\n(?:\n \\s*\n (\u003c)\n ([^\u003e\\s]+)\n (\u003e)\n)?","captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"match":"(?x)\n((@)borrows) \\s+\n((?:[^@\\s*/]|\\*[^/])+) # \u003cthat namepath\u003e\n\\s+ (as) \\s+ # as\n((?:[^@\\s*/]|\\*[^/])+) # \u003cthis namepath\u003e","captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}}},{"name":"meta.example.jsdoc","begin":"((@)example)\\s+","end":"(?=@|\\*/)","patterns":[{"match":"^\\s\\*\\s+"},{"contentName":"constant.other.description.jsdoc","begin":"\\G(\u003c)caption(\u003e)","end":"(\u003c/)caption(\u003e)|(?=\\*/)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"match":"[^\\s@*](?:[^*]|\\*[^/])*","captures":{"0":{"name":"source.embedded.imba"}}}],"beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}}},{"match":"(?x) ((@)kind) \\s+ (class|constant|event|external|file|function|member|mixin|module|namespace|typedef) \\b","captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}}},{"match":"(?x)\n((@)see)\n\\s+\n(?:\n # URL\n (\n (?=https?://)\n (?:[^\\s*]|\\*[^/])+\n )\n |\n # JSDoc namepath\n (\n (?!\n # Avoid matching bare URIs (also acceptable as links)\n https?://\n |\n # Avoid matching {@inline tags}; we match those below\n (?:\\[[^\\[\\]]*\\])? # Possible description [preceding]{@tag}\n {@(?:link|linkcode|linkplain|tutorial)\\b\n )\n # Matched namepath\n (?:[^@\\s*/]|\\*[^/])+\n )\n)","captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}}},{"match":"(?x)\n((@)template)\n\\s+\n# One or more valid identifiers\n(\n [A-Za-z_$] # First character: non-numeric word character\n [\\w$.\\[\\]]* # Rest of identifier\n (?: # Possible list of additional identifiers\n \\s* , \\s*\n [A-Za-z_$]\n [\\w$.\\[\\]]*\n )*\n)","captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}}},{"match":"(?x)\n(\n (@)\n (?:arg|argument|const|constant|member|namespace|param|var)\n)\n\\s+\n(\n [A-Za-z_$]\n [\\w$.\\[\\]]*\n)","captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}}},{"begin":"((@)typedef)\\s+(?={)","end":"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])","patterns":[{"include":"#jsdoctype"},{"name":"entity.name.type.instance.jsdoc","match":"(?:[^@\\s*/]|\\*[^/])+"}],"beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}}},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\s+(?={)","end":"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])","patterns":[{"include":"#jsdoctype"},{"name":"variable.other.jsdoc","match":"([A-Za-z_$][\\w$.\\[\\]]*)"},{"name":"variable.other.jsdoc","match":"(?x)\n(\\[)\\s*\n[\\w$]+\n(?:\n (?:\\[\\])? # Foo[ ].bar properties within an array\n \\. # Foo.Bar namespaced parameter\n [\\w$]+\n)*\n(?:\n \\s*\n (=) # [foo=bar] Default parameter value\n \\s*\n (\n # The inner regexes are to stop the match early at */ and to not stop at escaped quotes\n (?\u003e\n \"(?:(?:\\*(?!/))|(?:\\\\(?!\"))|[^*\\\\])*?\" | # [foo=\"bar\"] Double-quoted\n '(?:(?:\\*(?!/))|(?:\\\\(?!'))|[^*\\\\])*?' | # [foo='bar'] Single-quoted\n \\[ (?:(?:\\*(?!/))|[^*])*? \\] | # [foo=[1,2]] Array literal\n (?:(?:\\*(?!/))|\\s(?!\\s*\\])|\\[.*?(?:\\]|(?=\\*/))|[^*\\s\\[\\]])* # Everything else\n )*\n )\n)?\n\\s*(?:(\\])((?:[^*\\s]|\\*[^\\s/])+)?|(?=\\*/))","captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.imba"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}}}],"beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}}},{"begin":"(?x)\n(\n (@)\n (?:define|enum|exception|export|extends|lends|implements|modifies\n |namespace|private|protected|returns?|suppress|this|throws|type\n |yields?)\n)\n\\s+(?={)","end":"(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])","patterns":[{"include":"#jsdoctype"}],"beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}}},{"match":"(?x)\n(\n (@)\n (?:alias|augments|callback|constructs|emits|event|fires|exports?\n |extends|external|function|func|host|lends|listens|interface|memberof!?\n |method|module|mixes|mixin|name|requires|see|this|typedef|uses)\n)\n\\s+\n(\n (?:\n [^{}@\\s*] | \\*[^/]\n )+\n)","captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}}},{"contentName":"variable.other.jsdoc","begin":"((@)(?:default(?:value)?|license|version))\\s+(([''\"]))","end":"(\\3)|(?=$|\\*/)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\s+([^\\s*]+)","captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}}},{"name":"storage.type.class.jsdoc","match":"(?x) (@) (?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles |callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright |default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception |exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func |function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc |inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method |mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects |override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected |public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary |suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation |version|virtual|writeOnce|yields?) \\b","captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}}},{"include":"#inline-tags"},{"match":"((@)(?:[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?))(?=\\s+)","captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}}}]},"expr":{"patterns":[{"include":"#style-declaration"},{"include":"#object-keys"},{"include":"#tag-literal"},{"include":"#regex"},{"include":"#keywords"},{"include":"#comment"},{"include":"#literal"},{"include":"#plain-identifiers"},{"include":"#plain-accessors"},{"include":"#pairs"}]},"expression":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#expr"}],"beginCaptures":{"0":{"name":"meta.brace.round.imba"}},"endCaptures":{"0":{"name":"meta.brace.round.imba"}}},{"include":"#tag-literal"},{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#literal"},{"include":"#support-objects"}]},"global-literal":{"name":"variable.language.global.imba","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(global)\\b(?!\\$)"},"identifiers":{"patterns":[{"match":"(?x)(?:(?:(\\.)|(\\.\\.(?!\\s*[[:digit:]]|\\s+)))\\s*)?([_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?)(?=\\s*={{functionOrArrowLookup}})","captures":{"1":{"name":"punctuation.accessor.imba"},"2":{"name":"punctuation.accessor.optional.imba"},"3":{"name":"entity.name.function.property.imba"}}},{"match":"(?:(\\.)|(\\.\\.(?!\\s*[[:digit:]]|\\s+)))\\s*(\\#?[[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])","captures":{"1":{"name":"punctuation.accessor.imba"},"2":{"name":"punctuation.accessor.optional.imba"},"3":{"name":"variable.other.constant.property.imba"}}},{"match":"(?:(\\.)|(\\.\\.(?!\\s*[[:digit:]]|\\s+)))([[:upper:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\!]?)","captures":{"1":{"name":"punctuation.accessor.imba"},"2":{"name":"punctuation.accessor.optional.imba"},"3":{"name":"variable.other.class.property.imba"}}},{"match":"(?:(\\.)|(\\.\\.(?!\\s*[[:digit:]]|\\s+)))(\\#?[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?)","captures":{"1":{"name":"punctuation.accessor.imba"},"2":{"name":"punctuation.accessor.optional.imba"},"3":{"name":"variable.other.property.imba"}}},{"name":"keyword.other","match":"(for own|for|if|unless|when)\\b"},{"name":"support.function.require","match":"require"},{"include":"#plain-identifiers"},{"include":"#type-literal"}]},"inline-css-selector":{"name":"meta.selector.css","begin":"(^\\t+)(?!(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?)?[\\w\\-\\$]+(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?[\\w\\-\\$]+)*(?:\\s*\\:))","end":"(\\s*(?=(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?)?[\\w\\-\\$]+(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?[\\w\\-\\$]+)*(?:\\s*\\:)|\\)|\\])|\\s*$)","patterns":[{"include":"#css-selector-innards"}],"endCaptures":{"0":{"name":"punctuation.separator.sel-properties.css"}}},"inline-styles":{"patterns":[{"include":"#style-property"},{"include":"#css-property-values"},{"include":"#style-expr"}]},"inline-tags":{"patterns":[{"name":"constant.other.description.jsdoc","match":"(\\[)[^\\]]+(\\])(?={@(?:link|linkcode|linkplain|tutorial))","captures":{"1":{"name":"punctuation.definition.bracket.square.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.square.end.jsdoc"}}},{"name":"entity.name.type.instance.jsdoc","begin":"({)((@)(?:link(?:code|plain)?|tutorial))\\s*","end":"}|(?=\\*/)","patterns":[{"match":"\\G((?=https?://)(?:[^|}\\s*]|\\*[/])+)(\\|)?","captures":{"1":{"name":"variable.other.link.underline.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}}},{"match":"\\G((?:[^{}@\\s|*]|\\*[^/])+)(\\|)?","captures":{"1":{"name":"variable.other.description.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"},"2":{"name":"storage.type.class.jsdoc"},"3":{"name":"punctuation.definition.inline.tag.jsdoc"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}}}]},"invalid-indentation":{"patterns":[{"name":"invalid.whitespace","match":"^[\\ ]+"},{"name":"invalid.whitespace","match":"^\\t+\\s+"}]},"jsdoctype":{"patterns":[{"name":"invalid.illegal.type.jsdoc","match":"\\G{(?:[^}*]|\\*[^/}])+$"},{"contentName":"entity.name.type.instance.jsdoc","begin":"\\G({)","end":"((}))\\s*|(?=\\*/)","patterns":[{"include":"#brackets"}],"beginCaptures":{"0":{"name":"entity.name.type.instance.jsdoc"},"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"}},"endCaptures":{"1":{"name":"entity.name.type.instance.jsdoc"},"2":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}}}]},"keywords":{"patterns":[{"name":"keyword.control.imba","match":"(if|elif|else|unless|switch|when|then|do|import|export|for own|for|while|until|return|try|catch|await|finally|throw|as|continue|break|extend|augment)(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"name":"keyword.control.imba","match":"(?\u003c=export)\\s+(default)(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"name":"keyword.control.imba","match":"(?\u003c=import)\\s+(type)(?=\\s+[\\w\\{\\$\\_])"},{"name":"keyword.control.imba","match":"(extend|global)\\s+(?=class|tag)"},{"name":"keyword.control.imba","match":"(?\u003c=[\\*\\}\\w\\$])\\s+(from)(?=\\s+[\\\"\\'])"},{"name":"storage.type.function.imba","match":"(def|get|set)(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"name":"storage.type.class.imba","match":"(tag|class|struct)(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"name":"storage.type.imba","match":"(let|const|constructor)(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"name":"storage.type.imba","match":"(prop|attr)(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"name":"storage.modifier.imba","match":"(static)\\s+"},{"name":"storage.modifier.imba","match":"(declare)\\s+"},{"include":"#ops"},{"name":"keyword.operator.assignment.imba","match":"(=|\\|\\|=|\\?\\?=|\\\u0026\\\u0026=|\\+=|\\-=|\\*=|\\^=|\\%=)"},{"name":"keyword.operator.imba","match":"(\\\u003e\\=?|\\\u003c\\=?)"},{"name":"keyword.operator.imba","match":"(of|delete|\\!?isa|typeof|in|new)(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"}]},"literal":{"patterns":[{"include":"#number-with-unit-literal"},{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#undefined-literal"},{"include":"#numericConstant-literal"},{"include":"#this-literal"},{"include":"#global-literal"},{"include":"#super-literal"},{"include":"#type-literal"},{"include":"#string"}]},"nested-css-selector":{"name":"meta.selector.css","begin":"(^\\t+)(?!(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?)?[\\w\\-\\$]+(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?[\\w\\-\\$]+)*(?:\\s*\\:)[^\\:])","end":"(\\s*(?=(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?)?[\\w\\-\\$]+(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?[\\w\\-\\$]+)*(?:\\s*\\:)[^\\:])|\\s*$|(?=\\s+\\#\\s))","patterns":[{"include":"#css-selector-innards"}],"endCaptures":{"0":{"name":"punctuation.separator.sel-properties.css"}}},"nested-style-declaration":{"name":"meta.style.imba","begin":"^(\\t+)(?=[\\n^]*\\\u0026)","end":"^(?!(\\1\\t|\\s*$))","patterns":[{"include":"#nested-css-selector"},{"include":"#inline-styles"}]},"null-literal":{"name":"constant.language.null.imba","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))null(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},"number-with-unit-literal":{"patterns":[{"match":"([0-9]+)([a-z]+|\\%)","captures":{"1":{"name":"constant.numeric.imba"},"2":{"name":"keyword.other.unit.imba"}}},{"match":"([0-9]*\\.[0-9]+(?:[eE][\\-+]?[0-9]+)?)([a-z]+|\\%)","captures":{"1":{"name":"constant.numeric.decimal.imba"},"2":{"name":"keyword.other.unit.imba"}}}]},"numeric-literal":{"patterns":[{"name":"constant.numeric.hex.imba","match":"\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$)","captures":{"1":{"name":"storage.type.numeric.bigint.imba"}}},{"name":"constant.numeric.binary.imba","match":"\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$)","captures":{"1":{"name":"storage.type.numeric.bigint.imba"}}},{"name":"constant.numeric.octal.imba","match":"\\b(?\u003c!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$)","captures":{"1":{"name":"storage.type.numeric.bigint.imba"}}},{"match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3\n (?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3\n (?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1\n (?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.\n (?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1\n (?:\\b[0-9][0-9_]*(n)?\\b) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.imba"},"1":{"name":"meta.delimiter.decimal.period.imba"},"10":{"name":"meta.delimiter.decimal.period.imba"},"11":{"name":"storage.type.numeric.bigint.imba"},"12":{"name":"meta.delimiter.decimal.period.imba"},"13":{"name":"storage.type.numeric.bigint.imba"},"14":{"name":"storage.type.numeric.bigint.imba"},"2":{"name":"storage.type.numeric.bigint.imba"},"3":{"name":"meta.delimiter.decimal.period.imba"},"4":{"name":"storage.type.numeric.bigint.imba"},"5":{"name":"meta.delimiter.decimal.period.imba"},"6":{"name":"storage.type.numeric.bigint.imba"},"7":{"name":"storage.type.numeric.bigint.imba"},"8":{"name":"meta.delimiter.decimal.period.imba"},"9":{"name":"storage.type.numeric.bigint.imba"}}}]},"numericConstant-literal":{"patterns":[{"name":"constant.language.nan.imba","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))NaN(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"name":"constant.language.infinity.imba","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))Infinity(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"}]},"object-keys":{"patterns":[{"name":"meta.object-literal.key","match":"[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?\\:"}]},"ops":{"patterns":[{"name":"keyword.operator.spread.imba","match":"\\.\\.\\."},{"name":"keyword.operator.assignment.compound.imba","match":"\\*=|(?\u003c!\\()/=|%=|\\+=|\\-=|\\?=|\\?\\?=|=\\?"},{"name":"keyword.operator.assignment.compound.bitwise.imba","match":"\\^=\\?|\\|=\\?|\\~=\\?|\\\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|\\|="},{"name":"keyword.operator.bitwise.shift.imba","match":"\u003c\u003c|\u003e\u003e\u003e|\u003e\u003e"},{"name":"keyword.operator.comparison.imba","match":"===|!==|==|!=|~="},{"name":"keyword.operator.relational.imba","match":"\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e"},{"match":"(\\!)\\s*(/)(?![/*])","captures":{"1":{"name":"keyword.operator.logical.imba"},"2":{"name":"keyword.operator.arithmetic.imba"}}},{"name":"keyword.operator.logical.imba","match":"\\!|\u0026\u0026|\\|\\||\\?\\?|or\\b(?=\\s|$)|and\\b(?=\\s|$)|\\@\\b(?=\\s|$)"},{"name":"keyword.operator.bitwise.imba","match":"\\\u0026|~|\\^|\\|"},{"name":"keyword.operator.assignment.imba","match":"\\="},{"name":"keyword.operator.decrement.imba","match":"--"},{"name":"keyword.operator.increment.imba","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.imba","match":"%|\\*|/|-|\\+"}]},"pairs":{"patterns":[{"include":"#curly-braces"},{"include":"#square-braces"},{"include":"#round-braces"}]},"plain-accessors":{"patterns":[{"match":"(\\.\\.?)([_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?)","captures":{"1":{"name":"punctuation.accessor.imba"},"2":{"name":"variable.other.property.imba"}}}]},"plain-identifiers":{"patterns":[{"name":"variable.other.constant.imba","match":"([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])"},{"name":"variable.other.class.imba","match":"[[:upper:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\!]?"},{"name":"variable.special.imba","match":"\\$\\d+"},{"name":"variable.other.internal.imba","match":"\\$[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?"},{"name":"variable.other.symbol.imba","match":"\\@\\@+[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?"},{"name":"variable.other.readwrite.imba","match":"[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?"},{"name":"variable.other.instance.imba","match":"\\@[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?"},{"name":"variable.other.private.imba","match":"\\#+[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?"},{"name":"string.symbol.imba","match":"\\:[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?"}]},"punctuation-accessor":{"match":"(?:(\\.)|(\\.\\.(?!\\s*[[:digit:]]|\\s+)))","captures":{"1":{"name":"punctuation.accessor.imba"},"2":{"name":"punctuation.accessor.optional.imba"}}},"punctuation-comma":{"name":"punctuation.separator.comma.imba","match":","},"punctuation-semicolon":{"name":"punctuation.terminator.statement.imba","match":";"},"qstring-double":{"name":"string.quoted.double.imba","begin":"\"","end":"\"","patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.imba"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.imba"}}},"qstring-single":{"name":"string.quoted.single.imba","begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.imba"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.imba"},"2":{"name":"invalid.illegal.newline.imba"}}},"qstring-single-multi":{"name":"string.quoted.single.imba","begin":"'''","end":"'''","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.imba"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.imba"}}},"regex":{"patterns":[{"name":"string.regexp.imba","begin":"(?\u003c!\\+\\+|--|})(?\u003c=[=(:,\\[?+!]|^return|[^\\._$[:alnum:]]return|^case|[^\\._$[:alnum:]]case|=\u003e|\u0026\u0026|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[\\()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^\\)\\\\]|\\\\.)+\\))+\\/([gimsuy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))","end":"(/)([gimsuy]*)","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.imba"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.imba"},"2":{"name":"keyword.other.imba"}}},{"name":"string.regexp.imba","begin":"((?\u003c![_$[:alnum:])\\]]|\\+\\+|--|}|\\*\\/)|((?\u003c=^return|[^\\._$[:alnum:]]return|^case|[^\\._$[:alnum:]]case))\\s*)\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+\\/([gimsuy]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))","end":"(/)([gimsuy]*)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.imba"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.imba"},"2":{"name":"keyword.other.imba"}}}]},"regex-character-class":{"patterns":[{"name":"constant.other.character-class.regexp","match":"\\\\[wWsSdDtrnvf]|\\."},{"name":"constant.character.numeric.regexp","match":"\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})"},{"name":"constant.character.control.regexp","match":"\\\\c[A-Z]"},{"name":"constant.character.escape.backslash.regexp","match":"\\\\."}]},"regexp":{"patterns":[{"name":"keyword.control.anchor.regexp","match":"\\\\[bB]|\\^|\\$"},{"match":"\\\\[1-9]\\d*|\\\\k\u003c([a-zA-Z_$][\\w$]*)\u003e","captures":{"0":{"name":"keyword.other.back-reference.regexp"},"1":{"name":"variable.other.regexp"}}},{"name":"keyword.operator.quantifier.regexp","match":"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"},{"name":"keyword.operator.or.regexp","match":"\\|"},{"name":"meta.group.assertion.regexp","begin":"(\\()((\\?=)|(\\?!)|(\\?\u003c=)|(\\?\u003c!))","end":"(\\))","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"punctuation.definition.group.assertion.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"},"5":{"name":"meta.assertion.look-behind.regexp"},"6":{"name":"meta.assertion.negative-look-behind.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}}},{"name":"meta.group.regexp","begin":"\\((?:(\\?:)|(?:\\?\u003c([a-zA-Z_$][\\w$]*)\u003e))?","end":"\\)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}}},{"name":"constant.other.character-class.set.regexp","begin":"(\\[)(\\^)?","end":"(\\])","patterns":[{"name":"constant.other.character-class.range.regexp","match":"(?:.|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))","captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}}},{"include":"#regex-character-class"}],"beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}}},{"include":"#regex-character-class"}]},"root":{"patterns":[{"include":"#block"}]},"round-braces":{"begin":"\\s*(\\()","end":"\\)","patterns":[{"include":"#expr"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"meta.brace.round.imba"}},"endCaptures":{"0":{"name":"meta.brace.round.imba"}}},"single-line-comment-consuming-line-ending":{"contentName":"comment.line.double-slash.imba","begin":"(^[ \\t]+)?((//|\\#\\s)(?:\\s*((@)internal)(?=\\s|$))?)","end":"(?=^)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.imba"},"2":{"name":"comment.line.double-slash.imba"},"3":{"name":"punctuation.definition.comment.imba"},"4":{"name":"storage.type.internaldeclaration.imba"},"5":{"name":"punctuation.decorator.internaldeclaration.imba"}}},"square-braces":{"begin":"\\s*(\\[)","end":"\\]","patterns":[{"include":"#expr"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"meta.brace.square.imba"}},"endCaptures":{"0":{"name":"meta.brace.square.imba"}}},"string":{"patterns":[{"include":"#qstring-single-multi"},{"include":"#qstring-double-multi"},{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template"}]},"string-character-escape":{"name":"constant.character.escape.imba","match":"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"style-declaration":{"name":"meta.style.imba","begin":"^(\\t*)(?:(global|local|export)\\s+)?(?:(scoped)\\s+)?(css)\\s","end":"^(?!(\\1\\t|\\s*$))","patterns":[{"include":"#css-selector"},{"include":"#css-comment"},{"include":"#nested-css-selector"},{"include":"#inline-styles"}],"beginCaptures":{"2":{"name":"keyword.control.export.imba"},"3":{"name":"storage.modifier.imba"},"4":{"name":"storage.type.style.imba"}}},"style-expr":{"patterns":[{"match":"(\\b[0-9][0-9_]*)(\\w+|%)?","captures":{"1":{"name":"constant.numeric.integer.decimal.css"},"2":{"name":"keyword.other.unit.css"}}},{"name":"support.constant.property-value.var.css","match":"--[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?"},{"name":"support.constant.property-value.size.css","match":"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![\\w-])"},{"name":"support.constant.property-value.css","match":"[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?"},{"name":"meta.function.css","begin":"(\\()","end":"\\)","patterns":[{"include":"#style-expr"}],"beginCaptures":{"1":{"name":"punctuation.section.function.begin.bracket.round.css"}}}]},"style-property":{"patterns":[{"name":"meta.property-name.css","begin":"(?=(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?)?[\\w\\-\\$]+(?:[\\@\\.]+[\\!\\\u003c\\\u003e]?[\\w\\-\\$]+)*(?:\\s*\\:))","end":"\\s*\\:","patterns":[{"name":"support.type.property-name.variable.css","match":"(?:--|\\$)[\\w\\-\\$]+"},{"name":"support.type.property-name.modifier.breakpoint.css","match":"\\@[\\!\\\u003c\\\u003e]?[0-9]+"},{"name":"support.type.property-name.modifier.css","match":"\\@[\\w\\-\\$]+"},{"name":"support.type.property-name.modifier.up.css","match":"\\.\\.[\\w\\-\\$]+"},{"name":"support.type.property-name.modifier.is.css","match":"\\.[\\w\\-\\$]+"},{"name":"support.type.property-name.css","match":"[\\w\\-\\$]+"}],"beginCaptures":{"1":{"name":"support.function.calc.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"endCaptures":{"0":{"name":"punctuation.separator.key-value.css"}}}]},"super-literal":{"name":"variable.language.super.imba","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))super\\b(?!\\$)"},"tag-attr-name":{"contentName":"entity.other.attribute-name.imba","begin":"([\\w$_]+(?:\\-[\\w$_]+)*)","end":"(?=[\\s\\.\\[\\\u003e\\=])","beginCaptures":{"0":{"name":"entity.other.attribute-name.imba"}}},"tag-attr-value":{"contentName":"meta.tag.attribute-value.imba","begin":"(\\=)","end":"(?=\u003e|\\s)","patterns":[{"include":"#expr"}],"beginCaptures":{"0":{"name":"keyword.operator.tag.assignment"}}},"tag-classname":{"contentName":"entity.other.attribute-name.class.css","begin":"\\.","end":"(?=[\\.\\[\\\u003e\\s\\(\\=])","patterns":[{"include":"#tag-interpolated-content"}]},"tag-content":{"patterns":[{"include":"#tag-name"},{"include":"#tag-expr-name"},{"include":"#tag-interpolated-content"},{"include":"#tag-interpolated-parens"},{"include":"#tag-interpolated-brackets"},{"include":"#tag-event-handler"},{"include":"#tag-classname"},{"include":"#tag-ref"},{"include":"#tag-attr-value"},{"include":"#tag-attr-name"},{"include":"#comment"}]},"tag-event-handler":{"contentName":"entity.other.tag.event","begin":"(\\@[\\w$_]+(?:\\-[\\w$_]+)*)","end":"(?=[\\[\\\u003e\\s\\=])","patterns":[{"include":"#tag-interpolated-content"},{"include":"#tag-interpolated-parens"},{"name":"entity.other.event-modifier.imba","begin":"\\.","end":"(?=[\\.\\[\\\u003e\\s\\=]|$)","patterns":[{"include":"#tag-interpolated-parens"},{"include":"#tag-interpolated-content"}],"beginCaptures":{"0":{"name":"punctuation.section.tag"}}}],"beginCaptures":{"0":{"name":"entity.other.event-name.imba"}}},"tag-expr-name":{"contentName":"entity.name.tag.imba","begin":"(?\u003c=\u003c)(?=[\\w\\{])","end":"(?=[\\.\\[\\\u003e\\s\\(])","patterns":[{"include":"#tag-interpolated-content"}]},"tag-interpolated-brackets":{"name":"meta.tag.expression.imba","contentName":"meta.embedded.line.imba","begin":"\\[","end":"\\]","patterns":[{"include":"#inline-css-selector"},{"include":"#inline-styles"}],"beginCaptures":{"0":{"name":"punctuation.section.tag.imba"}},"endCaptures":{"0":{"name":"punctuation.section.tag.imba"}}},"tag-interpolated-content":{"name":"meta.tag.expression.imba","contentName":"meta.embedded.line.imba","begin":"\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.tag.imba"}},"endCaptures":{"0":{"name":"punctuation.section.tag.imba"}}},"tag-interpolated-parens":{"name":"meta.tag.expression.imba","contentName":"meta.embedded.line.imba","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.tag.imba"}},"endCaptures":{"0":{"name":"punctuation.section.tag.imba"}}},"tag-literal":{"patterns":[{"name":"meta.tag.imba","contentName":"meta.tag.attributes.imba","begin":"(\u003c)(?=[\\w\\{\\[\\.\\#\\$\\@\\(])","end":"(\u003e)","patterns":[{"include":"#tag-content"}],"beginCaptures":{"1":{"name":"punctuation.section.tag.open.imba"}},"endCaptures":{"1":{"name":"punctuation.section.tag.close.imba"}}}]},"tag-name":{"patterns":[{"name":"entity.name.tag.special.imba","match":"(?\u003c=\u003c)(self|global|slot)(?=[\\.\\[\\\u003e\\s\\(])"}]},"tag-ref":{"name":"entity.other.attribute-name.reference.css","match":"(\\$[_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?)"},"template":{"patterns":[{"name":"string.template.imba","begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?)({{typeArguments}}\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?))","end":"(?=({{typeArguments}}\\s*)?`)","patterns":[{"name":"entity.name.function.tagged-template.imba","match":"([_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?)"}]}]},{"name":"string.template.imba","begin":"([_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?)\\s*(?=({{typeArguments}}\\s*)`)","end":"(?=`)","patterns":[{"include":"#type-arguments"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.imba"}}},{"name":"string.template.imba","begin":"([_$[:alpha:]][_$[:alnum:]]*(?:\\-[_$[:alnum:]]+)*[\\?\\!]?)?(`)","end":"`","patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.imba"},"2":{"name":"punctuation.definition.string.template.begin.imba"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.imba"}}}]},"template-substitution-element":{"name":"meta.template.expression.imba","contentName":"meta.embedded.line.imba","begin":"(?\u003c!\\\\)\\{","end":"\\}","patterns":[{"include":"#expr"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.imba"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.imba"}}},"this-literal":{"name":"variable.language.this.imba","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(this|self)\\b(?!\\$)"},"type-annotation":{"patterns":[{"include":"#type-literal"}]},"type-brackets":{"patterns":[{"begin":"{","end":"}","patterns":[{"include":"#type-brackets"}]},{"begin":"\\[","end":"\\]","patterns":[{"include":"#type-brackets"}]},{"begin":"\\\u003c","end":"\\\u003e","patterns":[{"include":"#type-brackets"}]},{"begin":"\\(","end":"\\)","patterns":[{"include":"#type-brackets"}]}]},"type-literal":{"name":"meta.type.annotation.imba","begin":"(\\\\)","end":"(?=[\\s\\]\\)\\,\\.\\=\\}]|$)","patterns":[{"include":"#type-brackets"}],"beginCaptures":{"1":{"name":"meta.type.annotation.open.imba"}}},"undefined-literal":{"name":"constant.language.undefined.imba","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))undefined(?![\\?_\\-$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"}}}
@@ -0,0 +1 @@
1
+ {"name":"ink","scopeName":"source.ink","patterns":[{"include":"#comment"},{"include":"#tag"},{"include":"#todo"},{"include":"#import"},{"include":"#declaration"},{"include":"#knot"},{"include":"#stitch"},{"include":"#choice"},{"include":"#divert"},{"include":"#gather"},{"include":"#logic"},{"include":"#glue"},{"include":"#interpolevaluablock"}],"repository":{"alternativeClause":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(-(?!\u003e))","end":"(?=^)|(?=\\})|(?=\\-)","patterns":[{"include":"#comment"},{"include":"#interpolevaluablock"},{"include":"#divert"},{"include":"#logic"},{"include":"#choice"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"alternativeItem":{"patterns":[{"begin":"(?\u003c!\\\\)(\\|)","end":"(?=\\})|(?=\\|)","patterns":[{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#comment"},{"include":"#interpolevaluablock"},{"include":"#divert"},{"include":"#tag"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"assignment":{"patterns":[{"begin":"([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*(=)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#divert"},{"include":"#expressionIdentifier"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"entity.name.variable.other.ink"},"2":{"name":"keyword.operator.assignment.ink"}}}]},"caseClause":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(-(?!\u003e))(?:[^\\S\\n\\r])?(else|[^\\|\\{\\}\\:]+)(?:[^\\S\\n\\r])*(?\u003c!\\\\)(\\:)","end":"(?=^)|(?=\\})|(?=\\-)","patterns":[{"include":"#interpolevaluablock"},{"include":"#divert"},{"include":"#logic"},{"include":"#glue"},{"include":"#choiceInClause"},{"include":"#tag"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"},"2":{"name":"keyword.control.ink"},"3":{"name":"keyword.control.ink"}}}]},"choice":{"patterns":[{"begin":"(?x)\n (?\u003c=^|\\-)\n (?:[^\\S\\n\\r])*\n (?:\n ((?:(?:[^\\S\\n\\r])*[\\*])+)\n |\n ((?:(?:[^\\S\\n\\r])*[\\+])+)\n )","end":"(?=\\#|$)","patterns":[{"include":"#comment"},{"include":"#label"},{"include":"#inlineConditionalSubstitution"},{"include":"#textSuppression"},{"include":"#divert"},{"include":"#tag"},{"include":"#glue"},{"include":"#logic"}],"beginCaptures":{"1":{"name":"keyword.choice.ink"},"2":{"name":"keyword.choice.sticky.ink"}}}]},"choiceInClause":{"patterns":[{"begin":"(?x)\n (?\u003c=^|\\-|\\:)\n (?:[^\\S\\n\\r])*\n (?:\n ((?:(?:[^\\S\\n\\r])*[\\*])+)\n |\n ((?:(?:[^\\S\\n\\r])*[\\+])+)\n )","end":"(?=\\#|$)","patterns":[{"include":"#comment"},{"include":"#label"},{"include":"#inlineConditionalSubstitution"},{"include":"#textSuppression"},{"include":"#divert"},{"include":"#tag"},{"include":"#glue"},{"include":"#logic"}],"beginCaptures":{"2":{"name":"keyword.choice.ink"},"3":{"name":"keyword.choice.sticky.ink"}}}]},"commas":{"patterns":[{"name":"punctuation.separator.ink","match":"\\,"}]},"comment":{"patterns":[{"name":"comment.block.ink","begin":"(/\\*)","end":"(\\*/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ink"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.ink"}}},{"name":"comment.line.ink","begin":"(\\/\\/)","end":"(?=$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ink"}}}]},"conditionalSubstitution":{"patterns":[{"begin":"((?:[^\\{\\}\\|]|\\|(?=\\|))+(?:[^\\S\\n\\r])*\\:)(?:[^\\S\\n\\r])*(?!$)","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#divert"},{"include":"#glue"},{"include":"#inlineElseClause"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"constAssignment":{"patterns":[{"begin":"([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*(=)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#divert"},{"include":"#expressionIdentifier"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"variable.other.constant.ink entity.name.variable.other.constant.ink"},"2":{"name":"keyword.operator.assignment.ink"}}}]},"declaration":{"patterns":[{"begin":"(?:^)(?:[^\\S\\n\\r])*((VAR)|(LIST))(?:[^\\S\\n\\r])*","end":"(?=$)","patterns":[{"include":"#assignment"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"storage.type.ink"},"2":{"name":"storage.type.var.ink"},"3":{"name":"storage.type.list.ink"}}},{"begin":"(?:^)(?:[^\\S\\n\\r])*(CONST)(?:[^\\S\\n\\r])*","end":"(?=$)","patterns":[{"include":"#constAssignment"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"storage.type.const.ink"}}},{"begin":"(?:^)(?:[^\\S\\n\\r])*(EXTERNAL)(?:[^\\S\\n\\r])*","end":"(?=$)","patterns":[{"include":"#externalFunctionDeclaration"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"storage.type.external.ink"}}}]},"divert":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*(-\u003e|\u003c-)(?:[^\\S\\n\\r])*","end":"(?=($|\\}|\\)|\\||\\-|\\#))","patterns":[{"include":"#comment"},{"include":"#function"},{"include":"#divertIdentifier"},{"include":"#tunnel"}],"beginCaptures":{"1":{"name":"keyword.divert.ink keyword.other.ink"}}}]},"divertIdentifier":{"patterns":[{"begin":"(?x) (?:[^\\S\\n\\r])* (?:\n (END|DONE)\n |\n (?:\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n (?:\n (\\.)\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n (?:\n (\\.)\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n )?\n )?\n )\n)","end":"(?=($|\\}|\\)|\\||\\#))","patterns":[{"include":"#comment"},{"include":"#tunnel"}],"beginCaptures":{"1":{"name":"support.constant.ink constant.language.divert constant.language.ink"},"2":{"name":"variable.other.knot.ink entity.name.variable.other.knot.ink"},"3":{"name":"punctuation.accessor.ink"},"4":{"name":"variable.other.stitch.ink entity.name.variable.other.stitch.ink"},"5":{"name":"punctuation.accessor.ink"},"6":{"name":"variable.other.label.ink entity.name.variable.other.label.ink"}}}]},"expression":{"patterns":[{"include":"#comment"},{"include":"#parentheses"},{"include":"#function"},{"include":"#operator"},{"include":"#languageLiteral"},{"include":"#stringLiteral"},{"include":"#expressionIdentifier"},{"include":"#numberLiteral"},{"include":"#commas"}]},"expressionIdentifier":{"patterns":[{"match":"(?x)\n (?:(?\u003c=return) |\n (?\u003c=\u0026\u0026) | (?\u003c=\\|\\|) |\n (?\u003c=\\=) |\n (?\u003c=/) | (?\u003c=%) | (?\u003c=\\*) | (?\u003c=\\+) | (?\u003c=\\-) |\n (?\u003c=\\?) | (?\u003c=!\\?) | (?\u003c=\\^) | (?\u003c=\\~) |\n (?\u003c=,) | (?=\\)))\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)","captures":{"1":{"name":"entity.name.variable.other.ink"}}},{"match":"(?x)\n (?:[^\\S\\n\\r])*\n (?:(?\u003c=not) | (?\u003c=and) | (?\u003c=or) | (?\u003c=has) | (?\u003c=hasnt) | (?\u003c=mod))\n [^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)","captures":{"1":{"name":"entity.name.variable.other.ink"}}},{"match":"(?x)\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)\n (?:[^\\S\\n\\r])*\n (?:(?=\u0026\u0026) | (?=\\|\\|) |\n (?=\\=) | (?=!\\=) | (?=\\\u003e) | (?=\\\u003c) |\n (?=/) | (?=%) | (?=\\*) | (?=\\+) | (?=\\-) |\n (?=\\?) | (?=!\\?) | (?=\\^) |\n (?=,) | (?=\\)))","captures":{"1":{"name":"entity.name.variable.other.ink"}}},{"match":"(?x)\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*\n (?:\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?)\n [^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]\n (?:(?=not) | (?=and) | (?=or) | (?=has) | (?=hasnt) | (?=mod))","captures":{"1":{"name":"entity.name.variable.other.ink"}}}]},"externalFunctionDeclaration":{"patterns":[{"begin":"([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*","end":"(?\u003c=\\))","patterns":[{"include":"#functionDeclarationParameters"}],"beginCaptures":{"1":{"name":"entity.name.function.ink"}}}]},"firstAlternativeItem":{"patterns":[{"begin":"(?\u003c=\\{)(?:[^\\S\\n\\r])*(\u0026|!|~)","end":"(?=\\|)","patterns":[{"include":"#languageLiteral"},{"include":"#numberLiteral"},{"include":"#stringLiteral"},{"include":"#divert"},{"include":"#tag"},{"include":"#comment"},{"include":"#conditionalSubstitution"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink keyword.alternative.type.ink"}}}]},"function":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*((LIST_COUNT|LIST_MIN|LIST_MAX|LIST_ALL|LIST_INVERT|LIST_RANDOM|CHOICE_COUNT|TURNS_SINCE|LIST_RANGE|TURNS|POW|FLOOR|CEILING|INT|FLOAT)|([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*))(?:[^\\S\\n\\r])*(\\()(?:[^\\S\\n\\r])*","end":"(\\))","patterns":[{"include":"#comment"},{"name":"punctuation.separator.ink","match":","},{"include":"#divert"},{"include":"#expression"}],"beginCaptures":{"2":{"name":"constant.language.ink"},"3":{"name":"entity.name.function.ink"},"4":{"name":"punctuation.section.parens.begin.ink"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.ink"}}}]},"functionDeclaration":{"patterns":[{"begin":"(?x)(?:[^\\S\\n\\r])*(function)(?:[^\\S\\n\\r])*([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*","end":"(?\u003c=\\))|(?=$)|(?=\\=)","patterns":[{"include":"#comment"},{"include":"#functionDeclarationParameters"}],"beginCaptures":{"1":{"name":"storage.type.ink"},"2":{"name":"entity.name.function.ink"}}}]},"functionDeclarationParameters":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"name":"storage.modifier.ref.ink","match":"ref"},{"name":"variable.parameter.function.ink","match":"[a-zA-Z0-9_]+"},{"name":"punctuation.separator.ink","match":","},{"include":"#divert"}],"beginCaptures":{"1":{"name":"punctuation.section.parens.begin.ink"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.ink"}}}]},"gather":{"patterns":[{"begin":"(?\u003c=^)(?:[^\\S\\n\\r])*((?:(?:[^\\S\\n\\r])*\\-(?!\u003e))+)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#choice"},{"include":"#label"},{"include":"#divert"},{"include":"#todo"},{"include":"#glue"},{"include":"#logic"},{"include":"#tag"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.gather.ink"}}}]},"glue":{"patterns":[{"name":"keyword.glue.ink keyword.other.ink","match":"\u003c\u003e"}]},"import":{"patterns":[{"match":"(?:^)(?:[^\\S\\n\\r])*(INCLUDE)(?:(?:[^\\S\\n\\r])*)(.*)$","captures":{"1":{"name":"keyword.control.import.ink"},"2":{"name":"string.quoted.other.ink"}}}]},"inlineCondition":{"patterns":[{"name":"keyword.control.ink","match":"([^\\{\\}]*)","captures":{"1":{"name":"keyword.control.ink"}}}]},"inlineConditionalSubstitution":{"patterns":[{"begin":"(?\u003c!\\\\)(\\{)","end":"(?\u003c!\\\\)(\\})","patterns":[{"include":"#conditionalSubstitution"},{"include":"#substitution"},{"include":"#firstAlternativeItem"},{"include":"#alternativeItem"},{"include":"#interpolevaluablock"},{"include":"#inlineCondition"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}},"endCaptures":{"1":{"name":"keyword.control.ink"}}}]},"inlineElseClause":{"patterns":[{"begin":"(?\u003c!\\\\)(\\|)","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#divert"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"interpolatedIdentifier":{"patterns":[{"name":"entity.name.variable.other.ink","match":"(?\u003c=\\{)(?\u003c!^)(?:[^\\S\\n\\r])*[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*(\\.[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)?(?:[^\\S\\n\\r])*(?!$)(?=\\})"}]},"interpolevaluablock":{"patterns":[{"begin":"(?\u003c!\\\\)(\\{)","end":"(?\u003c!\\\\)(\\})","patterns":[{"include":"#multilineAlternative"},{"include":"#multilineBlock"},{"include":"#conditionalSubstitution"},{"include":"#divert"},{"include":"#substitution"},{"include":"#firstAlternativeItem"},{"include":"#alternativeItem"},{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}},"endCaptures":{"1":{"name":"keyword.control.ink"}}}]},"knot":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(={2,})","end":"(={2,})|(?=$)","patterns":[{"include":"#comment"},{"include":"#functionDeclaration"},{"include":"#knotStitchDeclaration"}],"beginCaptures":{"1":{"name":"storage.knot.ink storage.type.ink"}},"endCaptures":{"1":{"name":"storage.knot.ink storage.type.ink"}}}]},"knotStitchDeclaration":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)(?:[^\\S\\n\\r])*","end":"(?\u003c=\\))|(?=$|\\=|\\/\\/)","patterns":[{"include":"#comment"},{"include":"#functionDeclarationParameters"}],"beginCaptures":{"1":{"name":"entity.name.function.ink"}}}]},"label":{"patterns":[{"name":"string.label.ink entity.name.label.ink string.quoted.other.ink","match":"(\\()(?:[^\\S\\n\\r])*[a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*(?:[^\\S\\n\\r])*(\\))","captures":{"1":{"name":"punctuation.definition.string.label.begin.ink punctuation.definition.string.begin.ink"},"2":{"name":"punctuation.definition.string.label.begin.ink punctuation.definition.string.begin.ink"}}}]},"languageLiteral":{"patterns":[{"match":"(?:[^\\S\\n\\r])*(false|true)(?:[^\\S\\n\\r])*","captures":{"1":{"name":"constant.language.boolean.ink constant.language.ink"}}}]},"logic":{"patterns":[{"begin":"(?:(?\u003c=^)|(?\u003c=\\-)|(?\u003c=\\:))(?:[^\\S\\n\\r])*(~)","end":"(?=$)","patterns":[{"include":"#returnStatement"},{"include":"#tempDeclaration"},{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.logic.ink"}}}]},"multilineAlternative":{"patterns":[{"begin":"(?\u003c=\\{)(?:[^\\S\\n\\r])*$","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#caseClause"},{"include":"#alternativeClause"},{"include":"#divert"},{"include":"#logic"},{"include":"#choice"},{"include":"#glue"},{"include":"#todo"},{"include":"#interpolevaluablock"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"multilineBlock":{"patterns":[{"begin":"([^\\{\\}]+(?:[^\\S\\n\\r])*\\:)(?:[^\\S\\n\\r])*(?=$|\\/\\/)","end":"(?=\\})","patterns":[{"include":"#comment"},{"include":"#caseClause"},{"include":"#alternativeClause"},{"include":"#divert"},{"include":"#logic"},{"include":"#choice"},{"include":"#glue"},{"include":"#todo"},{"include":"#interpolevaluablock"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"numberLiteral":{"patterns":[{"match":"(?:[^\\S\\n\\r])*([0-9]+(\\.[0-9]+)?)(?:[^\\S\\n\\r])*","captures":{"1":{"name":"constant.numeric.ink"}}}]},"operator":{"patterns":[{"name":"keyword.operator.logical.ink","match":"(?x)\n \\~ |\n !(?!=) |\n \u0026\u0026 |\n \\|\\|"},{"name":"keyword.operator.assignment.ink","match":"(?x)\n =(?!=)"},{"name":"keyword.operator.assignment.augmented.ink","match":"(?x)\n %= |\n \u0026= |\n \\*= |\n \\+= |\n \\-= |\n /="},{"name":"keyword.operator.relational.ink","match":"(?x)\n \u003c= |\n \u003e= |\n \u003c |\n \u003e"},{"name":"keyword.operator.comparison.ink","match":"(?x)\n == |\n !="},{"name":"keyword.operator.arithmetic.ink","match":"(?x)\n \\-\\- |\n \\+\\+ |\n / |\n % |\n \\* |\n \\+ |\n (?\u003c!$)(?:[^\\S\\n\\r])*-(?:[^\\S\\n\\r])*(?!=)"},{"name":"keyword.operator.membership.ink","match":"(?x)\n \\? |\n !\\? |\n \\^"},{"name":"keyword.operator.word.ink","match":"(?x)\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])not (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])and (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])or (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])has (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])hasnt (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]) |\n (?\u003c=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])mod (?=[^a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}])"}]},"parentheses":{"patterns":[{"name":"punctuation.section.parens.begin.ink","match":"\\("},{"name":"punctuation.section.parens.end.ink","match":"\\)"}]},"returnStatement":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*(return)(?=\\s)","end":"(?=$)","patterns":[{"include":"#function"},{"include":"#divert"},{"include":"#languageLiteral"},{"include":"#stringLiteral"},{"include":"#expressionIdentifier"},{"include":"#expression"},{"include":"#numberLiteral"}],"beginCaptures":{"1":{"name":"keyword.control.ink"}}}]},"stitch":{"patterns":[{"begin":"^(?:[^\\S\\n\\r])*(=)","end":"(?=^)","patterns":[{"include":"#comment"},{"include":"#knotStitchDeclaration"}],"beginCaptures":{"1":{"name":"storage.knot.ink storage.type.ink"}}}]},"stringLiteral":{"patterns":[{"begin":"(?:[^\\S\\n\\r]*)(\\\")","end":"(\\\")(?:[^\\S\\n\\r]*)","patterns":[{"name":"constant.character.escape.ink","match":"\\\\."},{"name":"string.quoted.double.ink","match":"[^\\n\\r\\\"]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.ink"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ink"}}}]},"substitution":{"patterns":[{"match":"(?\u003c=\\{)([^\\{\\}\\:\\|]+)(?=\\})","captures":{"1":{"name":"keyword.control.ink"}}}]},"tag":{"patterns":[{"name":"string.quoted.other.ink entity.tag.ink","begin":"(?\u003c!\\\\)(\\#)","end":"(?=$|\\#)","patterns":[{"include":"#comment"},{"include":"#tag"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.ink comment.line.ink entity.tag.begin.ink"}}}]},"tempDeclaration":{"patterns":[{"begin":"(?x)\n (?:(?\u003c=^)|(?\u003c=\\~))\n (?:[^\\S\\n\\r])*\n (temp)\n (?:[^\\S\\n\\r])*\n ([a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*[a-zA-Z_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}][a-zA-Z0-9_\\x{0100}-\\x{017F}\\x{0180}-\\x{024F}\\x{0600}-\\x{06FF}\\x{0530}-\\x{058F}\\x{0400}-\\x{04FF}\\x{0370}-\\x{03FF}\\x{0590}-\\x{05FF}]*)\n (?:[^\\S\\n\\r])*\n (=)","end":"(?=$)","patterns":[{"include":"#comment"},{"include":"#function"},{"include":"#divert"},{"include":"#languageLiteral"},{"include":"#stringLiteral"},{"include":"#expressionIdentifier"},{"include":"#expression"},{"include":"#numberLiteral"}],"beginCaptures":{"1":{"name":"storage.modifier.ink"},"2":{"name":"entity.name.variable.other.ink"},"3":{"name":"keyword.assignment.ink"}}}]},"textSuppression":{"patterns":[{"begin":"(?\u003c!\\\\)(\\[)","end":"(?\u003c!\\\\)(\\])","patterns":[{"include":"#interpolevaluablock"}],"beginCaptures":{"1":{"name":"keyword.choice.suppression.ink keyword.control.ink"}},"endCaptures":{"1":{"name":"keyword.choice.suppression.ink keyword.control.ink"}}}]},"todo":{"patterns":[{"name":"comment.line.ink entity.todo.ink","begin":"(?\u003c=^|\\-)(?:[^\\S\\n\\r])*(TODO)","end":"(?=$)","patterns":[{"include":"#comment"}],"beginCaptures":{"1":{"name":"constant.other entity.todo.begin.ink"}}}]},"tunnel":{"patterns":[{"begin":"(?:[^\\S\\n\\r])*(-\u003e(?:-\u003e)?|\u003c-)(?:[^\\S\\n\\r])*","end":"(?=($|\\}|\\)|\\|))","patterns":[{"include":"#comment"},{"include":"#function"},{"include":"#divertIdentifier"}],"beginCaptures":{"1":{"name":"keyword.divert.ink keyword.other.ink"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Just","scopeName":"source.just","patterns":[{"include":"#interpolate"},{"include":"#comments"},{"include":"#scripts"},{"include":"#strings"},{"include":"#assignments"},{"include":"#recipeDefinition"},{"include":"#keywords"}],"repository":{"assignments":{"patterns":[{"match":"^(export[\\s]?)?([a-zA-Z_][a-zA-Z0-9_-]*)=","captures":{"1":{"name":"storage.type.just"},"2":{"name":"variable.name.just"}}}]},"comments":{"patterns":[{"name":"comment.line.just","match":"^#[^!].*"}]},"interpolate":{"patterns":[{"name":"string.interpolated.just","begin":"\\{\\{","end":"\\}\\}"}]},"keywords":{"patterns":[{"name":"keyword.control.just","match":"\\b(arch|os|os_family|env_var|env_var_or_default)\\b"}]},"recipeDefinition":{"patterns":[{"match":"^(@)?([a-zA-Z_][a-zA-Z0-9_-]*)([a-zA-Z0-9=\\s_-`'\"]*):([\\sa-zA-Z0-9_-]*).*$","captures":{"1":{"name":"entity.name.function.just"},"2":{"name":"entity.name.function.just"},"3":{"patterns":[{"name":"constant.character.escape.just","match":"[\\s]*[a-zA-Z0-9-_]*(=?)(.*)","captures":{"0":{"name":"variable.name.just"},"1":{"name":"constant.other.just"},"2":{"name":"variable.parameter.just"}}}]},"4":{"name":"support.type.property-name.just"}}}]},"scripts":{"patterns":[{"name":"support.type.property-name.just","begin":"\\s#\\!","end":"$"}]},"strings":{"patterns":[{"name":"string.quoted.triple.just","begin":"`","end":"`"},{"name":"string.quoted.double.just","begin":"\"","end":"\""},{"name":"string.quoted.single.just","begin":"'","end":"'"}]}}}
@@ -1 +1 @@
1
- {"name":"LLVM","scopeName":"source.llvm","patterns":[{"name":"keyword.instruction.llvm","match":"\\b(add|alloca|and|ashr|atomic|atomicrmw|bitcast|br|call|cmpxchg|eq|exact|extractelement|extractvalue|fadd|fcmp|fdiv|fence|fmul|fpext|fptosi|fptoui|fptrunc|frem|fsub|getelementptr|icmp|inbounds|indirectbr|insertelement|insertvalue|inttoptr|invoke|landingpad|load|lshr|mul|ne|nsw|nuw|oeq|oge|ogt|ole|olt|one|or|ord|phi|ptrtoint|resume|ret|sdiv|select|sext|sge|sgt|shl|shufflevector|sitofp|sle|slt|srem|store|sub|switch|to|trunc|udiv|ueq|uge|uge|ugt|ugt|uitofp|ule|ule|ult|ult|une|uno|unreachable|unwind|urem|va_arg|xor|zext)\\b(?!\\s*:)"},{"name":"storage.modifier.llvm","match":"\\b(acq_rel|acquire|addrspace|alias|align|alignstack|alwaysinline|appending|argmemonly|attributes|asm|blockaddress|byval|c|cc|ccc|coldcc|common|constant|convergent|datalayout|declare|default|define|deplibs|dereferenceable|dereferenceable_or_null|dllexport|dllimport|except|extern_weak|external|false|fastcc|gc|global|hidden|inalloca|inaccessiblememonly|inaccessiblemem_or_argmemonly|inlinehint|inreg|internal|jumptable|linkonce|linkonce_odr|local_unnamed_addr|metadata|minsize|module|monotonic|naked|nest|noalias|nobuiltin|noduplicate|nonnull|nocapture|noimplicitfloat|noinline|nonlazybind|noredzone|noreturn|norecurse|nounwind|null|opaque|optnone|optsize|personality|prefix|prologue|private|protected|ptx_device|ptx_kernel|readnone|readonly|release|returned|returns_twice|safestack|sanitize_address|sanitize_memory|sanitize_thread|section|seq_cst|sideeffect|signext|sret|ssp|sspreq|sspstrong|swiftself|swifterror|tail|target|thread_local|triple|true|type|undef|unnamed_addr|unordered|uwtable|volatile|weak|weak_odr|writeonly|x86_fastcallcc|x86_stdcallcc|zeroext|zeroinitializer)\\b(?!\\s*:)"},{"name":"storage.type.llvm","match":"([%@][-a-zA-Z$._][-a-zA-Z$._0-9]*(\\s*\\*)+)"},{"name":"storage.type.language.llvm","match":"\\b(void|i\\d+\\**|half|float|double|fp128|x86_fp80|ppc_fp128|x86mmx|label|metadata)"},{"name":"variable.language.llvm","match":"([%@][-a-zA-Z$._][-a-zA-Z$._0-9]*)"},{"name":"variable.language.llvm","match":"([%]\\d+)"},{"name":"variable.metadata.llvm","match":"(!\\d+)"},{"name":"variable.metadata.llvm","match":"(![-a-zA-Z$._][-a-zA-Z$._0-9]*)"},{"name":"comment.llvm","match":";.*$"},{"name":"constant.numeric.float.llvm","match":"\\b\\d+\\.\\d+(e-?\\d+)\\b"},{"name":"constant.numeric.integer.llvm","match":"\\b(\\d+|0(x|X)[a-fA-F0-9]+)\\b"},{"name":"string.quoted.double.llvm","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.lvvm","match":"\\\\.."}]}]}
1
+ {"name":"LLVM","scopeName":"source.llvm","patterns":[{"name":"keyword.instruction.llvm","match":"\\b(add|alloca|and|ashr|atomic|atomicrmw|bitcast|br|call|cmpxchg|eq|exact|extractelement|extractvalue|fadd|fcmp|fdiv|fence|fmul|fpext|fptosi|fptoui|fptrunc|frem|fsub|getelementptr|icmp|inbounds|indirectbr|insertelement|insertvalue|inttoptr|invoke|landingpad|load|lshr|mul|ne|nsw|nuw|oeq|oge|ogt|ole|olt|one|or|ord|phi|ptrtoint|resume|ret|sdiv|select|sext|sge|sgt|shl|shufflevector|sitofp|sle|slt|srem|store|sub|switch|to|trunc|udiv|ueq|uge|uge|ugt|ugt|uitofp|ule|ule|ult|ult|une|uno|unreachable|unwind|urem|va_arg|xor|zext)\\b(?!\\s*:)"},{"name":"storage.modifier.llvm","match":"\\b(acq_rel|acquire|addrspace|alias|align|alignstack|alwaysinline|appending|argmemonly|attributes|asm|blockaddress|byval|c|cc|ccc|coldcc|common|constant|convergent|datalayout|declare|default|define|deplibs|dereferenceable|dereferenceable_or_null|dllexport|dllimport|except|extern_weak|external|false|fastcc|gc|global|hidden|inalloca|inaccessiblememonly|inaccessiblemem_or_argmemonly|inlinehint|inreg|internal|jumptable|linkonce|linkonce_odr|local_unnamed_addr|metadata|minsize|module|monotonic|naked|nest|noalias|nobuiltin|noduplicate|nonnull|nocapture|noimplicitfloat|noinline|nonlazybind|noredzone|noreturn|norecurse|nounwind|null|opaque|optnone|optsize|personality|prefix|prologue|private|protected|ptx_device|ptx_kernel|readnone|readonly|release|returned|returns_twice|safestack|sanitize_address|sanitize_memory|sanitize_thread|section|seq_cst|sideeffect|signext|sret|ssp|sspreq|sspstrong|swiftself|swifterror|tail|target|thread_local|triple|true|type|undef|unnamed_addr|unordered|uwtable|volatile|weak|weak_odr|writeonly|x86_fastcallcc|x86_stdcallcc|zeroext|zeroinitializer)\\b(?!\\s*:)"},{"name":"storage.type.llvm","match":"([%@][-a-zA-Z$._][-a-zA-Z$._0-9]*(\\s*\\*)+)"},{"name":"storage.type.language.llvm","match":"\\b(void|i\\d+\\**|half|float|double|fp128|x86_fp80|ppc_fp128|x86mmx|ptr|label|metadata)"},{"name":"variable.language.llvm","match":"([%@][-a-zA-Z$._][-a-zA-Z$._0-9]*)"},{"name":"variable.language.llvm","match":"([%]\\d+)"},{"name":"variable.metadata.llvm","match":"(!\\d+)"},{"name":"variable.metadata.llvm","match":"(![-a-zA-Z$._][-a-zA-Z$._0-9]*)"},{"name":"comment.llvm","match":";.*$"},{"name":"constant.numeric.float.llvm","match":"\\b\\d+\\.\\d+(e-?\\d+)\\b"},{"name":"constant.numeric.integer.llvm","match":"\\b(\\d+|0(x|X)[a-fA-F0-9]+)\\b"},{"name":"string.quoted.double.llvm","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.lvvm","match":"\\\\.."}]}]}
@@ -1 +1 @@
1
- {"name":"man.conf","scopeName":"source.man-conf","patterns":[{"include":"#main"}],"repository":{"arg":{"name":"constant.language.other.man-conf","match":"[^\\s:]+"},"bin":{"name":"meta.field.${1:/downcase}.man-conf","begin":"^\\s*(MANBIN|MANPATH_MAP|MANPATH|manpath|output|_whatdb)(?=\\s)","end":"$","patterns":[{"include":"etc#str"},{"include":"etc#kolon"},{"include":"#arg"}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"decompressor":{"name":"meta.field.decompressor.man-conf","match":"^\\s*((\\.)[a-zA-Z0-9]+)(.*)","captures":{"1":{"name":"variable.parameter.decompressor.suffix.man-conf"},"2":{"name":"punctuation.definition.field.dot.period.full-stop.man-conf"},"3":{"patterns":[{"include":"#programArgs"}]}}},"defaultOpts":{"name":"meta.field.default-options.man-conf","match":"^\\s*(MANDEFOPTIONS)(?=\\s|$)(.*)","captures":{"1":{"name":"keyword.control.${1:/downcase}.man-conf"},"2":{"patterns":[{"include":"source.opts"}]}}},"fhs":{"match":"^\\s*(FSSTND|FHS|NOAUTOPATH|NOCACHE)(?=\\s|$)","captures":{"1":{"name":"keyword.control.${1:/downcase}.man-conf"}}},"main":{"patterns":[{"include":"etc#comment"},{"include":"#bin"},{"include":"#fhs"},{"include":"#programs"},{"include":"#sections"},{"include":"#defaultOpts"},{"include":"#decompressor"}]},"programArgs":{"patterns":[{"include":"etc#str"},{"include":"source.opts"},{"include":"#arg"}]},"programs":{"name":"meta.field.${1:/downcase}-path.man-conf","match":"(?x) ^ \\s*\n(BROWSER|CAT|COL|COMPRESS_EXT|COMPRESS|CMP|EQN|GRAP|HTMLPAGER\n|JNEQN|JNROFF|NEQN|NROFF|PAGER|PIC|REFER|TBL|TROFF|VGRIND)\n(?=\\s|$) (.*)","captures":{"1":{"name":"keyword.control.${1:/downcase}.man-conf"},"2":{"patterns":[{"include":"#programArgs"}]}}},"sections":{"name":"meta.field.mansect.man-conf","match":"^\\s*(MANSECT)(?=\\s|$)(.*)","captures":{"1":{"name":"keyword.control.${1:/downcase}.man-conf"},"2":{"patterns":[{"include":"etc#kolon"},{"name":"constant.numeric.section.man-conf","match":"[^:\\s]+"}]}}}}}
1
+ {"name":"Man Config","scopeName":"source.man-conf","patterns":[{"include":"#main"}],"repository":{"catwidth":{"name":"meta.field.${1:/downcase}.man-conf","begin":"^\\s*((?:MAX|MIN)?CATWIDTH)(?=$|\\s)","end":"$","patterns":[{"match":"\\G\\s*(-?\\d+)(?=$|\\s)","captures":{"1":{"name":"constant.numeric.integer.catwidth.man-conf"}}},{"include":"#unused"}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"comment":{"name":"comment.line.number-sign.man-conf","begin":"^\\s*(#)","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.comment.man-conf"}}},"compress-ext":{"name":"meta.field.compress-ext.man-conf","begin":"^\\s*(COMPRESS_EXT)(?=$|\\s)","end":"$","patterns":[{"match":"\\G\\s*(\\S+)","captures":{"1":{"name":"constant.other.file-extension.man-conf"}}},{"include":"#unused"}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"decompressor":{"name":"meta.field.decompressor.man-conf","begin":"^\\s*((\\.)[a-zA-Z0-9]+)(?=$|\\s)","end":"$","patterns":[{"include":"#program-spec"}],"beginCaptures":{"1":{"name":"variable.parameter.decompressor.suffix.file-extension.man-conf"},"2":{"name":"punctuation.definition.field.dot.period.full-stop.man-conf"}}},"defaults":{"name":"meta.field.default-options.man-conf","begin":"^\\s*(MANDEFOPTIONS)(?=$|\\s)[ \\t]*","end":"[ \\t]*$","patterns":[{"include":"source.opts"}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"define":{"name":"meta.field.definition.man-conf","begin":"^\\s*(DEFINE)(?=$|\\s)","end":"$","patterns":[{"name":"meta.$1-value.man-conf","begin":"\\G\\s+(\\S+)","end":"(?=\\s*$)","patterns":[{"include":"#program-spec"}],"beginCaptures":{"1":{"name":"variable.definition.man-conf"}}}],"beginCaptures":{"1":{"name":"storage.type.var.man-conf"}}},"disable-setting":{"name":"meta.field.disable-${2:/downcase}.man-conf","begin":"^\\s*(NO(AUTOPATH|CACHE))(?=$|\\s)","end":"$","patterns":[{"include":"#unused"}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"escape":{"name":"constant.character.escape.man-conf","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash.man-conf"}}},"escape-octal":{"name":"constant.character.escape.codepoint.octal.man-conf","match":"(\\\\)[0-7]{3}","captures":{"1":{"name":"punctuation.definition.escape.backslash.man-conf"}}},"fields":{"patterns":[{"include":"#catwidth"},{"include":"#compress-ext"},{"include":"#defaults"},{"include":"#disable-setting"},{"include":"#hier-standard"},{"include":"#manbin"},{"include":"#mandatory-manpath"},{"include":"#manpath-map"},{"include":"#manpath"},{"include":"#program"},{"include":"#sections"}]},"hier-standard":{"name":"meta.field.${1:/downcase}.man-conf","begin":"^\\s*(FSSTND|FHS)(?=$|\\s)","end":"$","patterns":[{"include":"#unused"}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"legacy":{"begin":"(?=^\\s*_(?:build|default|subdir|suffix|version)(?:$|\\s))","end":"(?=A)B","patterns":[{"include":"#comment"},{"include":"#legacy-keyword"},{"include":"#legacy-section"}]},"legacy-ext":{"name":"constant.other.file-extension.man-conf","match":"\\S+","captures":{"0":{"patterns":[{"include":"etc#glob"}]}}},"legacy-keyword":{"name":"meta.field.$3.legacy.man-conf","begin":"^\\s*((_)(build|default|subdir|suffix|version|whatdb))(?=$|\\s)","end":"$","patterns":[{"begin":"(?\u003c=_build)\\G[ \\t]*","end":"(?=\\s*$)","patterns":[{"match":"\\G\\S+","captures":{"0":{"patterns":[{"include":"#legacy-ext"}]}}},{"name":"string.unquoted.shell-command.man-conf","match":"(?!\\G)(\\S.*?)(?=\\s*$)","captures":{"1":{"patterns":[{"name":"constant.other.placeholder.filename.man-conf","match":"%s"}]}}}]},{"begin":"(?\u003c=_suffix)\\G[ \\t]*","end":"(?=\\s*$)","patterns":[{"include":"#legacy-ext"}]},{"contentName":"constant.other.config-version.man-conf","begin":"(?\u003c=_version)\\G[ \\t]*","end":"(?=\\s*$)"},{"name":"string.unquoted.man-conf","begin":"\\G[ \\t]*","end":"(?=\\s*$)","patterns":[{"include":"etc#glob"}]}],"beginCaptures":{"1":{"name":"keyword.operator.field.legacy.man-conf"},"2":{"name":"punctuation.definition.keyword.man-conf"}}},"legacy-section":{"name":"meta.field.section.man-conf","contentName":"string.unquoted.man-conf","begin":"^\\s*(?!#)(\\S+)[ \\t]*","end":"(?=\\s*$)","patterns":[{"include":"etc#glob"}],"beginCaptures":{"1":{"name":"entity.name.section.man-conf"}}},"main":{"patterns":[{"include":"#comment"},{"include":"#fields"},{"include":"#decompressor"},{"include":"#define"},{"include":"#mandoc"},{"include":"#legacy"}]},"manbin":{"name":"meta.field.manbin.man-conf","begin":"^\\s*(MANBIN)(?=$|\\s)","end":"$","patterns":[{"begin":"\\G\\s+(?=\\S)","end":"(?!\\G)","patterns":[{"include":"#path"}]},{"include":"#unused"}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"mandatory-manpath":{"name":"meta.field.mandatory-manpath.man-conf","begin":"^\\s*(MANDATORY_MANPATH)(?=$|\\s)","end":"$","patterns":[{"name":"meta.man-directory.man-conf","begin":"\\G\\s+(?=\\S)","end":"(?!\\G)","patterns":[{"include":"#path"}]},{"include":"#unused"}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"mandoc":{"patterns":[{"name":"meta.field.manpath.man-conf","contentName":"constant.other.pathname.man-conf","begin":"^\\s*(manpath)(?=$|\\s)[ \\t]*","end":"\\s*$","beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},{"name":"meta.field.output.man-conf","begin":"^\\s*(output)(?=$|\\s)[ \\t]*","end":"$","patterns":[{"begin":"\\G\\S+","end":"$","patterns":[{"include":"#string"},{"include":"etc"},{"include":"etc#bareword"}],"beginCaptures":{"0":{"name":"variable.output-option.man-conf"}}}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}}]},"manpath":{"name":"meta.field.${1:/downcase}.man-conf","begin":"^\\s*(MANPATH|MANDB_MAP)(?=$|\\s)[ \\t]*","end":"$","patterns":[{"name":"meta.manpath-element.man-conf","begin":"\\G(?=\\S)","end":"(?!\\G)","patterns":[{"include":"#path"}]},{"begin":"(?!\\G)(?=\\S)","end":"$","patterns":[{"name":"meta.catdir-element.man-conf","begin":"\\G","end":"(?!\\G)","patterns":[{"include":"#path"}]},{"include":"#unused"}]}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"manpath-map":{"name":"meta.field.manpath-map.man-conf","begin":"^\\s*(MANPATH_MAP)(?=$|\\s)[ \\t]*","end":"$","patterns":[{"name":"meta.bin-directory.man-conf","begin":"\\G(?=\\S)","end":"(?!\\G)","patterns":[{"include":"#path"}]},{"begin":"(?!\\G)(?=\\S)","end":"$","patterns":[{"name":"meta.man-directory.man-conf","begin":"\\G","end":"(?!\\G)","patterns":[{"include":"#path"}]},{"include":"#unused"}]}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"path":{"name":"constant.other.pathname.man-conf","begin":"(?:^|\\G)(?=\\S)","end":"(?=$|\\s)","patterns":[{"include":"#escape"},{"include":"etc#globSimple"},{"include":"etc#globSet"}]},"program":{"name":"meta.field.program-location.${1:/downcase}-path.man-conf","begin":"(?x) ^\\s*\n# Source: ‘man/src/paths.h.in’\n( APROPOS\n| BROWSER\n| CAT\n| CMP\n| COL\n| COMPRESS\n| DECOMPRESS\n| EQN\n| GRAP\n| HTMLPAGER\n| JNEQN\n| JNROFF\n| NEQN\n| NROFF\n| PAGER\n| PIC\n| REFER\n| TBL\n| TROFF\n| VGRIND\n| WHATIS\n) (?=$|\\s)","end":"$","patterns":[{"include":"#program-spec"}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"program-spec":{"patterns":[{"name":"meta.executable-path.man-conf","begin":"\\G\\s+(?=[^-\\s])","end":"(?!\\G)","patterns":[{"include":"#path"}]},{"match":"(?!\\G)(.+)(?=\\s*$)","captures":{"1":{"patterns":[{"include":"#string"},{"include":"source.opts"}]}}}]},"sections":{"name":"meta.field.${1:/downcase}.section-list.man-conf","begin":"^\\s*(MANSECT|SECTIONS?)(?=$|\\s)","end":"$","patterns":[{"begin":"(?\u003c=N)\\G","end":"$","patterns":[{"name":"constant.numeric.section.man-conf","match":"\\S+"}]},{"begin":"\\G","end":"$","patterns":[{"name":"constant.numeric.section.man-conf","match":"[^:\\s]+"},{"name":"meta.separator.man-conf","match":":","captures":{"0":{"name":"punctuation.delimiter.separator.colon.man-conf"}}}]}],"beginCaptures":{"1":{"name":"keyword.operator.field.man-conf"}}},"string":{"patterns":[{"name":"string.quoted.double.man-conf","begin":"\"","end":"(\")|([^\"]*)(?=$)","patterns":[{"include":"#escape"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.start.man-conf"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.man-conf"},"2":{"name":"invalid.illegal.unclosed-string.man-conf"}}},{"name":"string.quoted.single.man-conf","begin":"'","end":"'","beginCaptures":{"1":{"name":"punctuation.definition.string.start.man-conf"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.man-conf"},"2":{"name":"invalid.illegal.unclosed-string.man-conf"}}}]},"unused":{"name":"invalid.illegal.unused-argument.man-conf","match":"\\S+"}},"injections":{"L:source.man-conf meta.tr-value string.quoted":{"patterns":[{"include":"#escape-octal"}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.mermaid.c4c-diagram","patterns":[{"include":"#main"}],"repository":{"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"source.mermaid#direction"},{"include":"source.mermaid.user-journey#title"},{"include":"source.wsd"}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.mermaid.class-diagram","patterns":[{"include":"#main"}],"repository":{"annotation":{"name":"meta.annotation.mermaid","contentName":"entity.name.tag.annotation.mermaid","begin":"(\u003c\u003c)","end":"(\u003e\u003e)","beginCaptures":{"0":{"name":"punctuation.definition.annotation.begin.mermaid"},"1":{"name":"sublimelinter.gutter-mark"}},"endCaptures":{"0":{"name":"punctuation.definition.annotation.end.mermaid"},"1":{"name":"sublimelinter.gutter-mark"}}},"annotation-statement":{"name":"meta.annotation.statement.mermaid","match":"^\\s*(\u003c\u003c.*?\u003e\u003e)(?:\\s+((?=[a-zA-Z])\\w+)(?=\\s*(?:$|[^{}\\s])))?","captures":{"1":{"patterns":[{"include":"#annotation"}]},"2":{"name":"entity.name.type.class.mermaid"}}},"cardinality":{"name":"string.quoted.double.cardinality.mermaid","begin":"\"","end":"\"","patterns":[{"name":"constant.language.variable-amount.mermaid","match":"\\*"},{"name":"constant.language.range.mermaid","match":"\\.\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"}}},"class":{"patterns":[{"name":"meta.class.definition.mermaid","begin":"(?x) ^\n\\s* (class)\n\\s+ ((?=[a-zA-Z])\\w+)\n(?:\\s* (~\\w+~))?\n(?:\\s* (:::) \\s* ([^\\s{}]+))?\n\\s* ({)","end":"}","patterns":[{"include":"source.mermaid#comment"},{"include":"#annotation"},{"include":"#member"}],"beginCaptures":{"1":{"name":"storage.type.class.mermaid"},"2":{"name":"entity.name.type.class.mermaid"},"3":{"patterns":[{"include":"#generic"}]},"4":{"name":"keyword.operator.css-class.mermaid"},"5":{"name":"constant.language.css-class.mermaid"},"6":{"patterns":[{"include":"source.mermaid#brace"}]}},"endCaptures":{"0":{"patterns":[{"include":"source.mermaid#brace"}]}}},{"name":"meta.class.statement.mermaid","match":"(?x) ^\n\\s* (class)\n\\s+ ((?=[a-zA-Z])\\w+(?:\\s+\\S.+?)?)\n(?: \\s* (~\\w+~))?\n(?: \\s* (:::) \\s* ([^\\s{}]+))?\n(?= \\s*)","captures":{"1":{"name":"storage.type.class.mermaid"},"2":{"name":"entity.name.type.class.mermaid"},"3":{"patterns":[{"include":"#generic"}]},"4":{"name":"keyword.operator.css-class.mermaid"},"5":{"name":"constant.language.css-class.mermaid"}}}]},"classifier":{"patterns":[{"name":"storage.modifier.classifier.abstract.mermaid","match":"\\*","captures":{"0":{"name":"sublimelinter.gutter-mark"}}},{"name":"storage.modifier.classifier.static.mermaid","match":"\\$","captures":{"0":{"name":"sublimelinter.gutter-mark"}}}]},"generic":{"name":"meta.generic.mermaid","contentName":"entity.name.tag.type.mermaid","begin":"(?:^|\\G)\\s*((~))","end":"(~)","beginCaptures":{"1":{"name":"punctuation.definition.type.begin.mermaid"},"2":{"name":"sublimelinter.gutter-mark"}},"endCaptures":{"0":{"name":"punctuation.definition.type.end.mermaid"},"1":{"name":"sublimelinter.gutter-mark"}}},"interaction":{"name":"meta.$1-handler.mermaid","begin":"^\\s*(link|callback)(?=$|\\s)","end":"(?!\\G)","patterns":[{"begin":"(?\u003c=link)\\G","end":"(?=\\s*$)","patterns":[{"name":"entity.name.tag.node.mermaid","begin":"\\G\\s+((?=[a-zA-Z])\\w+)","end":"\\s+(\"[^\"]*\")","beginCaptures":{"1":{"name":"entity.name.tag.node.mermaid"}},"endCaptures":{"1":{"patterns":[{"include":"source.mermaid.flowchart#url"}]}}},{"include":"source.mermaid.flowchart#tooltip"}]},{"begin":"(?\u003c=callback)\\G","end":"(?=\\s*$)","patterns":[{"name":"entity.name.tag.node.mermaid","begin":"\\G\\s+((?=[a-zA-Z])\\w+)","end":"\\s+((\")[^\"]*(\"))","beginCaptures":{"1":{"name":"entity.name.tag.node.mermaid"}},"endCaptures":{"1":{"name":"string.quoted.double.callback-name.mermaid"},"2":{"name":"punctuation.definition.string.begin.mermaid"},"3":{"name":"punctuation.definition.string.end.mermaid"}}},{"include":"source.mermaid.flowchart#tooltip"}]}],"beginCaptures":{"1":{"name":"storage.type.$1-assignment.mermaid"}}},"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"source.mermaid#direction"},{"include":"#annotation-statement"},{"include":"#relation"},{"include":"#class"},{"include":"#member-statement"},{"include":"#interaction"},{"include":"source.mermaid.flowchart#click"}]},"member":{"patterns":[{"name":"meta.member.method.mermaid","begin":"([-+#~]\\s*|(?![-+#~]))(?!})([^\\s\\(]+)(?=\\()","end":"(?\u003c=\\))(?:\\s*([*$]))?(?:\\s+(\\S+?)(\\s*~[^~]+~\\s*)?)?(?=$|\\s)","patterns":[{"include":"#params"}],"beginCaptures":{"1":{"patterns":[{"include":"#visibility"}]},"2":{"name":"entity.name.function.member.method.mermaid"}},"endCaptures":{"1":{"patterns":[{"include":"#classifier"}]},"2":{"name":"storage.type.return-value.mermaid"},"3":{"patterns":[{"include":"#generic"}]}}},{"name":"meta.member.attribute.mermaid","begin":"([-+#~]\\s*|(?![-+#~]))(?!})([^\\s\\(]+?)(\\s*~[^~]+~\\s*)?(?=$|\\s)","end":"\\S+|(?=\\s*$)","beginCaptures":{"1":{"patterns":[{"include":"#visibility"}]},"2":{"name":"storage.type.attribute.mermaid"},"3":{"patterns":[{"include":"#generic"}]}},"endCaptures":{"0":{"name":"entity.name.member.mermaid"}}}]},"member-statement":{"name":"meta.member.statement.mermaid","begin":"^\\s*((?=[a-zA-Z])\\w+)\\s*(:)[ \\t]*","end":"(?!\\G)","patterns":[{"include":"#member"}],"beginCaptures":{"1":{"name":"entity.name.type.class.mermaid"},"2":{"patterns":[{"include":"source.mermaid#colon"}]}},"applyEndPatternLast":true},"params":{"name":"meta.parameters.mermaid","begin":"\\G\\(","end":"\\)","patterns":[{"match":"(?:([^\\s(),]+?)(\\s*~[^~]+~)?\\s+)?([^\\s(),]+)","captures":{"1":{"name":"storage.type.parameter.mermaid"},"2":{"patterns":[{"include":"#generic"}]},"3":{"name":"variable.function.parameter.mermaid"}}},{"include":"source.mermaid#comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.mermaid"}}},"relation":{"name":"meta.relation.mermaid","begin":"(?x)\n# First operand\n(?:\n\t((?=[a-zA-Z])\\w+) # Name\n\t(?:\\s+(\"[^\"]*\"))? # Cardinality\n\t\\s*\n)?\n\n# Link operator\n(?:\n\t# (Possibly asymmetrical) two-way relation\n\t((?:[*o]|\u003c\\|?)(?:--|\\.\\.)(?:[*o]|\\|?\u003e))\n\t\n\t# One-way relations\n\t| (--\\|\u003e | \u003c\\|--) # Inheritance\n\t| (--\\* | \\*--) # Composition\n\t| (--o | o--) # Aggregation\n\t| (--\u003e | \u003c--) # Association\n\t| (\\.{2}\\|\u003e | \u003c\\|\\.{2}) # Realisation\n\t| (\\.{2}\u003e | \u003c\\.{2}) # Dependency\n\t| (\\.{2}) # Link, dashed\n\t| (--) # Link, solid\n)\n\n# Second operand\n(?:\n\t\\s*\n\t(?:(\"[^\"]*\")\\s+)? # Cardinality\n\t((?=[a-zA-Z])\\w+) # Name\n)?","end":"(?!\\G)","patterns":[{"name":"meta.label.mermaid","contentName":"string.unquoted.relation-text.mermaid","begin":"\\G\\s*(:)[ \\t]*","end":"(?=\\s*$)","beginCaptures":{"1":{"patterns":[{"include":"source.mermaid#colon"}]}}}],"beginCaptures":{"1":{"name":"entity.name.type.class.first.mermaid"},"10":{"name":"keyword.operator.relation.dependency.mermaid"},"11":{"name":"keyword.operator.relation.link.dashed.mermaid"},"12":{"patterns":[{"include":"#cardinality"}]},"13":{"name":"entity.name.type.class.second.mermaid"},"2":{"patterns":[{"include":"#cardinality"}]},"3":{"name":"keyword.operator.relation.two-way.mermaid"},"4":{"name":"keyword.operator.relation.inheritance.mermaid"},"5":{"name":"keyword.operator.relation.composition.mermaid"},"6":{"name":"keyword.operator.relation.aggregation.mermaid"},"7":{"name":"keyword.operator.relation.association.mermaid"},"8":{"name":"keyword.operator.relation.link.solid.mermaid"},"9":{"name":"keyword.operator.relation.realisation.mermaid"}}},"visibility":{"patterns":[{"name":"storage.modifier.visibility.public.mermaid","match":"\\+","captures":{"0":{"name":"sublimelinter.gutter-mark"}}},{"name":"storage.modifier.visibility.private.mermaid","match":"-","captures":{"0":{"name":"sublimelinter.gutter-mark"}}},{"name":"storage.modifier.visibility.protected.mermaid","match":"#","captures":{"0":{"name":"sublimelinter.gutter-mark"}}},{"name":"storage.modifier.visibility.internal.mermaid","match":"~","captures":{"0":{"name":"sublimelinter.gutter-mark"}}}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.mermaid.er-diagram","patterns":[{"include":"#main"}],"repository":{"attribute":{"name":"meta.attribute.mermaid","match":"(?x)\n((?=[a-zA-Z])[-\\w]+) # Attribute type\n\\s+\n((?=[a-zA-Z])[-\\w]+) # Attribute name\n(?:\\s+ (PK|FK))? # Primary/foreign key\n(?:\\s* (\"[^\"]*\"))? # Comment","captures":{"1":{"name":"storage.type.attribute.mermaid"},"2":{"name":"entity.name.attribute.mermaid"},"3":{"name":"constant.language.other.key-type.mermaid"},"4":{"patterns":[{"include":"#string"}]}}},"attributes":{"name":"meta.attributes.mermaid","begin":"((?=[a-zA-Z])[-\\w]+)\\s*({)","end":"}","patterns":[{"include":"#attribute"},{"include":"source.mermaid#a11y"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"}],"beginCaptures":{"1":{"name":"entity.name.assignee.mermaid"},"2":{"patterns":[{"include":"source.mermaid#brace"}]}},"endCaptures":{"0":{"patterns":[{"include":"source.mermaid#brace"}]}}},"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"#attributes"},{"include":"#relationship"}]},"relationship":{"name":"meta.relationship.mermaid","match":"(?x)\n((?=[a-zA-Z])[-\\w]+) # Entity 1\n\n(?:\n\t\\s*\n\t# Cardinality configuration thingie\n\t(\n\t\t# Entity 1's cardinality\n\t\t(?: \\|o # Zero or one\n\t\t| \\|\\| # Exactly one\n\t\t| }o # Zero or more\n\t\t| }\\| # One or more\n\t\t)\n\t\t\n\t\t# Stroke style\n\t\t(?: -- # Solid\n\t\t| \\.\\. # Dashed\n\t\t)\n\t\t\n\t\t# Entity 2's cardinality\n\t\t(?: o\\| # Zero or one\n\t\t| \\|\\| # Exactly one\n\t\t| o{ # Zero or more\n\t\t| \\|{ # One or more\n\t\t)\n\t)\n\t\\s*\n\t((?=[a-zA-Z])[-\\w]+) # Entity 2\n\t\n\t# Relationship label\n\t\\s* (:) \\s*\n\t(?: (\"[^\"]*\") # Quoted\n\t| ((?=[a-zA-Z])[-\\w]+) # Unquoted\n\t| ((?:[^\\s%]|%(?!%))+) # Invalid\n\t)?\n)?","captures":{"1":{"name":"entity.name.operand.first.mermaid"},"2":{"name":"keyword.operator.cardinality.mermaid"},"3":{"name":"entity.name.operand.second.mermaid"},"4":{"patterns":[{"include":"source.mermaid#colon"}]},"5":{"patterns":[{"include":"#string"}]},"6":{"name":"string.unquoted.label-text.mermaid"},"7":{"name":"invalid.illegal.unexpected-characters.mermaid"}}},"string":{"name":"string.quoted.double.label-text.mermaid","begin":"\"","end":"\"","patterns":[{"include":"source.mermaid#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"}}}}}
@@ -0,0 +1 @@
1
+ {"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"}}},"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":[{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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":{"name":"invalid.illegal.unclosed-string.mermaid","patterns":[{"include":"#br"}]}}},{"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"}}},{"match":"\\s+(\u0026)(?:$|[ \\t]+)","captures":{"1":{"name":"keyword.operator.logical.and.mermaid"}}},{"include":"#link"}],"beginCaptures":{"0":{"name":"entity.name.tag.node.mermaid"}},"applyEndPatternLast":true},"node-innards":{"patterns":[{"name":"string.quoted.double.mermaid","begin":"\\G\"","end":"(\")|([^\"]+)$","patterns":[{"include":"#br"},{"include":"#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"invalid.illegal.unclosed-string.mermaid"}}},{"name":"string.quoted.single.mermaid","begin":"\\G'","end":"(')|([^']+)$","patterns":[{"include":"#br"},{"include":"#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"invalid.illegal.unclosed-string.mermaid"}}},{"include":"#br"},{"include":"#entity"}]},"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"}}},"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"}}}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.mermaid.gantt","patterns":[{"include":"#main"}],"repository":{"axis-format":{"name":"meta.axis-format.statement.mermaid","contentName":"string.unquoted.date-format.mermaid","begin":"(?i)^\\s*(axisFormat)(?=$|\\s)[ \\t]*","end":"(?=\\s*$)","patterns":[{"name":"constant.other.placeholder.date-component.mermaid","match":"(%)[%ABHILMSUWXYZabcdejmpwxy]","captures":{"1":{"name":"punctuation.definition.placeholder.mermaid"}}},{"include":"source.mermaid#entity"}],"beginCaptures":{"1":{"name":"storage.type.date-format.mermaid"}}},"date":{"name":"constant.numeric.date.iso8601.mermaid","match":"\\d{4}-\\d{2}-\\d{2}"},"date-format":{"name":"meta.date-format.statement.mermaid","contentName":"string.unquoted.date-format.mermaid","begin":"(?i)^\\s*(dateFormat)(?=$|\\s)[ \\t]*","end":"(?=\\s*(?:$|%%))","patterns":[{"name":"constant.other.placeholder.date-component.mermaid","match":"YYYY|YY|Q|MM?|MMMM?|Do|DDDD?|DD?|X|x|HH?|hh?|A|a|mm?|ss?|S{1,3}|ZZ?"},{"include":"source.mermaid#entity"}],"beginCaptures":{"1":{"name":"storage.type.date-format.mermaid"}}},"day":{"name":"constant.language.weekday-name.mermaid","match":"(?i)\\b(Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)\\b"},"filters":{"name":"meta.${2:/downcase}-list.statement.mermaid","contentName":"meta.${2:/downcase}d-dates.mermaid","begin":"(?i)^\\s*((exclude|include)s)(?=$|\\s)[ \\t]*","end":"(?=\\s*$)","patterns":[{"include":"source.mermaid#comma"},{"include":"#date"},{"include":"#day"},{"name":"constant.language.weekends.mermaid","match":"(?i)\\b(weekends)\\b"}],"beginCaptures":{"1":{"name":"storage.type.${1:/downcase}.mermaid"}}},"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#terminator"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"#title"},{"include":"#date-format"},{"include":"#axis-format"},{"include":"#today-marker"},{"include":"#filters"},{"include":"#section"},{"include":"source.mermaid.flowchart#click"},{"include":"#undocumented"}]},"section":{"name":"meta.section.mermaid","begin":"(?i)^\\s*(section)(?=$|\\s)[ \\t]*","end":"(?=^\\s*section(?:$|\\s))|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"name":"string.unquoted.section-description.mermaid","begin":"\\G(?=\\S)","end":"(?=\\s*$)","patterns":[{"include":"source.mermaid#entity"}]},{"include":"#task"},{"include":"#main"}],"beginCaptures":{"1":{"name":"storage.type.section.mermaid"}}},"task":{"name":"meta.task.mermaid","contentName":"meta.task-data.mermaid","begin":"(?i)^\\s*((?=\\S)[^:]+)\\s(:)[ \\t]*","end":"(?=\\s*$)","patterns":[{"match":"(?:^|\\G|(?\u003c=,))\\s*(active|crit|done|milestone)[ \\t]*(?=$|,)","captures":{"1":{"name":"entity.name.tag.mermaid"}}},{"match":"(?:^|\\G|(?\u003c=,))\\s*(?i:(after)\\s+)?((?=[a-zA-Z])[-\\w]+)[ \\t]*(?=$|,)","captures":{"1":{"name":"keyword.operator.dependancy.mermaid"},"2":{"name":"entity.name.task.mermaid"}}},{"include":"#date"},{"match":"(?:^|\\G|(?\u003c=,))\\s*((\\d+)([wdhms]))[ \\t]*(?=$|,)","captures":{"1":{"name":"meta.duration.mermaid"},"2":{"name":"constant.numeric.decimal.duration.mermaid"},"3":{"name":"keyword.other.unit.duration.mermaid"}}},{"include":"source.mermaid#comma"}],"beginCaptures":{"1":{"name":"entity.other.task-description.mermaid"},"2":{"patterns":[{"include":"source.mermaid#colon"}]}}},"title":{"name":"meta.title.statement.mermaid","contentName":"string.unquoted.chart-title.mermaid","begin":"(?i)^\\s*(title)(?=$|\\s)[ \\t]*","end":"(?=\\s*$)","patterns":[{"include":"source.mermaid#entity"}],"beginCaptures":{"1":{"name":"storage.type.title.mermaid"}}},"today-marker":{"name":"meta.today-marker.statement.mermaid","begin":"(?i)^\\s*(todayMarker)(?=$|\\s)[ \\t]*","end":"(?!\\G)","patterns":[{"name":"constant.language.boolean.false.mermaid","match":"(?i)\\Goff(?=\\s*$)"},{"include":"source.mermaid#inline-css"}],"beginCaptures":{"1":{"name":"storage.type.today-marker.mermaid"}},"applyEndPatternLast":true},"undocumented":{"patterns":[{"name":"meta.include-end-dates.statement.mermaid","match":"(?i)^\\s*(inclusiveEndDates)(?=$|\\s)","captures":{"1":{"name":"keyword.operator.enable-inclusive-end-dates.mermaid"}}},{"name":"meta.enable-top-axis.statement.mermaid","match":"(?i)^\\s*(topAxis)(?=$|\\s)","captures":{"1":{"name":"keyword.operator.enable-top-axis.mermaid"}}}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.mermaid.gitgraph","patterns":[{"include":"#main"}],"repository":{"command":{"name":"meta.${1:/downcase}.statement.mermaid","begin":"(?i)(?:^|\\G|(?\u003c=;))[ \\t]*(branch|checkout|cherry-pick|commit|merge|reset)(?=$|\\s)","end":"(?=\\s*(?:$|;))","patterns":[{"match":"\\G\\s*([^\"\\s:;]+)(?=$|\\s|;)(?!\\s*:)","captures":{"1":{"name":"entity.name.object.mermaid"}}},{"include":"#string"},{"include":"#fields"}],"beginCaptures":{"1":{"name":"keyword.operator.git-action.${1:/downcase}.mermaid"}}},"fields":{"patterns":[{"include":"#order"},{"include":"#tag"},{"include":"#type"},{"begin":"(?i)(?:^|\\G|(?\u003c=\\s))\\s*((?=\\w)[-\\w]+)\\s*(:)[ \\t]*","end":"(?!\\G)","patterns":[{"include":"#unquoted-string"},{"include":"#string"}],"beginCaptures":{"1":{"name":"variable.assignment.field.user-defined.mermaid"},"2":{"patterns":[{"include":"source.mermaid#colon"}]}}}]},"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"source.mermaid#terminator"},{"include":"#options"},{"include":"#command"}]},"options":{"name":"meta.options.mermaid","contentName":"source.embedded.json","begin":"(?i)(?:^|\\G|(?\u003c=\\s))(options)[ \\t]*$","end":"^\\s*(end)(?=$|\\s)","patterns":[{"include":"source.json"}],"beginCaptures":{"1":{"name":"keyword.control.options.begin.mermaid"}},"endCaptures":{"1":{"name":"keyword.control.options.end.mermaid"}}},"order":{"name":"meta.field.order.mermaid","begin":"(?i)(?:^|\\G|(?\u003c=\\s))\\s*(order)\\s*(:)[ \\t]*","end":"(?!\\G)","patterns":[{"name":"constant.numeric.decimal.order.index.mermaid","match":"\\G[-+]?\\d+(?:\\.\\d+)?"}],"beginCaptures":{"1":{"name":"variable.assignment.field.mermaid"},"2":{"patterns":[{"include":"source.mermaid#colon"}]}}},"string":{"name":"string.quoted.double.mermaid","begin":"(?:^|\\G|(?\u003c=\\s))\"","end":"(\")|([^\"\\r\\n]*)$","patterns":[{"include":"source.mermaid#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"invalid.illegal.unclosed-string.mermaid"}}},"tag":{"name":"meta.field.tag.mermaid","begin":"(?i)(?:^|\\G|(?\u003c=\\s))\\s*(tag)\\s*(:)[ \\t]*","end":"(?!\\G)","patterns":[{"include":"#string"}],"beginCaptures":{"1":{"name":"variable.assignment.field.mermaid"},"2":{"patterns":[{"include":"source.mermaid#colon"}]}}},"type":{"name":"meta.field.type.mermaid","begin":"(?i)(?:^|\\G|(?\u003c=\\s))\\s*(type)\\s*(:)[ \\t]*","end":"(?!\\G)","patterns":[{"name":"constant.language.merge-type.mermaid","match":"\\G(HIGHLIGHT|NORMAL|REVERSE)(?=$|\\s)"},{"name":"invalid.illegal.unrecognised-type.mermaid","match":"\\G[^\\s;]+"}],"beginCaptures":{"1":{"name":"variable.assignment.field.mermaid"},"2":{"patterns":[{"include":"source.mermaid#colon"}]}}},"unquoted-string":{"name":"string.unquoted.bareword.mermaid","match":"(?:\\G)[^\\s\":;]+(?!\\s*:)"}}}
@@ -0,0 +1 @@
1
+ {"name":"Mermaid","scopeName":"source.mermaid","patterns":[{"include":"#main"}],"repository":{"a11y":{"name":"meta.a11y-option.${1:/downcase}.mermaid","begin":"(?:\\G|^|(?\u003c=\\s|;|%%))acc(Title|Descr)(?:(?=\\s*[:{])|[ \\t]*$)","end":"(?!\\G)","patterns":[{"include":"#a11y-innards"},{"begin":"\\G$","end":"(?!\\G)","patterns":[{"begin":"\\G","end":"(?=\\S)"},{"begin":"(?=:|{)","end":"(?!\\G)","patterns":[{"include":"#a11y-innards"}]}],"applyEndPatternLast":true}],"beginCaptures":{"0":{"name":"variable.assignment.accessibility.mermaid"}}},"a11y-innards":{"patterns":[{"contentName":"string.unquoted.directive-value.single-line.mermaid","begin":"\\G\\s*(:)[ \\t]*","end":"[ \\t]*$","beginCaptures":{"1":{"name":"keyword.operator.assignment.key-value.colon"}}},{"contentName":"string.quoted.other.curly.brackets.directive-value.multi-line.mermaid","begin":"\\G\\s*({)[ \\t]*","end":"[ \\t]*(})","beginCaptures":{"1":{"name":"punctuation.definition.string.curly.bracket.begin.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.curly.bracket.end.mermaid"}}}]},"br":{"name":"text.embedded.html.basic","match":"(?i)\u003cbr\\s*/?\u003e","captures":{"0":{"patterns":[{"include":"text.html.basic"}]}}},"brace":{"patterns":[{"name":"punctuation.definition.class.block.begin.mermaid","match":"{","captures":{"0":{"name":"sublimelinter.gutter-mark"}}},{"name":"punctuation.definition.class.block.end.mermaid","match":"}","captures":{"0":{"name":"sublimelinter.gutter-mark"}}}]},"c4c-diagram":{"name":"meta.c4c-diagram.c4-${2:/downcase}.mermaid","begin":"^[ \\t]*(C4(Component|Container|Context|Deployment|Dynamic))(?=$|\\s|;)","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"include":"source.mermaid.c4c-diagram"}],"beginCaptures":{"1":{"name":"keyword.control.c4c-diagram.begin.mermaid"}}},"class-diagram":{"name":"meta.class-diagram.mermaid","begin":"^[ \\t]*(classDiagram(?:-v2)?)(?=$|\\s|;)","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"include":"source.mermaid.class-diagram"}],"beginCaptures":{"1":{"name":"keyword.control.class-diagram.begin.mermaid"}}},"colon":{"name":"keyword.operator.assignment.mermaid","match":":","captures":{"0":{"name":"punctuation.separator.message.key-value.mermaid"}}},"comma":{"name":"punctuation.delimiter.comma.mermaid","match":",","captures":{"0":{"name":"sublimelinter.gutter-mark.mermaid"}}},"comment":{"name":"comment.line.percentage.mermaid","begin":"(?:\\G|^|(?\u003c=\\s|;|%%))(%%)","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.comment.mermaid"}}},"direction":{"name":"meta.direction.statement.mermaid","match":"(?:\\G|^|(?\u003c=\\s|;|%%))(direction)(?:\\s+(BT|LR|RL|TB|TD))?(?=$|\\s|;)","captures":{"1":{"name":"storage.type.direction.mermaid"},"2":{"name":"constant.language.orientation.diagram.mermaid"}}},"directive":{"name":"meta.directive.mermaid","contentName":"source.embedded.js","begin":"%%(?={)","end":"%%$","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"punctuation.definition.directive.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.directive.end.mermaid"}}},"entity":{"patterns":[{"name":"constant.character.entity.codepoint.mermaid","match":"(#)\\d+(;)","captures":{"1":{"name":"punctuation.definition.entity.begin.mermaid"},"2":{"name":"punctuation.definition.entity.end.mermaid"}}},{"name":"constant.character.entity.named.mermaid","match":"(#)[a-zA-Z0-9]+(;)","captures":{"1":{"name":"punctuation.definition.entity.begin.mermaid"},"2":{"name":"punctuation.definition.entity.end.mermaid"}}}]},"er-diagram":{"name":"meta.er-diagram.mermaid","begin":"^[ \\t]*(erDiagram)(?=$|\\s|;)","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"include":"source.mermaid.er-diagram"}],"beginCaptures":{"1":{"name":"keyword.control.er-diagram.begin.mermaid"}}},"flowchart":{"name":"meta.flowchart.mermaid","begin":"^[ \\t]*(flowchart(?:-v2)?|graph)(?!-)\\b","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"match":"\\G\\s+(BT|LR|RL|TB|TD)(?=$|\\s)","captures":{"1":{"name":"constant.language.orientation.flowchart.mermaid"}}},{"include":"source.mermaid.flowchart"}],"beginCaptures":{"1":{"name":"keyword.control.flowchart.begin.mermaid"}}},"gantt":{"name":"meta.gantt-chart.mermaid","begin":"(?i)^[ \\t]*(gantt)(?=$|\\s)","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"include":"source.mermaid.gantt"}],"beginCaptures":{"1":{"name":"keyword.control.gantt-chart.begin.mermaid"}}},"gitgraph":{"name":"meta.gitgraph.mermaid","begin":"(?i)^[ \\t]*(gitGraph)(?:\\s+(LR|BT))?(?:\\s*(:))?(?=$|\\s)","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"include":"source.mermaid.gitgraph"}],"beginCaptures":{"1":{"name":"keyword.control.gitgraph.begin.mermaid"},"2":{"name":"constant.language.orientation.flowchart.mermaid"},"3":{"patterns":[{"include":"source.mermaid#colon"}]}}},"inline-css":{"patterns":[{"name":"source.embedded.css","match":"(?=\\S)(?:[^,;\\r\\n%]|(?\u003c!%)%(?!%))++","captures":{"0":{"patterns":[{"include":"source.css#rule-list-innards"}]}}},{"include":"#comma"}]},"main":{"patterns":[{"include":"#directive"},{"include":"#comment"},{"include":"#flowchart"},{"include":"#sequence-diagram"},{"include":"#class-diagram"},{"include":"#state-diagram"},{"include":"#er-diagram"},{"include":"#user-journey"},{"include":"#gantt"},{"include":"#pie-chart"},{"include":"#requirement-diagram"},{"include":"#gitgraph"},{"include":"#c4c-diagram"}]},"pie-chart":{"name":"meta.pie-chart.mermaid","begin":"(?i)^[ \\t]*(pie)(?=$|\\s)","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"include":"source.mermaid.pie-chart"}],"beginCaptures":{"1":{"name":"keyword.control.pie-chart.begin.mermaid"}}},"requirement-diagram":{"name":"meta.requirement-diagram.mermaid","begin":"(?i)^[ \\t]*(requirementDiagram)(?=$|\\s)","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"include":"source.mermaid.requirement-diagram"}],"beginCaptures":{"1":{"name":"keyword.control.requirement-diagram.begin.mermaid"}}},"sequence-diagram":{"name":"meta.sequence-diagram.mermaid","begin":"(?i)^[ \\t]*(sequenceDiagram)(?=$|\\s|;)","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"include":"source.mermaid.sequence-diagram"}],"beginCaptures":{"1":{"name":"keyword.control.sequence-diagram.begin.mermaid"}}},"state-diagram":{"name":"meta.state-diagram.mermaid","begin":"(?i)^[ \\t]*(stateDiagram(?:-v2)?)(?=$|\\s|;)","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"include":"source.mermaid.state-diagram"}],"beginCaptures":{"1":{"name":"keyword.control.state-diagram.begin.mermaid"}}},"terminator":{"name":"punctuation.terminator.statement.mermaid","match":";","captures":{"0":{"name":"sublimelinter.gutter-mark.mermaid"}}},"user-journey":{"name":"meta.user-journey.mermaid","begin":"(?i)^[ \\t]*(journey)(?=$|\\s)","end":"(?=A)B|(?=^[ \\t]*(?:`{3,}|~{3,})\\s*$)","patterns":[{"include":"source.mermaid.user-journey"}],"beginCaptures":{"1":{"name":"keyword.control.user-journey.begin.mermaid"}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.mermaid.pie-chart","patterns":[{"include":"#main"}],"repository":{"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"#show-data"},{"include":"#title"},{"include":"#slice"}]},"show-data":{"match":"(?i)(?:\\G|(?\u003c=pie))\\s+(showData)(?=$|\\s)","captures":{"1":{"name":"keyword.operator.show-data.mermaid"}}},"slice":{"name":"meta.data-set.mermaid","match":"^\\s*((\")([^\"]*)(\"))\\s*(:)[ \\t]*(?:([-+]?\\d+(?:\\.\\d+)?))?","captures":{"1":{"name":"string.quoted.double.data-key.mermaid"},"2":{"patterns":[{"include":"source.mermaid#entity"}]},"4":{"name":"punctuation.definition.string.end.mermaid"},"5":{"patterns":[{"include":"source.mermaid#colon"}]},"6":{"name":"constant.numeric.decimal.data-value.mermaid"}}},"title":{"name":"meta.title.mermaid","contentName":"string.unquoted.diagram-title.mermaid","begin":"(?i)(?:^|\\G|(?\u003c=\\s))\\s*(title)(?=$|\\s)[ \\t]*","end":"(?=\\s*$)","patterns":[{"include":"source.mermaid#entity"}],"beginCaptures":{"1":{"name":"storage.type.title.mermaid"}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.mermaid.requirement-diagram","patterns":[{"include":"#main"}],"repository":{"element":{"name":"meta.element.definition.mermaid","begin":"(?i)^\\s*(element)(?:\\s+(?:(\\w[^-{\u003c\u003e=]*?)|((\")([^\"]*)(\"))))?\\s*({)","end":"}","patterns":[{"include":"#field"},{"include":"source.mermaid#a11y"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"}],"beginCaptures":{"1":{"name":"storage.type.element.mermaid"},"2":{"name":"entity.name.element.mermaid"},"3":{"name":"string.quoted.double.requirement.name.mermaid"},"4":{"name":"punctuation.definition.string.begin.mermaid"},"5":{"patterns":[{"include":"source.mermaid#entity"}]},"6":{"name":"punctuation.definition.string.end.mermaid"},"7":{"patterns":[{"include":"source.mermaid#brace"}]}},"endCaptures":{"0":{"patterns":[{"include":"source.mermaid#brace"}]}}},"field":{"name":"meta.field.${1:/downcase}.mermaid","begin":"(?i)^\\s*(\\w+)\\s*(:)[ \\t]*","end":"(?=\\s*$)","patterns":[{"include":"#field-innards"}],"beginCaptures":{"1":{"name":"variable.assignment.field.mermaid"},"2":{"patterns":[{"include":"source.mermaid#colon"}]}}},"field-innards":{"patterns":[{"contentName":"string.quoted.double.mermaid","begin":"\\G\\s*\"","end":"(\")(?:\\s*(?!%%)(\\S[^\\r\\n]*))?","patterns":[{"include":"source.mermaid#entity"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.mermaid"},"2":{"name":"invalid.illegal.unexpected-junk.mermaid"}}},{"name":"string.unquoted.mermaid","match":"\\G[^\"\\s][^\"\\r\\n]*"}]},"invalid-value":{"name":"invalid.illegal.bad-value.mermaid","match":"\\G\\S[^\\r\\n]*"},"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"#requirement"},{"include":"#element"},{"include":"#relationship"}]},"relationship":{"patterns":[{"name":"meta.relationship.source-to-destination.mermaid","match":"(?x)\n(\\w[^-{\u003c\u003e=\\r\\n]* | \"[^\"]*\") \\s* # Source\n(- \\s* \\w+ \\s* -\u003e) \\s* # Operator\n(\\w[^-{\u003c\u003e=\\r\\n]* | \"[^\"]*\") # Destination","captures":{"1":{"patterns":[{"include":"#relationship-source"}]},"2":{"patterns":[{"include":"#relationship-type"}]},"3":{"patterns":[{"include":"#relationship-destination"}]}}},{"name":"meta.relationship.destination-to-source.mermaid","match":"(?x)\n(\\w[^-{\u003c\u003e=\\r\\n]* | \"[^\"]*\") \\s* # Destination\n(\u003c- \\s* \\w+ \\s* -) \\s* # Operator\n(\\w[^-{\u003c\u003e=\\r\\n]* | \"[^\"]*\") # Source","captures":{"1":{"patterns":[{"include":"#relationship-destination"}]},"2":{"patterns":[{"include":"#relationship-type"}]},"3":{"patterns":[{"include":"#relationship-source"}]}}}]},"relationship-destination":{"patterns":[{"name":"string.quoted.double.relationship-operand.destination.mermaid","begin":"(?:^|\\G)\"","end":"\"","patterns":[{"include":"source.mermaid#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"}}},{"name":"entity.name.relationship-operand.destination.mermaid","match":"(?:^|\\G)\\w.*"}]},"relationship-source":{"patterns":[{"name":"string.quoted.double.relationship-operand.source.mermaid","begin":"(?:^|\\G)\"","end":"\"","patterns":[{"include":"source.mermaid#entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"}}},{"name":"entity.name.relationship-operand.source.mermaid","match":"(?:^|\\G)\\w.*"}]},"relationship-type":{"patterns":[{"name":"keyword.operator.arrow.left.mermaid","match":"-\u003e"},{"name":"keyword.operator.arrow.right.mermaid","match":"\u003c-"},{"name":"keyword.operator.dash.mermaid","match":"-"},{"name":"keyword.operator.relation.${1:/downcase}.mermaid","match":"(?ix)\n(?:^|\\G|(?\u003c=-|\\s))\n( contains\n| copies\n| derives\n| refines\n| satisfies\n| traces\n| verifies\n) (?=$|-|\\s)"},{"name":"invalid.illegal.unsupported-type.mermaid","match":"\\w+"}]},"requirement":{"name":"meta.requirement.definition.mermaid","begin":"(?xi) ^\\s*\n( functionalRequirement\n| interfaceRequirement\n| performanceRequirement\n| physicalRequirement\n| designConstraint\n| requirement\n)\n(?:\n\t\\s+\n\t# Requirement name\n\t(?: (\\w[^-{\u003c\u003e=]*?) # Unquoted\n\t| ((\")([^\"]*)(\")) # Quoted\n\t)\n)?\n\\s* ({)","end":"}","patterns":[{"include":"#risk"},{"include":"#verify-method"},{"include":"#field"},{"include":"source.mermaid#a11y"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"}],"beginCaptures":{"1":{"name":"storage.type.requirement.mermaid"},"2":{"name":"entity.name.requirement.mermaid"},"3":{"name":"string.quoted.double.requirement.name.mermaid"},"4":{"name":"punctuation.definition.string.begin.mermaid"},"5":{"patterns":[{"include":"source.mermaid#entity"}]},"6":{"name":"punctuation.definition.string.end.mermaid"},"7":{"patterns":[{"include":"source.mermaid#brace"}]}},"endCaptures":{"0":{"patterns":[{"include":"source.mermaid#brace"}]}}},"risk":{"name":"meta.field.risk.mermaid","begin":"(?i)^\\s*(risk)\\s*(:)[ \\t]*","end":"(?=\\s*$)","patterns":[{"name":"constant.language.risk-level.${1:/downcase}.mermaid","match":"(?i)\\G(Low|Medium|High)(?=\\s*$)"},{"include":"#invalid-value"}],"beginCaptures":{"1":{"name":"variable.assignment.field.mermaid"},"2":{"patterns":[{"include":"source.mermaid#colon"}]}}},"verify-method":{"name":"meta.field.verify-method.mermaid","begin":"(?i)^\\s*(verifyMethod)\\s*(:)[ \\t]*","end":"(?=\\s*$)","patterns":[{"name":"constant.language.verify-method.${1:/downcase}.mermaid","match":"(?i)\\G(Analysis|Demonstration|Inspection|Test)(?=\\s*$)"},{"include":"#invalid-value"}],"beginCaptures":{"1":{"name":"variable.assignment.field.mermaid"},"2":{"patterns":[{"include":"source.mermaid#colon"}]}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.mermaid.sequence-diagram","patterns":[{"include":"#main"}],"repository":{"activation":{"name":"keyword.operator.${1:/downcase}.mermaid","match":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))((?:de)?activate)(?=$|\\s|;)"},"actor":{"name":"meta.definition.mermaid","begin":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))(actor|participant)(?=$|\\s|;)[ \\t]*","end":"(?!\\G)|(?=\\s*(?:$|;))","patterns":[{"include":"#name"}],"beginCaptures":{"1":{"name":"storage.modifier.${1:/downcase}.mermaid"}}},"alt":{"name":"meta.alternation.block.mermaid","begin":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))\\s*(alt)(?=$|\\s|;)","end":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))\\s*(end)(?=$|\\s|;)","patterns":[{"name":"meta.branch.if.mermaid","begin":"\\G","end":"(?i)(?=(?:^|(?\u003c=\\s|;|%%))\\s*(?:end|else)(?:$|\\s|;))","patterns":[{"include":"#alt-innards"}]},{"name":"meta.branch.else.mermaid","begin":"(?i)(?:^|(?\u003c=\\s|;|%%))\\s*(else)(?=$|\\s|;)","end":"(?i)(?=(?:^|(?\u003c=\\s|;|%%))\\s*end(?:$|\\s|;))","patterns":[{"include":"#alt-innards"}],"beginCaptures":{"1":{"name":"keyword.control.flow.alternation.else.mermaid"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.alternation.begin.mermaid"}},"endCaptures":{"1":{"name":"keyword.control.flow.alternation.end.mermaid"}}},"alt-innards":{"patterns":[{"contentName":"string.unquoted.condition-text.mermaid","begin":"\\G[ \\t]*(?=\\S)","end":"(?=\\s*(?:$|;))","patterns":[{"include":"#string-innards"}]},{"include":"#main"}]},"autonumber":{"name":"keyword.operator.autonumber.mermaid","match":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))autonumber(?=$|\\s|;)"},"break":{"name":"meta.break.block.mermaid","begin":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))break(?=$|\\s|;)","end":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))end(?=$|\\s|;)","patterns":[{"contentName":"string.unquoted.break-text.mermaid","begin":"\\G[ \\t]*(?=\\S)","end":"(?=\\s*(?:$|;))","patterns":[{"include":"#string-innards"}]},{"include":"#main"}],"beginCaptures":{"0":{"name":"keyword.control.flow.break.begin.mermaid"}},"endCaptures":{"0":{"name":"keyword.control.flow.break.end.mermaid"}}},"critical":{"name":"meta.requirements.block.mermaid","begin":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))\\s*(critical)(?=$|\\s|;)","end":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))\\s*(end)(?=$|\\s|;)","patterns":[{"name":"meta.branch.required.first.mermaid","begin":"\\G","end":"(?i)(?=(?:^|(?\u003c=\\s|;|%%))\\s*(?:option|end)(?:$|\\s|;))","patterns":[{"include":"#alt-innards"}]},{"name":"meta.branch.required.rest.mermaid","begin":"(?i)(?:^|(?\u003c=\\s|;|%%))\\s*(option)(?=$|\\s|;)","end":"(?i)(?=(?:^|(?\u003c=\\s|;|%%))\\s*(?:option|end)(?:$|\\s|;))","patterns":[{"include":"#alt-innards"}],"beginCaptures":{"1":{"name":"keyword.control.flow.option.mermaid"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.requirements.begin.mermaid"}},"endCaptures":{"1":{"name":"keyword.control.flow.requirements.end.mermaid"}}},"loop":{"name":"meta.loop.block.mermaid","begin":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))loop(?=$|\\s|;)","end":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))end(?=$|\\s|;)","patterns":[{"contentName":"string.unquoted.loop-text.mermaid","begin":"\\G[ \\t]*(?=\\S)","end":"(?=\\s*(?:$|;))","patterns":[{"include":"#string-innards"}]},{"include":"#main"}],"beginCaptures":{"0":{"name":"keyword.control.loop.begin.mermaid"}},"endCaptures":{"0":{"name":"keyword.control.loop.end.mermaid"}}},"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#terminator"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"#message"},{"include":"#autonumber"},{"include":"#activation"},{"include":"#actor"},{"include":"#note"},{"include":"#loop"},{"include":"#alt"},{"include":"#opt"},{"include":"#par"},{"include":"#critical"},{"include":"#break"},{"include":"#rect"},{"include":"#menu"},{"include":"#name"},{"include":"#signal"}]},"menu":{"patterns":[{"include":"#menu-single"},{"include":"#menu-json"}]},"menu-json":{"name":"meta.menu.mermaid","begin":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))links(?=$|\\s|;)","end":"(?=\\s*(?:$|;))","patterns":[{"name":"meta.lhs.mermaid","begin":"\\G","end":"(?!\\G)","patterns":[{"include":"#name"}],"applyEndPatternLast":true},{"begin":":[ \\t]*","end":"(?!\\G)","patterns":[{"include":"source.json"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.mermaid"},"1":{"name":"punctuation.separator.menu.key-value.mermaid"}},"applyEndPatternLast":true}],"beginCaptures":{"0":{"name":"storage.type.menu.mermaid"}}},"menu-single":{"name":"meta.menu-link.mermaid","begin":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))link(?=$|\\s|;)","end":"(?=\\s*(?:$|;))","patterns":[{"name":"meta.lhs.mermaid","begin":"\\G","end":"(?!\\G)","patterns":[{"include":"#name"}],"applyEndPatternLast":true},{"name":"meta.rhs.mermaid","begin":":","end":"(?!\\G)","patterns":[{"name":"meta.link-text.mermaid","match":"\\G\\s*([^;@]*)\\s*((@))","captures":{"1":{"name":"string.unquoted.link-text.mermaid","patterns":[{"include":"#string-innards"}]},"2":{"name":"keyword.operator.assignment.mermaid"},"3":{"name":"punctuation.separator.link-spec.mermaid"}}},{"name":"meta.link-target.mermaid","contentName":"constant.other.reference.link.mermaid","begin":"(?:(?\u003c=@)|(?\u003c=:)\\G)[ \\t]*(?![^;]*@)","end":"(?=\\s*(?:$|;))","patterns":[{"include":"#string-innards"}]}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.mermaid"},"1":{"name":"punctuation.separator.link.key-value.mermaid"}},"applyEndPatternLast":true}],"beginCaptures":{"0":{"name":"storage.type.menu-link.mermaid"}}},"message":{"name":"meta.message.mermaid","contentName":"string.unquoted.message-text.mermaid","begin":"((:))[ \\t]*","end":"(?=[ \\t]*(?:$|;))","patterns":[{"include":"#string-innards"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.mermaid"},"2":{"name":"punctuation.separator.message.key-value.mermaid"}}},"name":{"name":"meta.name.mermaid","match":"(?ix)\n(\n\t(?=\\S)\n\t(?:[^-+\u003e:,;\\s]+|\\s+(?!as(?:$|\\s)))++\n\t(?:\n\t\t(?!--?[x\\x29])\n\t\t(?:-*[^-+\u003e:,;\\s]+|\\s+(?!as(?:$|\\s)))\n\t)*?\n)\n(?:\\s+(as)(?=$|\\s|;))?","captures":{"1":{"name":"entity.name.tag.actor.mermaid"},"2":{"name":"keyword.operator.alias.mermaid"}}},"note":{"name":"meta.note.mermaid","begin":"(?i)note\\s+(?:(?:left|right)\\s+of|over)(?=$|\\s)[ \\t]*","end":"(?!\\G)|(?=\\s*(?:$|;))","patterns":[{"include":"#name"},{"include":"source.mermaid#comma"}],"beginCaptures":{"0":{"name":"storage.type.note.mermaid"}},"applyEndPatternLast":true},"opt":{"name":"meta.option.block.mermaid","begin":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))\\s*(opt)(?=$|\\s|;)","end":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))\\s*(end)(?=$|\\s|;)","patterns":[{"include":"#alt-innards"}],"beginCaptures":{"1":{"name":"keyword.control.flow.option.begin.mermaid"}},"endCaptures":{"1":{"name":"keyword.control.flow.option.end.mermaid"}}},"par":{"name":"meta.parallel.block.mermaid","begin":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))\\s*(par)(?=$|\\s|;)","end":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))\\s*(end)(?=$|\\s|;)","patterns":[{"name":"meta.branch.parallel.first.mermaid","begin":"\\G","end":"(?i)(?=(?:^|(?\u003c=\\s|;|%%))\\s*(?:and|end)(?:$|\\s|;))","patterns":[{"include":"#alt-innards"}]},{"name":"meta.branch.parallel.rest.mermaid","begin":"(?i)(?:^|(?\u003c=\\s|;|%%))\\s*(and)(?=$|\\s|;)","end":"(?i)(?=(?:^|(?\u003c=\\s|;|%%))\\s*(?:and|end)(?:$|\\s|;))","patterns":[{"include":"#alt-innards"}],"beginCaptures":{"1":{"name":"keyword.control.flow.parallel.continue.mermaid"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.parallel.begin.mermaid"}},"endCaptures":{"1":{"name":"keyword.control.flow.parallel.end.mermaid"}}},"rect":{"name":"meta.rectangle.mermaid","begin":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))\\s*(rect)(?=$|\\s|;)","end":"(?i)(?:\\G|^|(?\u003c=\\s|;|%%))\\s*(end)(?=$|\\s|;)","patterns":[{"name":"meta.function.background-colour.${1:/downcase}.mermaid","begin":"(?i)\\G\\s*(rgba?)(\\()","end":"\\)","patterns":[{"name":"constant.numeric.colour-component.mermaid","match":"[-+]?\\d+(?:\\.\\d+)?"},{"include":"source.mermaid#comma"}],"beginCaptures":{"1":{"name":"support.function.colour.mermaid"},"2":{"name":"punctuation.definition.arguments.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.mermaid"}}},{"include":"#main"}],"beginCaptures":{"0":{"name":"keyword.control.rectangle.begin.mermaid"}},"endCaptures":{"0":{"name":"keyword.control.rectangle.end.mermaid"}}},"signal":{"name":"meta.signal.mermaid","match":"(--?(?:\u003e\u003e?|x|\\)))(?:[ \\t]*(?:(-)|(\\+)))?","captures":{"1":{"name":"keyword.operator.link.mermaid"},"2":{"name":"keyword.operator.deactivate.mermaid"},"3":{"name":"keyword.operator.activate.mermaid"}}},"string-innards":{"patterns":[{"include":"source.mermaid#entity"}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.mermaid.state-diagram","patterns":[{"include":"#main"}],"repository":{"composite-state":{"name":"meta.state.composite.mermaid","begin":"^\\s*(state)(?:\\s+([^-:\\s{]+))?\\s*({)","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"storage.type.state.mermaid"},"2":{"name":"variable.state.name.mermaid"},"3":{"patterns":[{"include":"source.mermaid#brace"}]}},"endCaptures":{"0":{"patterns":[{"include":"source.mermaid#brace"}]}}},"concurrency":{"name":"keyword.control.flow.concurrency.mermaid","match":"--"},"main":{"patterns":[{"include":"source.mermaid#a11y"},{"include":"source.mermaid#directive"},{"include":"source.mermaid#comment"},{"include":"source.mermaid#direction"},{"include":"#terminal"},{"include":"#transition"},{"include":"#composite-state"},{"include":"#note"},{"include":"#concurrency"},{"include":"#state"}]},"marker":{"name":"entity.name.tag.modifier.$2.mermaid","match":"((\u003c\u003c))(choice|fork|join)((\u003e\u003e))","captures":{"1":{"name":"punctuation.definition.marker.begin.mermaid"},"2":{"name":"sublimelinter.gutter-mark"},"4":{"name":"punctuation.definition.marker.end.mermaid"},"5":{"name":"sublimelinter.gutter-mark"}}},"note":{"name":"meta.note.mermaid","begin":"^\\s*(note)\\s+((?:left|right)\\s+of)\\s+([^-:\\s{]+)","end":"(?!\\G)","patterns":[{"contentName":"string.unquoted.note-text.mermaid","begin":"\\G[ \\t]*$","end":"^\\s*(end)\\s+(note)(?=$|\\s)","endCaptures":{"1":{"name":"keyword.operator.end-note.mermaid"},"2":{"name":"storage.type.note.mermaid"}}},{"contentName":"string.unquoted.note-text.mermaid","begin":"\\G\\s*(:)[ \\t]*","end":"(?=\\s*$)","beginCaptures":{"1":{"patterns":[{"include":"source.mermaid#colon"}]}}}],"beginCaptures":{"1":{"name":"storage.type.note.mermaid"},"2":{"name":"constant.language.note-position.mermaid"},"3":{"name":"variable.state.name.mermaid"}}},"state":{"patterns":[{"name":"meta.state.statement.mermaid","begin":"^\\s*(state)(?=$|\\s)[ \\t]*","end":"(?=\\s*$)","patterns":[{"name":"string.quoted.double.state-description.mermaid","begin":"\\G\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mermaid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mermaid"}}},{"name":"variable.state.name.mermaid","match":"\\G(?:[^-:\\s{%]|%(?!%))++"},{"begin":"(?\u003c=\")\\s*(as)(?=$|\\s)","end":"[^-:\\s{]+|(?=\\s*(?:$|%%))","beginCaptures":{"1":{"name":"keyword.operator.alias.mermaid"}},"endCaptures":{"0":{"name":"variable.state.name.mermaid"}}},{"include":"#marker"}],"beginCaptures":{"1":{"name":"storage.type.state.mermaid"}}},{"contentName":"string.unquoted.state-description.mermaid","begin":"([^-:\\s{]+)\\s*(:)[ \\t]*","end":"(?=\\s*(?:$|%%))","beginCaptures":{"1":{"name":"variable.state.name.mermaid"},"2":{"patterns":[{"include":"source.mermaid#colon"}]}}},{"name":"variable.state.name.mermaid","match":"[^-:\\s{]+"}]},"terminal":{"patterns":[{"name":"constant.language.state.initial.mermaid","match":"\\[\\*\\](?=\\s*--\u003e)"},{"match":"(?\u003c=--\u003e)\\s*(\\[\\*\\])","captures":{"1":{"name":"constant.language.state.final.mermaid"}}}]},"transition":{"name":"keyword.operator.transition.mermaid","match":"--\u003e"}}}