pi-umbra 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +3 -4
  2. package/node_modules/@shikijs/cli/dist/cli.d.mts +13 -6
  3. package/node_modules/@shikijs/cli/dist/cli.mjs +32 -27
  4. package/node_modules/@shikijs/cli/dist/{code-to-ansi-BNrZay-4.mjs → code-to-ansi-Dmm_CuZ9.mjs} +15 -7
  5. package/node_modules/@shikijs/cli/dist/index.d.mts +24 -3
  6. package/node_modules/@shikijs/cli/dist/index.mjs +1 -1
  7. package/node_modules/@shikijs/cli/package.json +3 -3
  8. package/node_modules/@shikijs/core/dist/index.d.mts +28 -28
  9. package/node_modules/@shikijs/core/dist/index.mjs +15 -12
  10. package/node_modules/@shikijs/core/package.json +4 -4
  11. package/node_modules/@shikijs/engine-javascript/dist/{engine-compile-Bdn9ihA2.d.mts → engine-compile-CtqiSkRk.d.mts} +5 -0
  12. package/node_modules/@shikijs/engine-javascript/dist/engine-compile.d.mts +1 -1
  13. package/node_modules/@shikijs/engine-javascript/dist/engine-compile.mjs +2 -4
  14. package/node_modules/@shikijs/engine-javascript/dist/engine-raw.d.mts +2 -3
  15. package/node_modules/@shikijs/engine-javascript/dist/engine-raw.mjs +2 -4
  16. package/node_modules/@shikijs/engine-javascript/dist/index.d.mts +1 -1
  17. package/node_modules/@shikijs/engine-javascript/dist/index.mjs +1 -1
  18. package/node_modules/@shikijs/engine-javascript/dist/string-TLTPtCPs.mjs +115 -0
  19. package/node_modules/@shikijs/engine-javascript/package.json +3 -3
  20. package/node_modules/@shikijs/engine-oniguruma/package.json +3 -3
  21. package/node_modules/@shikijs/langs/dist/ada.mjs +1 -1
  22. package/node_modules/@shikijs/langs/dist/ahk.mjs +1 -1
  23. package/node_modules/@shikijs/langs/dist/beancount.mjs +1 -1
  24. package/node_modules/@shikijs/langs/dist/coq.mjs +1 -1
  25. package/node_modules/@shikijs/langs/dist/csharp.mjs +1 -1
  26. package/node_modules/@shikijs/langs/dist/css.mjs +1 -1
  27. package/node_modules/@shikijs/langs/dist/dart.mjs +1 -1
  28. package/node_modules/@shikijs/langs/dist/dotenv.mjs +1 -1
  29. package/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +1 -1
  30. package/node_modules/@shikijs/langs/dist/gn.mjs +1 -1
  31. package/node_modules/@shikijs/langs/dist/handlebars.mjs +1 -1
  32. package/node_modules/@shikijs/langs/dist/julia.mjs +1 -1
  33. package/node_modules/@shikijs/langs/dist/latex.mjs +1 -1
  34. package/node_modules/@shikijs/langs/dist/luau.mjs +1 -1
  35. package/node_modules/@shikijs/langs/dist/marko.mjs +1 -1
  36. package/node_modules/@shikijs/langs/dist/moonbit.mjs +1 -1
  37. package/node_modules/@shikijs/langs/dist/nextflow-groovy.mjs +1 -1
  38. package/node_modules/@shikijs/langs/dist/nextflow.mjs +1 -1
  39. package/node_modules/@shikijs/langs/dist/nushell.mjs +1 -1
  40. package/node_modules/@shikijs/langs/dist/php.mjs +1 -1
  41. package/node_modules/@shikijs/langs/dist/powershell.mjs +1 -1
  42. package/node_modules/@shikijs/langs/dist/ruby.mjs +1 -1
  43. package/node_modules/@shikijs/langs/dist/rust.mjs +1 -1
  44. package/node_modules/@shikijs/langs/dist/sql.mjs +1 -1
  45. package/node_modules/@shikijs/langs/dist/svelte.mjs +1 -1
  46. package/node_modules/@shikijs/langs/dist/twig.mjs +3 -3
  47. package/node_modules/@shikijs/langs/dist/typespec.mjs +1 -1
  48. package/node_modules/@shikijs/langs/package.json +3 -3
  49. package/node_modules/@shikijs/primitive/dist/index.d.mts +31 -32
  50. package/node_modules/@shikijs/primitive/dist/index.mjs +2 -1
  51. package/node_modules/@shikijs/primitive/package.json +3 -3
  52. package/node_modules/@shikijs/themes/dist/monokai.mjs +1 -1
  53. package/node_modules/@shikijs/themes/dist/one-dark-pro.mjs +1 -1
  54. package/node_modules/@shikijs/themes/dist/red.mjs +1 -1
  55. package/node_modules/@shikijs/themes/dist/solarized-dark.mjs +1 -1
  56. package/node_modules/@shikijs/themes/dist/solarized-light.mjs +1 -1
  57. package/node_modules/@shikijs/themes/package.json +3 -3
  58. package/node_modules/@shikijs/types/dist/index.d.mts +76 -76
  59. package/node_modules/@shikijs/types/package.json +1 -1
  60. package/node_modules/pi-umbra-copy-chat/README.md +4 -7
  61. package/node_modules/pi-umbra-copy-chat/extensions/umbra-copy-chat.ts +16 -54
  62. package/node_modules/pi-umbra-copy-chat/package.json +1 -1
  63. package/node_modules/pi-umbra-help/checks/umbra-help.check.ts +10 -1
  64. package/node_modules/pi-umbra-help/extensions/umbra-help.ts +31 -0
  65. package/node_modules/pi-umbra-help/package.json +1 -1
  66. package/node_modules/pi-umbra-inputbar/README.md +1 -1
  67. package/node_modules/pi-umbra-inputbar/extensions/umbra-inputbar.ts +1 -1
  68. package/node_modules/pi-umbra-inputbar/package.json +2 -2
  69. package/node_modules/pi-umbra-shimmer/package.json +1 -1
  70. package/node_modules/pi-umbra-shimmer/patch.mjs +23 -21
  71. package/node_modules/pi-umbra-skill-matcher/package.json +1 -1
  72. package/node_modules/pi-umbra-skill-matcher/patch.mjs +7 -0
  73. package/node_modules/pi-umbra-subagents/README.md +24 -6
  74. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/bar/bar-line.ts +250 -102
  75. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/bar.check.ts +133 -66
  76. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/bar.ts +59 -27
  77. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/index.ts +53 -8
  78. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/spec.ts +24 -14
  79. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/store.check.ts +132 -5
  80. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/store.ts +156 -64
  81. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/worktree.ts +156 -0
  82. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/panel.ts +1 -1
  83. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/skills/delegate/state.ts +19 -0
  84. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/skills/fan/SKILL.md +25 -4
  85. package/node_modules/pi-umbra-subagents/package.json +2 -2
  86. package/node_modules/pi-umbra-theme/checks/umbra-background.check.ts +7 -1
  87. package/node_modules/pi-umbra-theme/extensions/umbra-background.ts +2 -1
  88. package/node_modules/pi-umbra-theme/package.json +3 -3
  89. package/node_modules/shiki/dist/bundle-full.d.mts +4 -4
  90. package/node_modules/shiki/dist/bundle-web.d.mts +9 -9
  91. package/node_modules/shiki/dist/types.d.mts +3 -3
  92. package/node_modules/shiki/package.json +10 -10
  93. package/package.json +9 -12
  94. package/node_modules/@shikijs/engine-javascript/dist/scanner-DX8LRFGE.mjs +0 -77
  95. package/node_modules/pi-umbra-rename/LICENSE +0 -21
  96. package/node_modules/pi-umbra-rename/README.md +0 -18
  97. package/node_modules/pi-umbra-rename/checks/umbra-rename.check.ts +0 -55
  98. package/node_modules/pi-umbra-rename/extensions/umbra-rename.ts +0 -22
  99. package/node_modules/pi-umbra-rename/package.json +0 -36
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Luau\",\"fileTypes\":[\"luau\"],\"name\":\"luau\",\"patterns\":[{\"include\":\"#function-definition\"},{\"include\":\"#number\"},{\"include\":\"#string\"},{\"include\":\"#shebang\"},{\"include\":\"#comment\"},{\"include\":\"#local-declaration\"},{\"include\":\"#const-declaration\"},{\"include\":\"#for-loop\"},{\"include\":\"#type-function\"},{\"include\":\"#type-alias-declaration\"},{\"include\":\"#keyword\"},{\"include\":\"#language_constant\"},{\"include\":\"#standard_library\"},{\"include\":\"#generics-instantiation\"},{\"include\":\"#identifier\"},{\"include\":\"#operator\"},{\"include\":\"#parentheses\"},{\"include\":\"#table\"},{\"include\":\"#type_cast\"},{\"include\":\"#type_annotation\"},{\"include\":\"#attribute\"}],\"repository\":{\"attribute\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.attribute.luau\"},\"2\":{\"name\":\"storage.type.attribute.luau\"}},\"match\":\"(@)([A-Z_a-z][0-9A-Z_a-z]*)\",\"name\":\"meta.attribute.luau\"}]},\"comment\":{\"patterns\":[{\"begin\":\"--\\\\[(=*)\\\\[\",\"end\":\"]\\\\1]\",\"name\":\"comment.block.luau\",\"patterns\":[{\"begin\":\"(```luau?)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"comment.luau\"}},\"name\":\"keyword.operator.other.luau\",\"patterns\":[{\"include\":\"source.luau\"}],\"while\":\"^(?!\\\\s*```)\"},{\"captures\":{\"1\":{\"name\":\"comment.luau\"}},\"match\":\"(```)\",\"name\":\"keyword.operator.other.luau\"},{\"include\":\"#doc_comment_tags\"}]},{\"begin\":\"---\",\"end\":\"\\\\n\",\"name\":\"comment.line.double-dash.documentation.luau\",\"patterns\":[{\"include\":\"#doc_comment_tags\"}]},{\"begin\":\"--\",\"end\":\"\\\\n\",\"name\":\"comment.line.double-dash.luau\"}]},\"const-declaration\":{\"begin\":\"\\\\b(const)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.const.luau\"}},\"end\":\"(?=\\\\s*[;=]|\\\\s*$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attribute\"},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=\\\\s*[,;=]|\\\\s*$)\",\"patterns\":[{\"include\":\"#type_literal\"}]},{\"match\":\"\\\\b([A-Z_][0-9A-Z_]*)\\\\b\",\"name\":\"variable.other.constant.luau\"},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"variable.other.readwrite.luau\"}]},\"doc_comment_tags\":{\"patterns\":[{\"match\":\"@\\\\w+\",\"name\":\"storage.type.class.luadoc.luau\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.luadoc.luau\"},\"2\":{\"name\":\"variable.parameter.luau\"}},\"match\":\"((?<=[!*/\\\\s])[@\\\\\\\\]param)\\\\s+\\\\b(\\\\w+)\\\\b\"}]},\"for-loop\":{\"begin\":\"\\\\b(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.luau\"}},\"end\":\"\\\\b(in)\\\\b|(=)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.luau\"},\"2\":{\"name\":\"keyword.operator.assignment.luau\"}},\"patterns\":[{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=\\\\s*in\\\\b|\\\\s*[,=]|\\\\s*$)\",\"patterns\":[{\"include\":\"#type_literal\"}]},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"variable.parameter.luau\"}]},\"function-definition\":{\"begin\":\"\\\\b(?:(local)\\\\s+|(const)\\\\s+)?(function)\\\\b(?![,:])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.local.luau\"},\"2\":{\"name\":\"storage.modifier.const.luau\"},\"3\":{\"name\":\"keyword.control.luau\"}},\"end\":\"(?<=[-\\\\]\\\"')\\\\[{}])\",\"name\":\"meta.function.luau\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#generics-declaration\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.luau\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.luau\"}},\"name\":\"meta.parameter.luau\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"variable.parameter.function.varargs.luau\"},{\"match\":\"[A-Z_a-z][0-9A-Z_a-z]*\",\"name\":\"variable.parameter.function.luau\"},{\"match\":\",\",\"name\":\"punctuation.separator.arguments.luau\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=[),])\",\"patterns\":[{\"include\":\"#type_literal\"}]}]},{\"match\":\"\\\\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm|iter|idiv))\\\\b\",\"name\":\"variable.language.metamethod.luau\"},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"entity.name.function.luau\"}]},\"generics-declaration\":{\"begin\":\"(<)\",\"end\":\"(>)\",\"patterns\":[{\"match\":\"[A-Z_a-z][0-9A-Z_a-z]*\",\"name\":\"entity.name.type.luau\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.luau\"},{\"include\":\"#type_literal\"}]},\"generics-instantiation\":{\"begin\":\"(<<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.begin.luau\"}},\"end\":\"(>>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.end.luau\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type_literal\"}]},\"identifier\":{\"patterns\":[{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(?=\\\\s*(?:<<|[\\\"'({]|\\\\[\\\\[))\",\"name\":\"entity.name.function.luau\"},{\"match\":\"(?<=[^.]\\\\.|:)\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"variable.other.property.luau\"},{\"match\":\"\\\\b([A-Z_][0-9A-Z_]*)\\\\b\",\"name\":\"variable.other.constant.luau\"},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"variable.other.readwrite.luau\"}]},\"interpolated_string_expression\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolated-string-expression.begin.luau\"}},\"contentName\":\"meta.embedded.line.luau\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolated-string-expression.end.luau\"}},\"name\":\"meta.template.expression.luau\",\"patterns\":[{\"include\":\"source.luau\"}]},\"keyword\":{\"patterns\":[{\"match\":\"\\\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\\\b\",\"name\":\"keyword.control.luau\"},{\"match\":\"\\\\b(local)\\\\b\",\"name\":\"storage.modifier.local.luau\"},{\"match\":\"\\\\b(const)\\\\b\",\"name\":\"storage.modifier.const.luau\"},{\"match\":\"\\\\b(function)\\\\b(?![,:])\",\"name\":\"keyword.control.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(self)\\\\b\",\"name\":\"variable.language.self.luau\"},{\"match\":\"\\\\b(and|or|not)\\\\b\",\"name\":\"keyword.operator.logical.luau keyword.operator.wordlike.luau\"},{\"match\":\"(?<=[^.]\\\\.|:)\\\\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm))\\\\b\",\"name\":\"variable.language.metamethod.luau\"},{\"match\":\"(?<!\\\\.)\\\\.{3}(?!\\\\.)\",\"name\":\"keyword.other.unit.luau\"}]},\"language_constant\":{\"patterns\":[{\"match\":\"(?<![^.]\\\\.|:)\\\\b(false)\\\\b\",\"name\":\"constant.language.boolean.false.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(true)\\\\b\",\"name\":\"constant.language.boolean.true.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(nil(?!:))\\\\b\",\"name\":\"constant.language.nil.luau\"}]},\"local-declaration\":{\"begin\":\"\\\\b(local)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.local.luau\"}},\"end\":\"(?=\\\\s*do\\\\b|\\\\s*[;=]|\\\\s*$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attribute\"},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=\\\\s*do\\\\b|\\\\s*[,;=]|\\\\s*$)\",\"patterns\":[{\"include\":\"#type_literal\"}]},{\"match\":\"\\\\b([A-Z_][0-9A-Z_]*)\\\\b\",\"name\":\"variable.other.constant.luau\"},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"variable.other.readwrite.luau\"}]},\"number\":{\"patterns\":[{\"match\":\"\\\\b0_*[Xx]_*[A-F_a-f\\\\d]*(?:i|[Ee][-+]?_*\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?)?\",\"name\":\"constant.numeric.hex.luau\"},{\"match\":\"\\\\b0_*[Bb][01_]+(?:i|[Ee][-+]?_*\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?)?\",\"name\":\"constant.numeric.binary.luau\"},{\"match\":\"(?:\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?|\\\\.\\\\d[_\\\\d]*)(?:i|[Ee][-+]?_*\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?)?\",\"name\":\"constant.numeric.decimal.luau\"}]},\"operator\":{\"patterns\":[{\"match\":\"==|~=|<=?|>=?\",\"name\":\"keyword.operator.comparison.luau\"},{\"match\":\"(?:[-+]|//??|[%*^]|\\\\.\\\\.|)=\",\"name\":\"keyword.operator.assignment.luau\"},{\"match\":\"[-%*+]|//|[/^]\",\"name\":\"keyword.operator.arithmetic.luau\"},{\"match\":\"#|(?<!\\\\.)\\\\.{2}(?!\\\\.)\",\"name\":\"keyword.operator.other.luau\"}]},\"parentheses\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.arguments.begin.luau\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.arguments.end.luau\"}},\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.arguments.luau\"},{\"include\":\"source.luau\"}]},\"shebang\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.luau\"}},\"match\":\"\\\\A(#!).*$\\\\n?\",\"name\":\"comment.line.shebang.luau\"},\"standard_library\":{\"patterns\":[{\"match\":\"(?<![^.]\\\\.|:)\\\\b(assert|collectgarbage|error|gcinfo|getfenv|getmetatable|ipairs|loadstring|newproxy|next|pairs|pcall|print|rawequal|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|typeof|unpack|xpcall)\\\\b\",\"name\":\"support.function.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(_(?:G|VERSION))\\\\b\",\"name\":\"constant.language.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(bit32\\\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\\\.(?:info|loadmodule|profilebegin|profileend|traceback)|integer\\\\.(?:add|arshift|band|bnot|bor|bswap|btest|bxor|clamp|countlz|countrz|create|div|extract|fromstring|ge|gt|idiv|le|lrotate|lshift|lt|max|min|mod|mul|neg|rem|replace|rrotate|rshift|sub|tonumber|udiv|uge|ugt|ule|ult|urem)|math\\\\.(?:abs|acos|asin|atan2??|ceil|clamp|cosh??|deg|exp|floor|fmod|frexp|isfinite|isinf|isnan|ldexp|lerp|log|log10|map|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sinh??|sqrt|tanh??)|os\\\\.(?:clock|date|difftime|time)|string\\\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\\\.(?:concat|create|find|foreachi??|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\\\.(?:create|fromstring|tostring|len|readbits|readi8|readu8|readi16|readu16|readi32|readu32|readinteger|readf32|readf64|writebits|writei8|writeu8|writei16|writeu16|writei32|writeu32|writeinteger|writef32|writef64|readstring|writestring|copy|fill)|vector\\\\.(?:abs|angle|ceil|clamp|create|cross|dot|floor|lerp|magnitude|max|min|normalize|sign))\\\\b\",\"name\":\"support.function.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(bit32|buffer|coroutine|debug|integer(\\\\.(m(?:ax|in)signed))?|math(\\\\.(huge|pi|nan|e|phi|sqrt2|tau))?|os|string|table|task|utf8(\\\\.charpattern)?|vector(\\\\.(one|zero))?)\\\\b\",\"name\":\"support.constant.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\\\\b\",\"name\":\"support.function.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(game|plugin|shared|script|workspace|Enum(?:\\\\.\\\\w+){0,2})\\\\b\",\"name\":\"constant.language.luau\"}]},\"string\":{\"patterns\":[{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.luau\",\"patterns\":[{\"include\":\"#string_escape\"}]},{\"begin\":\"'\",\"end\":\"'\",\"name\":\"string.quoted.single.luau\",\"patterns\":[{\"include\":\"#string_escape\"}]},{\"begin\":\"\\\\[(=*)\\\\[\",\"end\":\"]\\\\1]\",\"name\":\"string.other.multiline.luau\"},{\"begin\":\"`\",\"end\":\"`\",\"name\":\"string.interpolated.luau\",\"patterns\":[{\"include\":\"#interpolated_string_expression\"},{\"include\":\"#string_escape\"}]}]},\"string_escape\":{\"patterns\":[{\"match\":\"\\\\\\\\[\\\"'\\\\\\\\`abfnrtvz{]\",\"name\":\"constant.character.escape.luau\"},{\"match\":\"\\\\\\\\\\\\d{1,3}\",\"name\":\"constant.character.escape.luau\"},{\"match\":\"\\\\\\\\x\\\\h{2}\",\"name\":\"constant.character.escape.luau\"},{\"match\":\"\\\\\\\\u\\\\{\\\\h*}\",\"name\":\"constant.character.escape.luau\"},{\"match\":\"\\\\\\\\$\",\"name\":\"constant.character.escape.luau\"}]},\"table\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.table.begin.luau\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.table.end.luau\"}},\"patterns\":[{\"match\":\"[,;]\",\"name\":\"punctuation.separator.fields.luau\"},{\"include\":\"source.luau\"}]},\"type-alias-declaration\":{\"begin\":\"(?<![^.]\\\\.|:)\\\\b(?:(export)\\\\s+)?(type)\\\\b(?=\\\\s+(?!function\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.visibility.luau\"},\"2\":{\"name\":\"storage.type.luau\"}},\"end\":\"(?=[]),}](?!\\\\s*[\\\\&|]))|(?=\\\\s*;)|(?=\\\\s*(?:[%*+^]|//?|(?<!\\\\.)\\\\.\\\\.(?!\\\\.)|-(?![->`])|~=|==))|(?=\\\\s*\\\\b(?:and|or|break|const|continue|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while)\\\\b)|(?=^\\\\s*$)|(?=^\\\\s*(?:@|\\\\b(?:export\\\\s+)?type\\\\b))|(?=^\\\\s*[A-Z_a-z][0-9A-Z_a-z]*(?:\\\\.[A-Z_a-z][0-9A-Z_a-z]*)*\\\\s*(?:(?:[-%*+/^]|\\\\.\\\\.)?=(?!=)|[(:\\\\[]))\",\"patterns\":[{\"include\":\"#type_literal\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.luau\"}]},\"type-function\":{\"begin\":\"(?<![^.]\\\\.|:)\\\\b(?:(export)\\\\s+)?(type)\\\\s+(function)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.visibility.luau\"},\"2\":{\"name\":\"storage.type.luau\"},\"3\":{\"name\":\"keyword.control.luau\"}},\"end\":\"(?<=[-\\\\]\\\"')\\\\[{}])\",\"name\":\"meta.function.luau\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#generics-declaration\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.luau\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.luau\"}},\"name\":\"meta.parameter.luau\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"variable.parameter.function.varargs.luau\"},{\"match\":\"[A-Z_a-z][0-9A-Z_a-z]*\",\"name\":\"variable.parameter.function.luau\"},{\"match\":\",\",\"name\":\"punctuation.separator.arguments.luau\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=[),])\",\"patterns\":[{\"include\":\"#type_literal\"}]}]},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"entity.name.type.luau\"}]},\"type_annotation\":{\"begin\":\":(?!\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(?=\\\\s*(?:<<|[\\\"'({]|\\\\[\\\\[)))\",\"end\":\"(?<=\\\\))(?!\\\\s*->)|[;=]|$|(?=\\\\breturn\\\\b)|(?=\\\\bend\\\\b)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type_literal\"}]},\"type_cast\":{\"begin\":\"(::)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.typecast.luau\"}},\"end\":\"(?=[]),}](?!\\\\s*[\\\\&|]))|(?=\\\\s*;)|(?=\\\\s*(?:[%*+^]|//?|(?<!\\\\.)\\\\.\\\\.(?!\\\\.)|-(?![->`])|~=|==))|(?=\\\\s*\\\\b(?:and|or|break|const|continue|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while)\\\\b)|(?=^\\\\s*$)|(?=^\\\\s*(?:@|\\\\b(?:export\\\\s+)?type\\\\b))|(?=^\\\\s*[A-Z_a-z][0-9A-Z_a-z]*(?:\\\\.[A-Z_a-z][0-9A-Z_a-z]*)*\\\\s*(?:(?:[-%*+/^]|\\\\.\\\\.)?=(?!=)|[(:\\\\[]))\",\"patterns\":[{\"include\":\"#type_literal\"}]},\"type_literal\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"match\":\"[\\\\&?|]\",\"name\":\"keyword.operator.type.luau\"},{\"match\":\"->\",\"name\":\"keyword.operator.type.function.luau\"},{\"match\":\"\\\\b(false)\\\\b\",\"name\":\"constant.language.boolean.false.luau\"},{\"match\":\"\\\\b(true)\\\\b\",\"name\":\"constant.language.boolean.true.luau\"},{\"match\":\"\\\\b(nil|string|number|integer|boolean|thread|vector|buffer|unknown|never|any)\\\\b\",\"name\":\"support.type.primitive.luau\"},{\"begin\":\"\\\\b(typeof)\\\\b(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.luau\"},\"2\":{\"name\":\"punctuation.arguments.begin.typeof.luau\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.arguments.end.typeof.luau\"}},\"patterns\":[{\"include\":\"source.luau\"}]},{\"begin\":\"(<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.begin.luau\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.end.luau\"}},\"patterns\":[{\"match\":\"=\",\"name\":\"keyword.operator.assignment.luau\"},{\"include\":\"#type_literal\"}]},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"entity.name.type.luau\"},{\"begin\":\"\\\\{\",\"end\":\"}\",\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"]\",\"patterns\":[{\"include\":\"#type_literal\"}]},{\"captures\":{\"1\":{\"name\":\"storage.modifier.access.luau\"},\"2\":{\"name\":\"variable.property.luau\"},\"3\":{\"name\":\"keyword.operator.type.luau\"}},\"match\":\"\\\\b(?:(read|write)\\\\s+)?([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(:)\"},{\"include\":\"#type_literal\"},{\"match\":\"[,;]\",\"name\":\"punctuation.separator.fields.type.luau\"}]},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.luau\"},\"2\":{\"name\":\"keyword.operator.type.luau\"}},\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(:)\",\"name\":\"variable.parameter.luau\"},{\"include\":\"#type_literal\"}]}]}},\"scopeName\":\"source.luau\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Luau\",\"fileTypes\":[\"luau\"],\"name\":\"luau\",\"patterns\":[{\"include\":\"#function-definition\"},{\"include\":\"#number\"},{\"include\":\"#string\"},{\"include\":\"#shebang\"},{\"include\":\"#comment\"},{\"include\":\"#local-declaration\"},{\"include\":\"#const-declaration\"},{\"include\":\"#for-loop\"},{\"include\":\"#type-function\"},{\"include\":\"#type-alias-declaration\"},{\"include\":\"#keyword\"},{\"include\":\"#language_constant\"},{\"include\":\"#standard_library\"},{\"include\":\"#generics-instantiation\"},{\"include\":\"#identifier\"},{\"include\":\"#operator\"},{\"include\":\"#parentheses\"},{\"include\":\"#table\"},{\"include\":\"#type_cast\"},{\"include\":\"#type_annotation\"},{\"include\":\"#attribute\"}],\"repository\":{\"attribute\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.attribute.luau\"},\"2\":{\"name\":\"storage.type.attribute.luau\"}},\"match\":\"(@)([A-Z_a-z][0-9A-Z_a-z]*)\",\"name\":\"meta.attribute.luau\"}]},\"comment\":{\"patterns\":[{\"begin\":\"--\\\\[(=*)\\\\[\",\"end\":\"]\\\\1]\",\"name\":\"comment.block.luau\",\"patterns\":[{\"begin\":\"(```luau?)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"comment.luau\"}},\"name\":\"keyword.operator.other.luau\",\"patterns\":[{\"include\":\"source.luau\"}],\"while\":\"^(?!\\\\s*```)\"},{\"captures\":{\"1\":{\"name\":\"comment.luau\"}},\"match\":\"(```)\",\"name\":\"keyword.operator.other.luau\"},{\"include\":\"#doc_comment_tags\"}]},{\"begin\":\"---\",\"end\":\"\\\\n\",\"name\":\"comment.line.double-dash.documentation.luau\",\"patterns\":[{\"include\":\"#doc_comment_tags\"}]},{\"begin\":\"--\",\"end\":\"\\\\n\",\"name\":\"comment.line.double-dash.luau\"}]},\"const-declaration\":{\"begin\":\"\\\\b(?:(export)\\\\s+)?(const)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.visibility.luau\"},\"2\":{\"name\":\"storage.modifier.const.luau\"}},\"end\":\"(?=\\\\s*[;=]|\\\\s*$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attribute\"},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=\\\\s*[,;=]|\\\\s*$)\",\"patterns\":[{\"include\":\"#type_literal\"}]},{\"match\":\"\\\\b([A-Z_][0-9A-Z_]*)\\\\b\",\"name\":\"variable.other.constant.luau\"},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"variable.other.readwrite.luau\"}]},\"doc_comment_tags\":{\"patterns\":[{\"match\":\"@\\\\w+\",\"name\":\"storage.type.class.luadoc.luau\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.luadoc.luau\"},\"2\":{\"name\":\"variable.parameter.luau\"}},\"match\":\"((?<=[!*/\\\\s])[@\\\\\\\\]param)\\\\s+\\\\b(\\\\w+)\\\\b\"}]},\"for-loop\":{\"begin\":\"\\\\b(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.luau\"}},\"end\":\"\\\\b(in)\\\\b|(=)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.luau\"},\"2\":{\"name\":\"keyword.operator.assignment.luau\"}},\"patterns\":[{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=\\\\s*in\\\\b|\\\\s*[,=]|\\\\s*$)\",\"patterns\":[{\"include\":\"#type_literal\"}]},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"variable.parameter.luau\"}]},\"function-definition\":{\"begin\":\"\\\\b(?:(local)\\\\s+|(const)\\\\s+|(export)\\\\s+)?(function)\\\\b(?![,:])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.local.luau\"},\"2\":{\"name\":\"storage.modifier.const.luau\"},\"3\":{\"name\":\"storage.modifier.visibility.luau\"},\"4\":{\"name\":\"keyword.control.luau\"}},\"end\":\"(?<=[-\\\\]\\\"')\\\\[{}])\",\"name\":\"meta.function.luau\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#generics-declaration\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.luau\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.luau\"}},\"name\":\"meta.parameter.luau\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"variable.parameter.function.varargs.luau\"},{\"match\":\"[A-Z_a-z][0-9A-Z_a-z]*\",\"name\":\"variable.parameter.function.luau\"},{\"match\":\",\",\"name\":\"punctuation.separator.arguments.luau\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=[),])\",\"patterns\":[{\"include\":\"#type_literal\"}]}]},{\"match\":\"\\\\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm|iter|idiv))\\\\b\",\"name\":\"variable.language.metamethod.luau\"},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"entity.name.function.luau\"}]},\"generics-declaration\":{\"begin\":\"(<)\",\"end\":\"(>)\",\"patterns\":[{\"match\":\"[A-Z_a-z][0-9A-Z_a-z]*\",\"name\":\"entity.name.type.luau\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.luau\"},{\"include\":\"#type_literal\"}]},\"generics-instantiation\":{\"begin\":\"(<<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.begin.luau\"}},\"end\":\"(>>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.end.luau\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type_literal\"}]},\"identifier\":{\"patterns\":[{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(?=\\\\s*(?:<<|[\\\"'({]|\\\\[\\\\[))\",\"name\":\"entity.name.function.luau\"},{\"match\":\"(?<=[^.]\\\\.|:)\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"variable.other.property.luau\"},{\"match\":\"\\\\b([A-Z_][0-9A-Z_]*)\\\\b\",\"name\":\"variable.other.constant.luau\"},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"variable.other.readwrite.luau\"}]},\"interpolated_string_expression\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolated-string-expression.begin.luau\"}},\"contentName\":\"meta.embedded.line.luau\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.interpolated-string-expression.end.luau\"}},\"name\":\"meta.template.expression.luau\",\"patterns\":[{\"include\":\"source.luau\"}]},\"keyword\":{\"patterns\":[{\"match\":\"\\\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\\\b\",\"name\":\"keyword.control.luau\"},{\"match\":\"\\\\b(local)\\\\b\",\"name\":\"storage.modifier.local.luau\"},{\"match\":\"\\\\b(const)\\\\b\",\"name\":\"storage.modifier.const.luau\"},{\"match\":\"\\\\b(function)\\\\b(?![,:])\",\"name\":\"keyword.control.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(self)\\\\b\",\"name\":\"variable.language.self.luau\"},{\"match\":\"\\\\b(and|or|not)\\\\b\",\"name\":\"keyword.operator.logical.luau keyword.operator.wordlike.luau\"},{\"match\":\"(?<=[^.]\\\\.|:)\\\\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm))\\\\b\",\"name\":\"variable.language.metamethod.luau\"},{\"match\":\"(?<!\\\\.)\\\\.{3}(?!\\\\.)\",\"name\":\"keyword.other.unit.luau\"}]},\"language_constant\":{\"patterns\":[{\"match\":\"(?<![^.]\\\\.|:)\\\\b(false)\\\\b\",\"name\":\"constant.language.boolean.false.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(true)\\\\b\",\"name\":\"constant.language.boolean.true.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(nil(?!:))\\\\b\",\"name\":\"constant.language.nil.luau\"}]},\"local-declaration\":{\"begin\":\"\\\\b(?:(export)\\\\s+)?(local)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.visibility.luau\"},\"2\":{\"name\":\"storage.modifier.local.luau\"}},\"end\":\"(?=\\\\s*do\\\\b|\\\\s*[;=]|\\\\s*$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attribute\"},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=\\\\s*do\\\\b|\\\\s*[,;=]|\\\\s*$)\",\"patterns\":[{\"include\":\"#type_literal\"}]},{\"match\":\"\\\\b([A-Z_][0-9A-Z_]*)\\\\b\",\"name\":\"variable.other.constant.luau\"},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"variable.other.readwrite.luau\"}]},\"number\":{\"patterns\":[{\"match\":\"\\\\b0_*[Xx]_*[A-Fa-f\\\\d][A-F_a-f\\\\d]*i?\",\"name\":\"constant.numeric.hex.luau\"},{\"match\":\"\\\\b0_*[Bb]_*[01][01_]*i?\",\"name\":\"constant.numeric.binary.luau\"},{\"match\":\"\\\\d[_\\\\d]*i\",\"name\":\"constant.numeric.decimal.luau\"},{\"match\":\"(?:\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?|\\\\.\\\\d[_\\\\d]*)(?:[Ee][-+]?_*\\\\d[_\\\\d]*)?\",\"name\":\"constant.numeric.decimal.luau\"}]},\"operator\":{\"patterns\":[{\"match\":\"==|~=|<=?|>=?\",\"name\":\"keyword.operator.comparison.luau\"},{\"match\":\"(?:[-+]|//??|[%*^]|\\\\.\\\\.|)=\",\"name\":\"keyword.operator.assignment.luau\"},{\"match\":\"[-%*+]|//|[/^]\",\"name\":\"keyword.operator.arithmetic.luau\"},{\"match\":\"#|(?<!\\\\.)\\\\.{2}(?!\\\\.)\",\"name\":\"keyword.operator.other.luau\"}]},\"parentheses\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.arguments.begin.luau\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.arguments.end.luau\"}},\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.arguments.luau\"},{\"include\":\"source.luau\"}]},\"shebang\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.luau\"}},\"match\":\"\\\\A(#!).*$\\\\n?\",\"name\":\"comment.line.shebang.luau\"},\"standard_library\":{\"patterns\":[{\"match\":\"(?<![^.]\\\\.|:)\\\\b(assert|collectgarbage|error|gcinfo|getfenv|getmetatable|ipairs|loadstring|newproxy|next|pairs|pcall|print|rawequal|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|typeof|unpack|xpcall)\\\\b\",\"name\":\"support.function.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(_(?:G|VERSION))\\\\b\",\"name\":\"constant.language.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(bit32\\\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\\\.(?:info|loadmodule|profilebegin|profileend|traceback)|integer\\\\.(?:add|arshift|band|bnot|bor|bswap|btest|bxor|clamp|countlz|countrz|create|div|extract|fromstring|ge|gt|idiv|le|lrotate|lshift|lt|max|min|mod|mul|neg|rem|replace|rrotate|rshift|sub|tonumber|udiv|uge|ugt|ule|ult|urem)|math\\\\.(?:abs|acos|asin|atan2??|ceil|clamp|cosh??|deg|exp|floor|fmod|frexp|isfinite|isinf|isnan|ldexp|lerp|log|log10|map|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sinh??|sqrt|tanh??)|os\\\\.(?:clock|date|difftime|time)|string\\\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\\\.(?:concat|create|find|foreachi??|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\\\.(?:create|fromstring|tostring|len|readbits|readi8|readu8|readi16|readu16|readi32|readu32|readinteger|readf32|readf64|writebits|writei8|writeu8|writei16|writeu16|writei32|writeu32|writeinteger|writef32|writef64|readstring|writestring|copy|fill)|vector\\\\.(?:abs|angle|ceil|clamp|create|cross|dot|floor|lerp|magnitude|max|min|normalize|sign))\\\\b\",\"name\":\"support.function.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(bit32|buffer|coroutine|debug|integer(\\\\.(m(?:ax|in)signed))?|math(\\\\.(huge|pi|nan|e|phi|sqrt2|tau))?|os|string|table|task|utf8(\\\\.charpattern)?|vector(\\\\.(one|zero))?)\\\\b\",\"name\":\"support.constant.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\\\\b\",\"name\":\"support.function.luau\"},{\"match\":\"(?<![^.]\\\\.|:)\\\\b(game|plugin|shared|script|workspace|Enum(?:\\\\.\\\\w+){0,2})\\\\b\",\"name\":\"constant.language.luau\"}]},\"string\":{\"patterns\":[{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.luau\",\"patterns\":[{\"include\":\"#string_escape\"}]},{\"begin\":\"'\",\"end\":\"'\",\"name\":\"string.quoted.single.luau\",\"patterns\":[{\"include\":\"#string_escape\"}]},{\"begin\":\"\\\\[(=*)\\\\[\",\"end\":\"]\\\\1]\",\"name\":\"string.other.multiline.luau\"},{\"begin\":\"`\",\"end\":\"`\",\"name\":\"string.interpolated.luau\",\"patterns\":[{\"include\":\"#interpolated_string_expression\"},{\"include\":\"#string_escape\"}]}]},\"string_escape\":{\"patterns\":[{\"match\":\"\\\\\\\\[\\\"'\\\\\\\\`abfnrtvz{]\",\"name\":\"constant.character.escape.luau\"},{\"match\":\"\\\\\\\\\\\\d{1,3}\",\"name\":\"constant.character.escape.luau\"},{\"match\":\"\\\\\\\\x\\\\h{2}\",\"name\":\"constant.character.escape.luau\"},{\"match\":\"\\\\\\\\u\\\\{\\\\h*}\",\"name\":\"constant.character.escape.luau\"},{\"match\":\"\\\\\\\\$\",\"name\":\"constant.character.escape.luau\"}]},\"table\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.table.begin.luau\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.table.end.luau\"}},\"patterns\":[{\"match\":\"[,;]\",\"name\":\"punctuation.separator.fields.luau\"},{\"include\":\"source.luau\"}]},\"type-alias-declaration\":{\"begin\":\"(?<![^.]\\\\.|:)\\\\b(?:(export)\\\\s+)?(type)\\\\b(?=\\\\s+(?!function\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.visibility.luau\"},\"2\":{\"name\":\"storage.type.luau\"}},\"end\":\"(?=[]),}](?!\\\\s*[\\\\&|]))|(?=\\\\s*;)|(?=\\\\s*(?:[%*+^]|//?|(?<!\\\\.)\\\\.\\\\.(?!\\\\.)|-(?![->`])|~=|==))|(?=\\\\s*\\\\b(?:and|or|break|const|continue|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while)\\\\b)|(?=^\\\\s*$)|(?=^\\\\s*(?:@|\\\\b(?:export\\\\s+)?type\\\\b))|(?=^\\\\s*[A-Z_a-z][0-9A-Z_a-z]*(?:\\\\.[A-Z_a-z][0-9A-Z_a-z]*)*\\\\s*(?:(?:[-%*+/^]|\\\\.\\\\.)?=(?!=)|[(:\\\\[]))\",\"patterns\":[{\"include\":\"#type_literal\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.luau\"}]},\"type-function\":{\"begin\":\"(?<![^.]\\\\.|:)\\\\b(?:(export)\\\\s+)?(type)\\\\s+(function)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.visibility.luau\"},\"2\":{\"name\":\"storage.type.luau\"},\"3\":{\"name\":\"keyword.control.luau\"}},\"end\":\"(?<=[-\\\\]\\\"')\\\\[{}])\",\"name\":\"meta.function.luau\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#generics-declaration\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.luau\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.luau\"}},\"name\":\"meta.parameter.luau\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"variable.parameter.function.varargs.luau\"},{\"match\":\"[A-Z_a-z][0-9A-Z_a-z]*\",\"name\":\"variable.parameter.function.luau\"},{\"match\":\",\",\"name\":\"punctuation.separator.arguments.luau\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.luau\"}},\"end\":\"(?=[),])\",\"patterns\":[{\"include\":\"#type_literal\"}]}]},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"entity.name.type.luau\"}]},\"type_annotation\":{\"begin\":\":(?!\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(?=\\\\s*(?:<<|[\\\"'({]|\\\\[\\\\[)))\",\"end\":\"(?<=\\\\))(?!\\\\s*->)|[;=]|$|(?=\\\\breturn\\\\b)|(?=\\\\bend\\\\b)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type_literal\"}]},\"type_cast\":{\"begin\":\"(::)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.typecast.luau\"}},\"end\":\"(?=[]),}](?!\\\\s*[\\\\&|]))|(?=\\\\s*;)|(?=\\\\s*(?:[%*+^]|//?|(?<!\\\\.)\\\\.\\\\.(?!\\\\.)|-(?![->`])|~=|==))|(?=\\\\s*\\\\b(?:and|or|break|const|continue|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while)\\\\b)|(?=^\\\\s*$)|(?=^\\\\s*(?:@|\\\\b(?:export\\\\s+)?type\\\\b))|(?=^\\\\s*[A-Z_a-z][0-9A-Z_a-z]*(?:\\\\.[A-Z_a-z][0-9A-Z_a-z]*)*\\\\s*(?:(?:[-%*+/^]|\\\\.\\\\.)?=(?!=)|[(:\\\\[]))\",\"patterns\":[{\"include\":\"#type_literal\"}]},\"type_literal\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"match\":\"[\\\\&?|]\",\"name\":\"keyword.operator.type.luau\"},{\"match\":\"->\",\"name\":\"keyword.operator.type.function.luau\"},{\"match\":\"\\\\b(false)\\\\b\",\"name\":\"constant.language.boolean.false.luau\"},{\"match\":\"\\\\b(true)\\\\b\",\"name\":\"constant.language.boolean.true.luau\"},{\"match\":\"\\\\b(nil|string|number|integer|boolean|thread|vector|buffer|unknown|never|any)\\\\b\",\"name\":\"support.type.primitive.luau\"},{\"begin\":\"\\\\b(typeof)\\\\b(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.luau\"},\"2\":{\"name\":\"punctuation.arguments.begin.typeof.luau\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.arguments.end.typeof.luau\"}},\"patterns\":[{\"include\":\"source.luau\"}]},{\"begin\":\"(<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.begin.luau\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.end.luau\"}},\"patterns\":[{\"match\":\"=\",\"name\":\"keyword.operator.assignment.luau\"},{\"include\":\"#type_literal\"}]},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\",\"name\":\"entity.name.type.luau\"},{\"begin\":\"\\\\{\",\"end\":\"}\",\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"]\",\"patterns\":[{\"include\":\"#type_literal\"}]},{\"captures\":{\"1\":{\"name\":\"storage.modifier.access.luau\"},\"2\":{\"name\":\"variable.property.luau\"},\"3\":{\"name\":\"keyword.operator.type.luau\"}},\"match\":\"\\\\b(?:(read|write)\\\\s+)?([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(:)\"},{\"include\":\"#type_literal\"},{\"match\":\"[,;]\",\"name\":\"punctuation.separator.fields.type.luau\"}]},{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.luau\"},\"2\":{\"name\":\"keyword.operator.type.luau\"}},\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(:)\",\"name\":\"variable.parameter.luau\"},{\"include\":\"#type_literal\"}]}]}},\"scopeName\":\"source.luau\"}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -3,7 +3,7 @@ import less from './less.mjs'
3
3
  import scss from './scss.mjs'
4
4
  import typescript from './typescript.mjs'
5
5
 
6
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Marko\",\"fileTypes\":[\"marko\"],\"name\":\"marko\",\"patterns\":[{\"begin\":\"^\\\\s*(style)(\\\\b\\\\S*\\\\.css)?\\\\s+(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.builtin.marko\"},\"2\":{\"name\":\"storage.modifier.marko.css\"},\"3\":{\"name\":\"punctuation.section.scope.begin.marko.css\"}},\"contentName\":\"source.css\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko.css\"}},\"name\":\"meta.embedded.css\",\"patterns\":[{\"include\":\"source.css\"}]},{\"begin\":\"^\\\\s*(style)\\\\b(\\\\S*\\\\.less)\\\\s+(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.builtin.marko\"},\"2\":{\"name\":\"storage.modifier.marko.css\"},\"3\":{\"name\":\"punctuation.section.scope.begin.marko.css\"}},\"contentName\":\"source.less\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko.css\"}},\"name\":\"meta.embedded.less\",\"patterns\":[{\"include\":\"source.css.less\"}]},{\"begin\":\"^\\\\s*(style)\\\\b(\\\\S*\\\\.scss)\\\\s+(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.builtin.marko\"},\"2\":{\"name\":\"storage.modifier.marko.css\"},\"3\":{\"name\":\"punctuation.section.scope.begin.marko.css\"}},\"contentName\":\"source.scss\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko.css\"}},\"name\":\"meta.embedded.scss\",\"patterns\":[{\"include\":\"source.css.scss\"}]},{\"begin\":\"^\\\\s*(style)\\\\b(\\\\S*\\\\.[jt]s)\\\\s+(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.builtin.marko\"},\"2\":{\"name\":\"storage.modifier.marko.css\"},\"3\":{\"name\":\"punctuation.section.scope.begin.marko.css\"}},\"contentName\":\"source.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko.css\"}},\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts\"}]},{\"begin\":\"^\\\\s*(?:((?:static|server|client)(?![-$0-9@-Z_a-z]))|(?=(?:class|import|export)[^-$0-9@-Z_a-z]))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.static.marko\"}},\"contentName\":\"source.ts\",\"end\":\"(?=\\\\n|$)\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts\"}]},{\"include\":\"#content-concise-mode\"}],\"repository\":{\"attr-value\":{\"begin\":\"\\\\s*(:?=)\\\\s*\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"source.ts\"}]}},\"contentName\":\"source.ts\",\"end\":\"(?=[],;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&(*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"#javascript-expression\"}]},\"attrs\":{\"patterns\":[{\"include\":\"#javascript-comments\"},{\"applyEndPatternLast\":1,\"begin\":\"(?:(key|on[-$0-9A-Z_a-z]+|[$0-9A-Z_a-z]+Change|no-update(?:-body)?(?:-if)?)|([$0-9A-Z_a-z][-$0-9A-Z_a-z]*)|(#[$0-9A-Z_a-z][-$0-9A-Z_a-z]*))(:[$0-9A-Z_a-z][-$0-9A-Z_a-z]*)?\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.attribute-name.marko\"},\"2\":{\"name\":\"entity.other.attribute-name.marko\"},\"3\":{\"name\":\"support.function.attribute-name.marko\"},\"4\":{\"name\":\"support.function.attribute-name.marko\"}},\"end\":\"(?=.|$)\",\"name\":\"meta.marko-attribute\",\"patterns\":[{\"include\":\"#html-args-or-method\"},{\"include\":\"#attr-value\"}]},{\"begin\":\"(\\\\.\\\\.\\\\.)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.spread.marko\"}},\"contentName\":\"source.ts\",\"end\":\"(?=[],;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&(*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))\",\"name\":\"meta.marko-spread-attribute\",\"patterns\":[{\"include\":\"#javascript-expression\"}]},{\"begin\":\"\\\\s*(,(?!,))\",\"captures\":{\"1\":{\"name\":\"punctuation.separator.comma.marko\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#invalid\"}]},\"cdata\":{\"begin\":\"\\\\s*<!\\\\[CDATA\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"contentName\":\"string.other.inline-data.marko\",\"end\":\"]]>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"name\":\"meta.tag.metadata.cdata.marko\"},\"concise-attr-group\":{\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.scope.begin.marko\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko\"}},\"patterns\":[{\"include\":\"#concise-attr-group\"},{\"begin\":\"\\\\s+\",\"end\":\"(?=\\\\S)\"},{\"include\":\"#attrs\"},{\"include\":\"#invalid\"}]},\"concise-comment-block\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-comment-block\",\"patterns\":[{\"include\":\"#content-embedded-comment\"}]},\"concise-comment-line\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\s*(--+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"end\":\"$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-comment-line\",\"patterns\":[{\"include\":\"#content-embedded-comment\"}]},\"concise-html-block\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-html-block\",\"patterns\":[{\"include\":\"#content-html-mode\"}]},\"concise-html-line\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#cdata\"},{\"include\":\"#doctype\"},{\"include\":\"#declaration\"},{\"include\":\"#javascript-comments-after-whitespace\"},{\"include\":\"#html-comment\"},{\"include\":\"#tag-html\"},{\"match\":\"\\\\\\\\.\",\"name\":\"text.marko\"},{\"include\":\"#placeholder\"},{\"match\":\".+?\",\"name\":\"text.marko\"}]},\"3\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"match\":\"\\\\s*(--+)(?=\\\\s+\\\\S)(.*)$()\",\"name\":\"meta.section.marko-html-line\"},\"concise-open-tag-content\":{\"patterns\":[{\"include\":\"#invalid-close-tag\"},{\"include\":\"#tag-before-attrs\"},{\"include\":\"#concise-semi-eol\"},{\"begin\":\"(?!^)[\\\\t ,]\",\"end\":\"(?=--)|(?=\\\\n)\",\"patterns\":[{\"include\":\"#concise-semi-eol\"},{\"include\":\"#concise-attr-group\"},{\"begin\":\"[\\\\t ]+\",\"end\":\"(?=[\\\\n\\\\S])\"},{\"include\":\"#attrs\"},{\"include\":\"#invalid\"}]}]},\"concise-script-block\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-script-block\",\"patterns\":[{\"include\":\"#content-embedded-script\"}]},\"concise-script-line\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\s*(--+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"end\":\"$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-script-line\",\"patterns\":[{\"include\":\"#content-embedded-script\"}]},\"concise-semi-eol\":{\"begin\":\"\\\\s*(;)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.terminator.marko\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#javascript-comments\"},{\"include\":\"#html-comment\"},{\"include\":\"#invalid\"}]},\"concise-style-block\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.css\",\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-block\",\"patterns\":[{\"include\":\"#content-embedded-style\"}]},\"concise-style-block-less\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.less\",\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-block\",\"patterns\":[{\"include\":\"#content-embedded-style-less\"}]},\"concise-style-block-scss\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.scss\",\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-block\",\"patterns\":[{\"include\":\"#content-embedded-style-scss\"}]},\"concise-style-line\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\s*(--+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.css\",\"end\":\"$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-line\",\"patterns\":[{\"include\":\"#content-embedded-style\"}]},\"concise-style-line-less\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\s*(--+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.less\",\"end\":\"$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-line\",\"patterns\":[{\"include\":\"#content-embedded-style-less\"}]},\"concise-style-line-scss\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\s*(--+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.scss\",\"end\":\"$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-line\",\"patterns\":[{\"include\":\"#content-embedded-style-scss\"}]},\"content-concise-mode\":{\"name\":\"meta.marko-concise-content\",\"patterns\":[{\"include\":\"#scriptlet\"},{\"include\":\"#javascript-comments\"},{\"include\":\"#cdata\"},{\"include\":\"#doctype\"},{\"include\":\"#declaration\"},{\"include\":\"#html-comment\"},{\"include\":\"#concise-html-block\"},{\"include\":\"#concise-html-line\"},{\"include\":\"#invalid-close-tag\"},{\"include\":\"#tag-html\"},{\"patterns\":[{\"begin\":\"^(\\\\s*)(?=html-comment[^-$0-9@-Z_a-z])\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-comment-block\"},{\"include\":\"#concise-comment-line\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.less\\\\b)\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-style-block-less\"},{\"include\":\"#concise-style-line-less\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.scss\\\\b)\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-style-block-scss\"},{\"include\":\"#concise-style-line-scss\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.[jt]s\\\\b)\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-script-block\"},{\"include\":\"#concise-script-line\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^(\\\\s*)(?=(?:html-)?style[^-$0-9@-Z_a-z])\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-style-block\"},{\"include\":\"#concise-style-line\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^(\\\\s*)(?=(?:html-)?script[^-$0-9@-Z_a-z])\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-script-block\"},{\"include\":\"#concise-script-line\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^([\\\\t ]*)(?=[#$.0-9@-Z_a-z])\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#content-concise-mode\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"}]}]},\"content-embedded-comment\":{\"patterns\":[{\"include\":\"#placeholder\"},{\"match\":\".\",\"name\":\"comment.block.marko\"}]},\"content-embedded-script\":{\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"#placeholder\"},{\"include\":\"source.ts\"}]},\"content-embedded-style\":{\"name\":\"meta.embedded.css\",\"patterns\":[{\"include\":\"#placeholder\"},{\"include\":\"source.css\"}]},\"content-embedded-style-less\":{\"name\":\"meta.embedded.css.less\",\"patterns\":[{\"include\":\"#placeholder\"},{\"include\":\"source.css.less\"}]},\"content-embedded-style-scss\":{\"name\":\"meta.embedded.css.scss\",\"patterns\":[{\"include\":\"#placeholder\"},{\"include\":\"source.css.scss\"}]},\"content-html-mode\":{\"patterns\":[{\"include\":\"#scriptlet\"},{\"include\":\"#cdata\"},{\"include\":\"#doctype\"},{\"include\":\"#declaration\"},{\"include\":\"#javascript-comments-after-whitespace\"},{\"include\":\"#html-comment\"},{\"include\":\"#invalid-close-tag\"},{\"include\":\"#tag-html\"},{\"match\":\"\\\\\\\\.\",\"name\":\"text.marko\"},{\"include\":\"#placeholder\"},{\"match\":\".+?\",\"name\":\"text.marko\"}]},\"declaration\":{\"begin\":\"(<\\\\?)\\\\s*([-$0-9A-Z_a-z]*)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.tag.marko\"},\"2\":{\"name\":\"entity.name.tag.marko\"}},\"end\":\"(\\\\??>)\",\"name\":\"meta.tag.metadata.processing.xml.marko\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.marko\"},\"2\":{\"name\":\"punctuation.separator.key-value.html\"},\"3\":{\"name\":\"string.quoted.double.marko\"},\"4\":{\"name\":\"string.quoted.single.marko\"},\"5\":{\"name\":\"string.unquoted.marko\"}},\"match\":\"((?:[^=>?\\\\s]|\\\\?(?!>))+)(=)(?:(\\\"(?:[^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|('(?:[^'\\\\\\\\]|\\\\\\\\.)*')|((?:[^>?\\\\s]|\\\\?(?!>))+))\"}]},\"doctype\":{\"begin\":\"\\\\s*<!(?=(?i:DOCTYPE\\\\s))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"name\":\"meta.tag.metadata.doctype.marko\",\"patterns\":[{\"match\":\"\\\\G(?i:DOCTYPE)\",\"name\":\"entity.name.tag.marko\"},{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.marko\"},{\"match\":\"[^>\\\\s]+\",\"name\":\"entity.other.attribute-name.marko\"}]},\"html-args-or-method\":{\"patterns\":[{\"include\":\"#tag-type-params\"},{\"begin\":\"\\\\s*(?=\\\\()\",\"contentName\":\"source.ts\",\"end\":\"(?<=\\\\))\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts#paren-expression\"}]},{\"begin\":\"(?<=\\\\))\\\\s*(?=\\\\{)\",\"contentName\":\"source.ts\",\"end\":\"(?<=})\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts\"}]}]},\"html-comment\":{\"begin\":\"\\\\s*(<!(--)?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.marko\"}},\"end\":\"\\\\2>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.marko\"}},\"name\":\"comment.block.marko\"},\"invalid\":{\"match\":\"\\\\S\",\"name\":\"invalid.illegal.character-not-allowed-here.marko\"},\"invalid-close-tag\":{\"begin\":\"\\\\s*</[^>]*\",\"end\":\">\",\"name\":\"invalid.illegal.character-not-allowed-here.marko\"},\"javascript-comments\":{\"patterns\":[{\"begin\":\"\\\\s*(?=/\\\\*)\",\"contentName\":\"source.ts\",\"end\":\"(?<=\\\\*/)\",\"patterns\":[{\"include\":\"source.ts\"}]},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"source.ts\"}]}},\"contentName\":\"source.ts\",\"match\":\"\\\\s*//.*$\"}]},\"javascript-comments-after-whitespace\":{\"patterns\":[{\"begin\":\"(?:^|\\\\s+)(?=/\\\\*)\",\"contentName\":\"source.ts\",\"end\":\"(?<=\\\\*/)\",\"patterns\":[{\"include\":\"source.ts\"}]},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"source.ts\"}]}},\"contentName\":\"source.ts\",\"match\":\"(?:^|\\\\s+)//.*$\"}]},\"javascript-expression\":{\"patterns\":[{\"include\":\"#javascript-comments\"},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"source.ts\"}]}},\"contentName\":\"source.ts\",\"match\":\"(?:\\\\s*\\\\b(?:as|await|extends|in|instanceof|satisfies|keyof|new|typeof|void))+\\\\s+(?![,/:;=>])[#$0-9@-Z_a-z]*\"},{\"applyEndPatternLast\":1,\"captures\":{\"0\":{\"name\":\"string.regexp.ts\",\"patterns\":[{\"include\":\"source.ts#regexp\"},{\"include\":\"source.ts\"}]}},\"contentName\":\"source.ts\",\"match\":\"(?<![]%).0-9<A-Za-z}])\\\\s*/(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[(?:[^]\\\\\\\\]|\\\\\\\\.)*])*/[A-Za-z]*\"},{\"include\":\"source.ts\"}]},\"javascript-placeholder\":{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ts\"}},\"contentName\":\"source.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ts\"}},\"patterns\":[{\"include\":\"source.ts\"}]},\"open-tag-content\":{\"patterns\":[{\"include\":\"#invalid-close-tag\"},{\"include\":\"#tag-before-attrs\"},{\"begin\":\"(?!/?>)\",\"end\":\"(?=/?>)\",\"patterns\":[{\"include\":\"#attrs\"}]}]},\"placeholder\":{\"begin\":\"\\\\$!?\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ts\"}},\"contentName\":\"source.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ts\"}},\"patterns\":[{\"include\":\"source.ts\"}]},\"scriptlet\":{\"begin\":\"^\\\\s*(\\\\$)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.scriptlet.marko\"}},\"contentName\":\"source.ts\",\"end\":\"$\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts\"}]},\"tag-before-attrs\":{\"patterns\":[{\"include\":\"#tag-name\"},{\"include\":\"#tag-shorthand-class-or-id\"},{\"begin\":\"/(?![*/])\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.tag-variable.marko\"}},\"contentName\":\"source.ts\",\"end\":\"(?=[(,/;<>|]|:?=|\\\\s+[^:]|$)\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"match\":\"[$A-Z_a-z][$0-9A-Z_a-z]*\",\"name\":\"variable.other.constant.object.ts\"},{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"source.ts#object-binding-element\"},{\"include\":\"#javascript-expression\"}]},{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"source.ts#array-binding-element\"},{\"include\":\"#javascript-expression\"}]},{\"begin\":\"\\\\s*(:)(?!=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?=[](,;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))\",\"patterns\":[{\"include\":\"source.ts#type\"},{\"include\":\"#javascript-expression\"}]},{\"include\":\"#javascript-expression\"}]},{\"begin\":\"\\\\s*\\\\|\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.begin.marko\"}},\"contentName\":\"source.ts\",\"end\":\"\\\\|\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko\"}},\"patterns\":[{\"include\":\"source.ts#comment\"},{\"include\":\"source.ts#string\"},{\"include\":\"source.ts#decorator\"},{\"include\":\"source.ts#destructuring-parameter\"},{\"include\":\"source.ts#parameter-name\"},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?=[,|])|(?==[^>])\",\"name\":\"meta.type.annotation.ts\",\"patterns\":[{\"include\":\"source.ts#type\"}]},{\"include\":\"source.ts#variable-initializer\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ts\"},{\"include\":\"source.ts\"}]},{\"include\":\"#html-args-or-method\"},{\"include\":\"#attr-value\"}]},\"tag-html\":{\"patterns\":[{\"begin\":\"\\\\s*(<)(?=(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr|const|debug|id|let|lifecycle|log|return)[^-$0-9@-Z_a-z])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/?>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"}]},{\"begin\":\"\\\\s*(<)(?=html-comment[^-$0-9@-Z_a-z])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</(?:>|html-comment>))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"end\":\"\\\\s*</(?:>|html-comment>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-comment\"}]}]},{\"begin\":\"\\\\s*(<)(?=style\\\\S*\\\\.less\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</style>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"contentName\":\"source.less\",\"end\":\"\\\\s*(</)(style)?(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-style-less\"}]}]},{\"begin\":\"\\\\s*(<)(?=style\\\\S*\\\\.scss\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</style>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"contentName\":\"source.scss\",\"end\":\"\\\\s*(</)(style)?(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-style-scss\"}]}]},{\"begin\":\"\\\\s*(<)(?=style\\\\S*\\\\.[jt]s\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</style>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"contentName\":\"source.ts\",\"end\":\"\\\\s*(</)((?:html-)?style)?(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-script\"}]}]},{\"begin\":\"\\\\s*(<)(?=((?:html-)?style)[^-$0-9@-Z_a-z])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</\\\\2>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"contentName\":\"source.css\",\"end\":\"\\\\s*(</)((?:html-)?style)?(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-style\"}]}]},{\"begin\":\"\\\\s*(<)(?=((?:html-)?script)[^-$0-9@-Z_a-z])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</\\\\2>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"contentName\":\"source.ts\",\"end\":\"\\\\s*(</)((?:html-)?script)?(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-script\"}]}]},{\"begin\":\"\\\\s*(<)(?=[#$.]|([-$0-9@-Z_a-z]+))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</\\\\2>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"end\":\"\\\\s*(</)([-#$.0-:@-Z_a-z]+)?([^>]*)(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"},{\"include\":\"#tag-shorthand-class-or-id\"}]},\"3\":{\"patterns\":[{\"include\":\"#invalid\"}]},\"4\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-html-mode\"}]}]}]},\"tag-name\":{\"patterns\":[{\"applyEndPatternLast\":1,\"begin\":\"\\\\G(style)\\\\b(\\\\.[-$0-9A-Z_a-z]+(?:\\\\.[-$0-9A-Z_a-z]+)*)|([0-9@-Z_a-z](?:[-0-9@-Z_a-z]|:(?!=))*)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.builtin.marko\"},\"2\":{\"name\":\"storage.type.marko.css\"},\"3\":{\"patterns\":[{\"match\":\"(script|style|html-script|html-style|html-comment)(?![-$0-9@-Z_a-z])\",\"name\":\"support.type.builtin.marko\"},{\"match\":\"(for|if|while|else-if|else|try|await|return)(?![-$0-9@-Z_a-z])\",\"name\":\"keyword.control.flow.marko\"},{\"match\":\"(const|context|debug|define|id|let|log|lifecycle)(?![-$0-9@-Z_a-z])\",\"name\":\"support.function.marko\"},{\"match\":\"@.+\",\"name\":\"entity.other.attribute-name.marko\"},{\"match\":\".+\",\"name\":\"entity.name.tag.marko\"}]}},\"end\":\"(?=.)\",\"patterns\":[{\"include\":\"#tag-type-args\"}]},{\"begin\":\"(?=[$0-9A-Z_a-z]|-[^-])\",\"end\":\"(?=[^-$0-9A-Z_a-z]|$)\",\"patterns\":[{\"include\":\"#javascript-placeholder\"},{\"match\":\"(?:[-0-9A-Z_a-z]|\\\\$(?!\\\\{))+\",\"name\":\"entity.name.tag.marko\"}]}]},\"tag-shorthand-class-or-id\":{\"begin\":\"(?=[#.])\",\"end\":\"$|(?=--|[^-#$.0-9A-Z_a-z])\",\"patterns\":[{\"include\":\"#javascript-placeholder\"},{\"match\":\"(?:[-#.0-9A-Z_a-z]|\\\\$(?!\\\\{))+\",\"name\":\"entity.other.attribute-name.marko\"}]},\"tag-type-args\":{\"applyEndPatternLast\":1,\"begin\":\"(?=<)\",\"contentName\":\"source.ts\",\"end\":\"(?<=>)\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"applyEndPatternLast\":1,\"begin\":\"(?<=>)(?=[\\\\t ]*<)\",\"end\":\"(?=.)\",\"patterns\":[{\"include\":\"#tag-type-params\"}]},{\"include\":\"source.ts#type-arguments\"}]},\"tag-type-params\":{\"applyEndPatternLast\":1,\"begin\":\"(?!^)[\\\\t ]*(?=<)\",\"contentName\":\"source.ts\",\"end\":\"(?<=>)\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts#type-parameters\"}]}},\"scopeName\":\"text.marko\",\"embeddedLangs\":[\"css\",\"less\",\"scss\",\"typescript\"]}"))
6
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Marko\",\"fileTypes\":[\"marko\"],\"name\":\"marko\",\"patterns\":[{\"begin\":\"^\\\\s*(style)(\\\\b\\\\S*\\\\.css)?\\\\s+(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.builtin.marko\"},\"2\":{\"name\":\"storage.modifier.marko.css\"},\"3\":{\"name\":\"punctuation.section.scope.begin.marko.css\"}},\"contentName\":\"source.css\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko.css\"}},\"name\":\"meta.embedded.css\",\"patterns\":[{\"include\":\"source.css\"}]},{\"begin\":\"^\\\\s*(style)\\\\b(\\\\S*\\\\.less)\\\\s+(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.builtin.marko\"},\"2\":{\"name\":\"storage.modifier.marko.css\"},\"3\":{\"name\":\"punctuation.section.scope.begin.marko.css\"}},\"contentName\":\"source.less\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko.css\"}},\"name\":\"meta.embedded.less\",\"patterns\":[{\"include\":\"source.css.less\"}]},{\"begin\":\"^\\\\s*(style)\\\\b(\\\\S*\\\\.scss)\\\\s+(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.builtin.marko\"},\"2\":{\"name\":\"storage.modifier.marko.css\"},\"3\":{\"name\":\"punctuation.section.scope.begin.marko.css\"}},\"contentName\":\"source.scss\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko.css\"}},\"name\":\"meta.embedded.scss\",\"patterns\":[{\"include\":\"source.css.scss\"}]},{\"begin\":\"^\\\\s*(style)\\\\b(\\\\S*\\\\.[jt]s)\\\\s+(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.builtin.marko\"},\"2\":{\"name\":\"storage.modifier.marko.css\"},\"3\":{\"name\":\"punctuation.section.scope.begin.marko.css\"}},\"contentName\":\"source.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko.css\"}},\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts\"}]},{\"begin\":\"^\\\\s*(?:((?:static|server|client)(?![-$0-9@-Z_a-z]))|(?=(?:class|import|export)[^-$0-9@-Z_a-z]))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.static.marko\"}},\"contentName\":\"source.ts\",\"end\":\"(?=\\\\n|$)\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts\"}]},{\"include\":\"#content-concise-mode\"}],\"repository\":{\"attr-value\":{\"begin\":\"\\\\s*(:?=)\\\\s*\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"source.ts\"}]}},\"contentName\":\"source.ts\",\"end\":\"(?=[],;]|/>|(?<=[^=>])(?:(?<!\\\\s)>|>(?!=))|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&(*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"#javascript-expression\"}]},\"attrs\":{\"patterns\":[{\"include\":\"#javascript-comments\"},{\"match\":\"\\\\basync(?=(?:[\\\\t ]+[$0-9A-Z_a-z][-$0-9A-Z_a-z]*|[\\\\t ]*)[\\\\t ]*(?:<[^<>]*>)?[\\\\t ]*\\\\([^()]*\\\\)[\\\\t ]*\\\\{)\",\"name\":\"storage.modifier.async.marko\"},{\"applyEndPatternLast\":1,\"begin\":\"(?:(key|on[-$0-9A-Z_a-z]+|[$0-9A-Z_a-z]+Change|no-update(?:-body)?(?:-if)?)|([$0-9A-Z_a-z][-$0-9A-Z_a-z]*)|(#[$0-9A-Z_a-z][-$0-9A-Z_a-z]*))(:[$0-9A-Z_a-z][-$0-9A-Z_a-z]*)?\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.attribute-name.marko\"},\"2\":{\"name\":\"entity.other.attribute-name.marko\"},\"3\":{\"name\":\"support.function.attribute-name.marko\"},\"4\":{\"name\":\"support.function.attribute-name.marko\"}},\"end\":\"(?=.|$)\",\"name\":\"meta.marko-attribute\",\"patterns\":[{\"include\":\"#html-args-or-method\"},{\"include\":\"#attr-value\"}]},{\"begin\":\"(\\\\.\\\\.\\\\.)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.spread.marko\"}},\"contentName\":\"source.ts\",\"end\":\"(?=[],;]|/>|(?<=[^=>])(?:(?<!\\\\s)>|>(?!=))|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&(*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))\",\"name\":\"meta.marko-spread-attribute\",\"patterns\":[{\"include\":\"#javascript-expression\"}]},{\"begin\":\"\\\\s*(,(?!,))\",\"captures\":{\"1\":{\"name\":\"punctuation.separator.comma.marko\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#invalid\"}]},\"cdata\":{\"begin\":\"\\\\s*<!\\\\[CDATA\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"contentName\":\"string.other.inline-data.marko\",\"end\":\"]]>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"name\":\"meta.tag.metadata.cdata.marko\"},\"concise-attr-group\":{\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.scope.begin.marko\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko\"}},\"patterns\":[{\"include\":\"#concise-attr-group\"},{\"begin\":\"\\\\s+\",\"end\":\"(?=\\\\S)\"},{\"include\":\"#attrs\"},{\"include\":\"#invalid\"}]},\"concise-comment-block\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-comment-block\",\"patterns\":[{\"include\":\"#content-embedded-comment\"}]},\"concise-comment-line\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\s*(--+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"end\":\"$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-comment-line\",\"patterns\":[{\"include\":\"#content-embedded-comment\"}]},\"concise-html-block\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-html-block\",\"patterns\":[{\"include\":\"#content-html-mode\"}]},\"concise-html-line\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#cdata\"},{\"include\":\"#doctype\"},{\"include\":\"#declaration\"},{\"include\":\"#javascript-comments-after-whitespace\"},{\"include\":\"#html-comment\"},{\"include\":\"#tag-html\"},{\"match\":\"\\\\\\\\.\",\"name\":\"text.marko\"},{\"include\":\"#placeholder\"},{\"match\":\".+?\",\"name\":\"text.marko\"}]},\"3\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"match\":\"\\\\s*(--+)(?=\\\\s+\\\\S)(.*)$()\",\"name\":\"meta.section.marko-html-line\"},\"concise-open-tag-content\":{\"patterns\":[{\"include\":\"#invalid-close-tag\"},{\"include\":\"#tag-before-attrs\"},{\"include\":\"#concise-semi-eol\"},{\"begin\":\"(?!^)[\\\\t ,]\",\"end\":\"(?=--)|(?=\\\\n)\",\"patterns\":[{\"include\":\"#concise-semi-eol\"},{\"include\":\"#concise-attr-group\"},{\"begin\":\"[\\\\t ]+\",\"end\":\"(?=[\\\\n\\\\S])\"},{\"include\":\"#attrs\"},{\"include\":\"#invalid\"}]}]},\"concise-script-block\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-script-block\",\"patterns\":[{\"include\":\"#content-embedded-script\"}]},\"concise-script-line\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\s*(--+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"end\":\"$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-script-line\",\"patterns\":[{\"include\":\"#content-embedded-script\"}]},\"concise-semi-eol\":{\"begin\":\"\\\\s*(;)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.terminator.marko\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#javascript-comments\"},{\"include\":\"#html-comment\"},{\"include\":\"#invalid\"}]},\"concise-style-block\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.css\",\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-block\",\"patterns\":[{\"include\":\"#content-embedded-style\"}]},\"concise-style-block-less\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.less\",\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-block\",\"patterns\":[{\"include\":\"#content-embedded-style-less\"}]},\"concise-style-block-scss\":{\"begin\":\"\\\\s*(--+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.scss\",\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-block\",\"patterns\":[{\"include\":\"#content-embedded-style-scss\"}]},\"concise-style-line\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\s*(--+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.css\",\"end\":\"$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-line\",\"patterns\":[{\"include\":\"#content-embedded-style\"}]},\"concise-style-line-less\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\s*(--+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.less\",\"end\":\"$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-line\",\"patterns\":[{\"include\":\"#content-embedded-style-less\"}]},\"concise-style-line-scss\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\s*(--+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.scope.begin.marko\"}},\"contentName\":\"source.scss\",\"end\":\"$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.scope.end.marko\"}},\"name\":\"meta.section.marko-style-line\",\"patterns\":[{\"include\":\"#content-embedded-style-scss\"}]},\"content-concise-mode\":{\"name\":\"meta.marko-concise-content\",\"patterns\":[{\"include\":\"#scriptlet\"},{\"include\":\"#javascript-comments\"},{\"include\":\"#cdata\"},{\"include\":\"#doctype\"},{\"include\":\"#declaration\"},{\"include\":\"#html-comment\"},{\"include\":\"#concise-html-block\"},{\"include\":\"#concise-html-line\"},{\"include\":\"#invalid-close-tag\"},{\"include\":\"#tag-html\"},{\"patterns\":[{\"begin\":\"^(\\\\s*)(?=html-comment[^-$0-9@-Z_a-z])\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-comment-block\"},{\"include\":\"#concise-comment-line\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.less\\\\b)\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-style-block-less\"},{\"include\":\"#concise-style-line-less\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.scss\\\\b)\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-style-block-scss\"},{\"include\":\"#concise-style-line-scss\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.[jt]s\\\\b)\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-script-block\"},{\"include\":\"#concise-script-line\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^(\\\\s*)(?=(?:html-)?style[^-$0-9@-Z_a-z])\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-style-block\"},{\"include\":\"#concise-style-line\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^(\\\\s*)(?=(?:html-)?script[^-$0-9@-Z_a-z])\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#concise-script-block\"},{\"include\":\"#concise-script-line\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"},{\"begin\":\"^([\\\\t ]*)(?=[#$.0-9@-Z_a-z])\",\"patterns\":[{\"include\":\"#concise-open-tag-content\"},{\"include\":\"#content-concise-mode\"}],\"while\":\"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))\"}]}]},\"content-embedded-comment\":{\"patterns\":[{\"include\":\"#placeholder\"},{\"match\":\".\",\"name\":\"comment.block.marko\"}]},\"content-embedded-script\":{\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"#placeholder\"},{\"include\":\"source.ts\"}]},\"content-embedded-style\":{\"name\":\"meta.embedded.css\",\"patterns\":[{\"include\":\"#placeholder\"},{\"include\":\"source.css\"}]},\"content-embedded-style-less\":{\"name\":\"meta.embedded.css.less\",\"patterns\":[{\"include\":\"#placeholder\"},{\"include\":\"source.css.less\"}]},\"content-embedded-style-scss\":{\"name\":\"meta.embedded.css.scss\",\"patterns\":[{\"include\":\"#placeholder\"},{\"include\":\"source.css.scss\"}]},\"content-html-mode\":{\"patterns\":[{\"include\":\"#scriptlet\"},{\"include\":\"#cdata\"},{\"include\":\"#doctype\"},{\"include\":\"#declaration\"},{\"include\":\"#javascript-comments-after-whitespace\"},{\"include\":\"#html-comment\"},{\"include\":\"#invalid-close-tag\"},{\"include\":\"#tag-html\"},{\"match\":\"\\\\\\\\.\",\"name\":\"text.marko\"},{\"include\":\"#placeholder\"},{\"match\":\".+?\",\"name\":\"text.marko\"}]},\"declaration\":{\"begin\":\"(<\\\\?)\\\\s*([-$0-9A-Z_a-z]*)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.tag.marko\"},\"2\":{\"name\":\"entity.name.tag.marko\"}},\"end\":\"(\\\\??>)\",\"name\":\"meta.tag.metadata.processing.xml.marko\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.marko\"},\"2\":{\"name\":\"punctuation.separator.key-value.html\"},\"3\":{\"name\":\"string.quoted.double.marko\"},\"4\":{\"name\":\"string.quoted.single.marko\"},\"5\":{\"name\":\"string.unquoted.marko\"}},\"match\":\"((?:[^=>?\\\\s]|\\\\?(?!>))+)(=)(?:(\\\"(?:[^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|('(?:[^'\\\\\\\\]|\\\\\\\\.)*')|((?:[^>?\\\\s]|\\\\?(?!>))+))\"}]},\"doctype\":{\"begin\":\"\\\\s*<!(?=(?i:DOCTYPE\\\\s))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"name\":\"meta.tag.metadata.doctype.marko\",\"patterns\":[{\"match\":\"\\\\G(?i:DOCTYPE)\",\"name\":\"entity.name.tag.marko\"},{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.marko\"},{\"match\":\"[^>\\\\s]+\",\"name\":\"entity.other.attribute-name.marko\"}]},\"html-args-or-method\":{\"patterns\":[{\"include\":\"#tag-type-params\"},{\"begin\":\"\\\\s*(?=\\\\()\",\"contentName\":\"source.ts\",\"end\":\"(?<=\\\\))\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts#paren-expression\"}]},{\"begin\":\"(?<=\\\\))\\\\s*(?=\\\\{)\",\"contentName\":\"source.ts\",\"end\":\"(?<=})\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts\"}]}]},\"html-comment\":{\"begin\":\"\\\\s*(<!(--)?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.marko\"}},\"end\":\"\\\\2>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.marko\"}},\"name\":\"comment.block.marko\"},\"invalid\":{\"match\":\"\\\\S\",\"name\":\"invalid.illegal.character-not-allowed-here.marko\"},\"invalid-close-tag\":{\"begin\":\"\\\\s*</[^>]*\",\"end\":\">\",\"name\":\"invalid.illegal.character-not-allowed-here.marko\"},\"javascript-comments\":{\"patterns\":[{\"begin\":\"\\\\s*(?=/\\\\*)\",\"contentName\":\"source.ts\",\"end\":\"(?<=\\\\*/)\",\"patterns\":[{\"include\":\"source.ts\"}]},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"source.ts\"}]}},\"contentName\":\"source.ts\",\"match\":\"\\\\s*//.*$\"}]},\"javascript-comments-after-whitespace\":{\"patterns\":[{\"begin\":\"(?:^|\\\\s+)(?=/\\\\*)\",\"contentName\":\"source.ts\",\"end\":\"(?<=\\\\*/)\",\"patterns\":[{\"include\":\"source.ts\"}]},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"source.ts\"}]}},\"contentName\":\"source.ts\",\"match\":\"(?:^|\\\\s+)//.*$\"}]},\"javascript-expression\":{\"patterns\":[{\"include\":\"#javascript-comments\"},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"source.ts\"}]}},\"contentName\":\"source.ts\",\"match\":\"(?:\\\\s*\\\\b(?:as|await|extends|in|instanceof|satisfies|keyof|new|typeof|void))+\\\\s+(?![,/:;=>])[#$0-9@-Z_a-z]*\"},{\"applyEndPatternLast\":1,\"captures\":{\"0\":{\"name\":\"string.regexp.ts\",\"patterns\":[{\"include\":\"source.ts#regexp\"},{\"include\":\"source.ts\"}]}},\"contentName\":\"source.ts\",\"match\":\"(?<![]%).0-9<A-Za-z}])\\\\s*/(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[(?:[^]\\\\\\\\]|\\\\\\\\.)*])*/[A-Za-z]*\"},{\"include\":\"source.ts\"}]},\"javascript-placeholder\":{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ts\"}},\"contentName\":\"source.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ts\"}},\"patterns\":[{\"include\":\"source.ts\"}]},\"open-tag-content\":{\"patterns\":[{\"include\":\"#invalid-close-tag\"},{\"include\":\"#tag-before-attrs\"},{\"begin\":\"(?!/?>)\",\"end\":\"(?=/?>)\",\"patterns\":[{\"include\":\"#attrs\"}]}]},\"placeholder\":{\"begin\":\"\\\\$!?\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ts\"}},\"contentName\":\"source.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ts\"}},\"patterns\":[{\"include\":\"source.ts\"}]},\"scriptlet\":{\"begin\":\"^\\\\s*(\\\\$)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.scriptlet.marko\"}},\"contentName\":\"source.ts\",\"end\":\"$\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts\"}]},\"tag-before-attrs\":{\"patterns\":[{\"include\":\"#tag-name\"},{\"include\":\"#tag-shorthand-class-or-id\"},{\"begin\":\"/(?![*/])\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.tag-variable.marko\"}},\"contentName\":\"source.ts\",\"end\":\"(?=[(,/;<>|]|:?=|\\\\s+[^:]|$)\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"match\":\"[$A-Z_a-z][$0-9A-Z_a-z]*\",\"name\":\"variable.other.constant.object.ts\"},{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"source.ts#object-binding-element\"},{\"include\":\"#javascript-expression\"}]},{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"source.ts#array-binding-element\"},{\"include\":\"#javascript-expression\"}]},{\"begin\":\"\\\\s*(:)(?!=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?=[](,;]|/>|(?<=[^=>])(?:(?<!\\\\s)>|>(?!=))|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))\",\"patterns\":[{\"include\":\"source.ts#type\"},{\"include\":\"#javascript-expression\"}]},{\"include\":\"#javascript-expression\"}]},{\"begin\":\"\\\\s*\\\\|\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.begin.marko\"}},\"contentName\":\"source.ts\",\"end\":\"\\\\|\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.marko\"}},\"patterns\":[{\"include\":\"source.ts#comment\"},{\"include\":\"source.ts#string\"},{\"include\":\"source.ts#decorator\"},{\"include\":\"source.ts#destructuring-parameter\"},{\"include\":\"source.ts#parameter-name\"},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?=[,|])|(?==[^>])\",\"name\":\"meta.type.annotation.ts\",\"patterns\":[{\"include\":\"source.ts#type\"}]},{\"include\":\"source.ts#variable-initializer\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ts\"},{\"include\":\"source.ts\"}]},{\"include\":\"#html-args-or-method\"},{\"include\":\"#attr-value\"}]},\"tag-html\":{\"patterns\":[{\"begin\":\"\\\\s*(<)(?=(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr|const|debug|id|let|lifecycle|log|return)[^-$0-9@-Z_a-z])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/?>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"}]},{\"begin\":\"\\\\s*(<)(?=html-comment[^-$0-9@-Z_a-z])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</(?:>|html-comment>))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"end\":\"\\\\s*</(?:>|html-comment>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-comment\"}]}]},{\"begin\":\"\\\\s*(<)(?=style\\\\S*\\\\.less\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</style>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"contentName\":\"source.less\",\"end\":\"\\\\s*(</)(style)?(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-style-less\"}]}]},{\"begin\":\"\\\\s*(<)(?=style\\\\S*\\\\.scss\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</style>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"contentName\":\"source.scss\",\"end\":\"\\\\s*(</)(style)?(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-style-scss\"}]}]},{\"begin\":\"\\\\s*(<)(?=style\\\\S*\\\\.[jt]s\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</style>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"contentName\":\"source.ts\",\"end\":\"\\\\s*(</)((?:html-)?style)?(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-script\"}]}]},{\"begin\":\"\\\\s*(<)(?=((?:html-)?style)[^-$0-9@-Z_a-z])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</\\\\2>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"contentName\":\"source.css\",\"end\":\"\\\\s*(</)((?:html-)?style)?(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-style\"}]}]},{\"begin\":\"\\\\s*(<)(?=((?:html-)?script)[^-$0-9@-Z_a-z])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</\\\\2>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"contentName\":\"source.ts\",\"end\":\"\\\\s*(</)((?:html-)?script)?(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"}]},\"3\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-embedded-script\"}]}]},{\"begin\":\"\\\\s*(<)(?=[#$.]|([-$0-9@-Z_a-z]+))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"}},\"end\":\"/>|(?<=</>)|(?<=</\\\\2>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#open-tag-content\"},{\"begin\":\">\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"end\":\"\\\\s*(</)([-#$.0-:@-Z_a-z]+)?([^>]*)(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.marko\"},\"2\":{\"patterns\":[{\"include\":\"#tag-name\"},{\"include\":\"#tag-shorthand-class-or-id\"}]},\"3\":{\"patterns\":[{\"include\":\"#invalid\"}]},\"4\":{\"name\":\"punctuation.definition.tag.end.marko\"}},\"patterns\":[{\"include\":\"#content-html-mode\"}]}]}]},\"tag-name\":{\"patterns\":[{\"applyEndPatternLast\":1,\"begin\":\"\\\\G(style)\\\\b(\\\\.[-$0-9A-Z_a-z]+(?:\\\\.[-$0-9A-Z_a-z]+)*)|([0-9@-Z_a-z](?:[-0-9@-Z_a-z]|:(?!=))*)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type.builtin.marko\"},\"2\":{\"name\":\"storage.type.marko.css\"},\"3\":{\"patterns\":[{\"match\":\"(script|style|html-script|html-style|html-comment)(?![-$0-9@-Z_a-z])\",\"name\":\"support.type.builtin.marko\"},{\"match\":\"(for|if|while|else-if|else|try|await|return)(?![-$0-9@-Z_a-z])\",\"name\":\"keyword.control.flow.marko\"},{\"match\":\"(const|context|debug|define|id|let|log|lifecycle)(?![-$0-9@-Z_a-z])\",\"name\":\"support.function.marko\"},{\"match\":\"@.+\",\"name\":\"entity.other.attribute-name.marko\"},{\"match\":\".+\",\"name\":\"entity.name.tag.marko\"}]}},\"end\":\"(?=.)\",\"patterns\":[{\"include\":\"#tag-type-args\"}]},{\"begin\":\"(?=[$0-9A-Z_a-z]|-[^-])\",\"end\":\"(?=[^-$0-9A-Z_a-z]|$)\",\"patterns\":[{\"include\":\"#javascript-placeholder\"},{\"match\":\"(?:[-0-9A-Z_a-z]|\\\\$(?!\\\\{))+\",\"name\":\"entity.name.tag.marko\"}]}]},\"tag-shorthand-class-or-id\":{\"begin\":\"(?=[#.])\",\"end\":\"$|(?=--|[^-#$.0-9A-Z_a-z])\",\"patterns\":[{\"include\":\"#javascript-placeholder\"},{\"match\":\"(?:[-#.0-9A-Z_a-z]|\\\\$(?!\\\\{))+\",\"name\":\"entity.other.attribute-name.marko\"}]},\"tag-type-args\":{\"applyEndPatternLast\":1,\"begin\":\"(?=<)\",\"contentName\":\"source.ts\",\"end\":\"(?<=>)\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"applyEndPatternLast\":1,\"begin\":\"(?<=>)(?=[\\\\t ]*<)\",\"end\":\"(?=.)\",\"patterns\":[{\"include\":\"#tag-type-params\"}]},{\"include\":\"source.ts#type-arguments\"}]},\"tag-type-params\":{\"applyEndPatternLast\":1,\"begin\":\"(?!^)[\\\\t ]*(?=<)\",\"contentName\":\"source.ts\",\"end\":\"(?<=>)\",\"name\":\"meta.embedded.ts\",\"patterns\":[{\"include\":\"source.ts#type-parameters\"}]}},\"scopeName\":\"text.marko\",\"embeddedLangs\":[\"css\",\"less\",\"scss\",\"typescript\"]}"))
7
7
 
8
8
  export default [
9
9
  ...css,
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"MoonBit\",\"fileTypes\":[\"mbt\",\"mbtx\",\"mbtp\"],\"name\":\"moonbit\",\"patterns\":[{\"include\":\"#doccomment\"},{\"include\":\"#linecomment\"},{\"include\":\"#regexliteral\"},{\"include\":\"#bytes\"},{\"include\":\"#string-double\"},{\"include\":\"#string-single\"},{\"include\":\"#multilineinterp\"},{\"include\":\"#multilinestring\"},{\"include\":\"#attributename\"},{\"include\":\"#type-annotation-var\"},{\"include\":\"#type-annotation-return\"},{\"include\":\"#object-method-key\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#fn-definition\"},{\"include\":\"#let-destructure\"},{\"include\":\"#const-destructure\"},{\"include\":\"#as-typekw\"},{\"include\":\"#dotint\"},{\"include\":\"#float\"},{\"include\":\"#double\"},{\"include\":\"#int\"},{\"include\":\"#scope-keyword-operator-expression-as\"},{\"include\":\"#scope-keyword-operator-expression-is\"},{\"include\":\"#scope-keyword-operator-expression-not\"},{\"include\":\"#tryquestion\"},{\"include\":\"#trybang\"},{\"include\":\"#lexmatchquestion\"},{\"include\":\"#scope-keyword-control-flow\"},{\"include\":\"#scope-keyword-control-conditional\"},{\"include\":\"#scope-keyword-control-loop-for\"},{\"include\":\"#scope-keyword-control-loop-in\"},{\"include\":\"#scope-keyword-control-loop-loop\"},{\"include\":\"#scope-keyword-control-loop-while\"},{\"include\":\"#scope-keyword-control-loop-break\"},{\"include\":\"#scope-keyword-control-loop-continue\"},{\"include\":\"#scope-keyword-control-exception\"},{\"include\":\"#scope-keyword-control-import\"},{\"include\":\"#scope-keyword-control-proof\"},{\"include\":\"#uident\"},{\"include\":\"#prooflabel\"},{\"include\":\"#scope-keyword-other\"},{\"include\":\"#scope-storage-modifier\"},{\"include\":\"#scope-storage-modifier-accessibility\"},{\"include\":\"#scope-storage-type-function\"},{\"include\":\"#moonbit-impl-header\"},{\"include\":\"#scope-storage-type\"},{\"include\":\"#scope-storage-type-function-arrow\"},{\"include\":\"#scope-constant-language-boolean-true\"},{\"include\":\"#scope-constant-language-boolean-false\"},{\"include\":\"#method-call\"},{\"include\":\"#known-property-access\"},{\"include\":\"#property-access\"},{\"include\":\"#forall\"},{\"include\":\"#exists\"},{\"include\":\"#implies\"},{\"include\":\"#operator-overrides\"},{\"include\":\"#operators\"},{\"include\":\"#scope-punctuation-accessor\"},{\"include\":\"#scope-punctuation-separator-colon\"},{\"include\":\"#scope-punctuation-bracket-square\"},{\"include\":\"#scope-punctuation-separator-comma\"},{\"include\":\"#scope-punctuation-bracket-round\"},{\"include\":\"#scope-punctuation-bracket-curly\"},{\"include\":\"#scope-punctuation-terminator-statement\"},{\"include\":\"#punctuation\"},{\"include\":\"#function-call\"},{\"include\":\"#ident\"},{\"include\":\"#packagename\"},{\"include\":\"#byte\"},{\"include\":\"#char\"}],\"repository\":{\"as-typekw\":{\"begin\":\"\\\\b(as)\\\\b(?=\\\\s+[\\\"(@\\\\[_{[:alpha:]\\\\d]|\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.as.moonbit\"}},\"end\":\"(?=[]),;=>{}]|\\\\b(?:as|if|else|match|guard|lexmatch|for|while|loop|in|break|continue|return|raise|throw|defer|try|catch|import|using|fn|predicate|lemma|let|letrec|const|type|struct|enum|enumview|extenum|trait|impl|typealias|traitalias|fnalias|suberror|test|pub|priv|readonly|extern|mut|async|declare|noraise|nobreak|proof_assert|proof_let|is|not)\\\\b)\",\"name\":\"meta.type.as.moonbit\",\"patterns\":[{\"include\":\"#type-inner\"}]},\"attributename\":{\"match\":\"#[A-Z_a-z][0-9A-Z_a-z]*(?:\\\\.[A-Z_a-z][0-9A-Z_a-z]*)?\",\"name\":\"entity.name.function.decorator.moonbit\"},\"bind-default\":{\"begin\":\"(=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.moonbit\"}},\"end\":\"(?=[]),}])\",\"patterns\":[{\"include\":\"$self\"}]},\"byte\":{\"match\":\"b'(?:\\\\\\\\(?:[ \\\"'/\\\\\\\\bfnrt]|x\\\\h{2}|o[0-3][0-7]{2}|u\\\\h{4}|u\\\\{\\\\h+}|.)|[^\\\\n'\\\\\\\\])+'\",\"name\":\"constant.character.byte.moonbit\"},\"bytes\":{\"match\":\"b\\\"(?:[^\\\\n\\\"\\\\\\\\]|\\\\\\\\(?:[ \\\"'/\\\\\\\\bfnrt]|x\\\\h{2}|o[0-3][0-7]{2}|u\\\\h{4}|u\\\\{\\\\h+}|.))*\\\"\",\"name\":\"string.quoted.double.bytes.moonbit\"},\"char\":{\"match\":\"'(?:\\\\\\\\(?:[ \\\"'/\\\\\\\\bfnrt]|x\\\\h{2}|o[0-3][0-7]{2}|u\\\\h{4}|u\\\\{\\\\h+}|.)|[^\\\\n'\\\\\\\\])+'\",\"name\":\"constant.character.moonbit\"},\"const-bind-array\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.moonbit\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.moonbit\"}},\"patterns\":[{\"include\":\"#const-bind-elem\"}]},\"const-bind-elem\":{\"patterns\":[{\"match\":\"(\\\\.\\\\.\\\\.)\",\"name\":\"keyword.operator.rest.moonbit\"},{\"include\":\"#bind-default\"},{\"include\":\"#const-bind-object\"},{\"include\":\"#const-bind-array\"},{\"match\":\"([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)\",\"name\":\"variable.other.constant.moonbit\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.moonbit\"}]},\"const-bind-object\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.moonbit\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.moonbit\"}},\"patterns\":[{\"include\":\"#const-bind-prop\"}]},\"const-bind-prop\":{\"patterns\":[{\"match\":\"(\\\\.\\\\.\\\\.)\",\"name\":\"keyword.operator.rest.moonbit\"},{\"captures\":{\"1\":{\"name\":\"variable.object.property.moonbit\"},\"3\":{\"name\":\"punctuation.destructuring.moonbit\"}},\"match\":\"([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)(\\\\s*)(:)\"},{\"include\":\"#bind-default\"},{\"include\":\"#const-bind-object\"},{\"include\":\"#const-bind-array\"},{\"match\":\"([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)\",\"name\":\"variable.other.constant.moonbit\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.moonbit\"}]},\"const-destructure\":{\"begin\":\"\\\\b(const)\\\\s+(?=[\\\\[{])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.moonbit\"}},\"end\":\"(?<=[]}])\",\"patterns\":[{\"include\":\"#mut-bind-object\"},{\"include\":\"#mut-bind-array\"}]},\"doccomment\":{\"match\":\"///[^\\\\n]*\",\"name\":\"comment.line.documentation.moonbit\"},\"dotint\":{\"match\":\"\\\\.[0-9]+\",\"name\":\"constant.numeric.integer.tuple-index.moonbit\"},\"double\":{\"match\":\"0[Xx]\\\\h[_\\\\h]*\\\\.[_\\\\h]*(?:[Pp][-+]?[0-9][0-9_]*)?(?!\\\\.)|[0-9][0-9_]*\\\\.[0-9_]*(?:[Ee][-+]?[0-9][0-9_]*)?(?!\\\\.)\",\"name\":\"constant.numeric.double.moonbit\"},\"exists\":{\"match\":\"∃\",\"name\":\"keyword.operator.quantifier.moonbit\"},\"expr-scope-keyword-control-flow\":{\"match\":\"\\\\b(raise|throw|return)\\\\b\",\"name\":\"keyword.control.flow.moonbit\"},\"expr-scope-storage-modifier\":{\"match\":\"\\\\b(async)\\\\b\",\"name\":\"storage.modifier.moonbit\"},\"expr-scope-storage-modifier-accessibility\":{\"match\":\"\\\\b(no(?:raise|break))\\\\b(?=\\\\s+(?:\\\\.\\\\.\\\\.|[\\\"#'*0-9\\\\[_{[:alpha:]]))\",\"name\":\"storage.modifier.moonbit\"},\"expression\":{\"patterns\":[{\"include\":\"#doccomment\"},{\"include\":\"#linecomment\"},{\"include\":\"#regexliteral\"},{\"include\":\"#bytes\"},{\"include\":\"#string-double\"},{\"include\":\"#string-single\"},{\"include\":\"#multilineinterp\"},{\"include\":\"#multilinestring\"},{\"include\":\"#attributename\"},{\"include\":\"#type-annotation-return\"},{\"include\":\"#object-method-key\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#fn-definition\"},{\"include\":\"#as-typekw\"},{\"include\":\"#dotint\"},{\"include\":\"#float\"},{\"include\":\"#double\"},{\"include\":\"#int\"},{\"include\":\"#scope-keyword-operator-expression-as\"},{\"include\":\"#scope-keyword-operator-expression-is\"},{\"include\":\"#scope-keyword-operator-expression-not\"},{\"include\":\"#tryquestion\"},{\"include\":\"#trybang\"},{\"include\":\"#lexmatchquestion\"},{\"include\":\"#expr-scope-keyword-control-flow\"},{\"include\":\"#scope-keyword-control-conditional\"},{\"include\":\"#scope-keyword-control-loop-for\"},{\"include\":\"#scope-keyword-control-loop-in\"},{\"include\":\"#scope-keyword-control-loop-loop\"},{\"include\":\"#scope-keyword-control-loop-while\"},{\"include\":\"#scope-keyword-control-loop-break\"},{\"include\":\"#scope-keyword-control-loop-continue\"},{\"include\":\"#scope-keyword-control-exception\"},{\"include\":\"#uident\"},{\"include\":\"#prooflabel\"},{\"include\":\"#scope-keyword-other\"},{\"include\":\"#expr-scope-storage-modifier\"},{\"include\":\"#expr-scope-storage-modifier-accessibility\"},{\"include\":\"#scope-storage-type-function\"},{\"include\":\"#scope-storage-type-function-arrow\"},{\"include\":\"#scope-constant-language-boolean-true\"},{\"include\":\"#scope-constant-language-boolean-false\"},{\"include\":\"#method-call\"},{\"include\":\"#known-property-access\"},{\"include\":\"#property-access\"},{\"include\":\"#forall\"},{\"include\":\"#exists\"},{\"include\":\"#implies\"},{\"include\":\"#operator-overrides\"},{\"include\":\"#operators\"},{\"include\":\"#scope-punctuation-accessor\"},{\"include\":\"#scope-punctuation-separator-colon\"},{\"include\":\"#scope-punctuation-bracket-square\"},{\"include\":\"#scope-punctuation-separator-comma\"},{\"include\":\"#scope-punctuation-bracket-round\"},{\"include\":\"#scope-punctuation-bracket-curly\"},{\"include\":\"#scope-punctuation-terminator-statement\"},{\"include\":\"#punctuation\"},{\"include\":\"#function-call\"},{\"include\":\"#ident\"},{\"include\":\"#packagename\"},{\"include\":\"#byte\"},{\"include\":\"#char\"}]},\"float\":{\"match\":\"0[Xx]\\\\h[_\\\\h]*\\\\.[_\\\\h]*[Pp][-+]?[0-9][0-9_]*F|[0-9][0-9_]*\\\\.[0-9_]*(?:[Ee][-+]?[0-9][0-9_]*)?F\",\"name\":\"constant.numeric.float.moonbit\"},\"fn-definition\":{\"captures\":{\"1\":{\"name\":\"storage.type.function.moonbit\"},\"2\":{\"name\":\"entity.name.function.moonbit\"}},\"match\":\"\\\\b(fn)\\\\s+([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)\"},\"forall\":{\"match\":\"∀\",\"name\":\"keyword.operator.quantifier.moonbit\"},\"function-call\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.moonbit\"}},\"match\":\"([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)(?=\\\\s*\\\\()\"},\"ident\":{\"match\":\"[_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*\",\"name\":\"variable.other.readwrite.moonbit\"},\"implies\":{\"match\":\"→\",\"name\":\"keyword.operator.logical.implication.moonbit\"},\"int\":{\"match\":\"(?:0[Xx]\\\\h[_\\\\h]*|0[Oo][0-7][0-7_]*|0[Bb][01][01_]*|[0-9][0-9_]*)(?:UL|[LNU])?\",\"name\":\"constant.numeric.integer.moonbit\"},\"known-property-access\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.moonbit\"},\"2\":{\"name\":\"keyword.operator.range.moonbit\"}},\"match\":\"(?<=[])\\\\w])(\\\\.)\\\\s*(\\\\.(?:|=|<=??|\\\\.))\\\\b\"},\"let-destructure\":{\"begin\":\"\\\\b(let)\\\\s+(?=[\\\\[{])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.moonbit\"}},\"end\":\"(?<=[]}])\",\"patterns\":[{\"include\":\"#mut-bind-object\"},{\"include\":\"#mut-bind-array\"}]},\"lexmatchquestion\":{\"match\":\"lexmatch\\\\?\",\"name\":\"keyword.control.conditional.moonbit\"},\"linecomment\":{\"match\":\"//[^\\\\n]*\",\"name\":\"comment.line.double-slash.moonbit\"},\"method-call\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.moonbit\"},\"2\":{\"name\":\"entity.name.function.moonbit\"}},\"match\":\"(?<=[])\\\\w])(\\\\.)\\\\s*([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)(?=\\\\s*\\\\()\"},\"moonbit-impl-header\":{\"begin\":\"\\\\b(impl)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.moonbit\"}},\"end\":\"(?=\\\\bwith\\\\b|[;{]|$)\",\"name\":\"meta.impl.header.moonbit\",\"patterns\":[{\"match\":\"\\\\b(for)\\\\b\",\"name\":\"keyword.other.impl.moonbit\"},{\"include\":\"#type-inner\"},{\"include\":\"$self\"}]},\"moonbit-interpolation-braces\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.moonbit\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.moonbit\"}},\"patterns\":[{\"include\":\"#moonbit-interpolation-braces\"},{\"include\":\"$self\"}]},\"multilineinterp\":{\"begin\":\"\\\\$\\\\|\",\"beginCaptures\":{\"0\":{\"name\":\"string.quoted.other.multiline.interpolated.moonbit punctuation.definition.string.begin.moonbit\"}},\"end\":\"$\",\"patterns\":[{\"begin\":\"\\\\\\\\\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.moonbit\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.moonbit\"}},\"name\":\"meta.embedded.expression.moonbit\",\"patterns\":[{\"include\":\"#moonbit-interpolation-braces\"},{\"include\":\"$self\"}]},{\"match\":\"(?:\\\\\\\\(?!\\\\{)|[^\\\\n\\\\\\\\])+\",\"name\":\"string.quoted.other.multiline.interpolated.moonbit\"}]},\"multilinestring\":{\"match\":\"#\\\\|[^\\\\n]*\",\"name\":\"string.quoted.other.multiline.moonbit\"},\"mut-bind-array\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.moonbit\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.moonbit\"}},\"patterns\":[{\"include\":\"#mut-bind-elem\"}]},\"mut-bind-elem\":{\"patterns\":[{\"match\":\"(\\\\.\\\\.\\\\.)\",\"name\":\"keyword.operator.rest.moonbit\"},{\"include\":\"#bind-default\"},{\"include\":\"#mut-bind-object\"},{\"include\":\"#mut-bind-array\"},{\"match\":\"([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)\",\"name\":\"variable.other.readwrite.moonbit\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.moonbit\"}]},\"mut-bind-object\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.moonbit\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.moonbit\"}},\"patterns\":[{\"include\":\"#mut-bind-prop\"}]},\"mut-bind-prop\":{\"patterns\":[{\"match\":\"(\\\\.\\\\.\\\\.)\",\"name\":\"keyword.operator.rest.moonbit\"},{\"captures\":{\"1\":{\"name\":\"variable.object.property.moonbit\"},\"3\":{\"name\":\"punctuation.destructuring.moonbit\"}},\"match\":\"([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)(\\\\s*)(:)\"},{\"include\":\"#bind-default\"},{\"include\":\"#mut-bind-object\"},{\"include\":\"#mut-bind-array\"},{\"match\":\"([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)\",\"name\":\"variable.other.readwrite.moonbit\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.moonbit\"}]},\"object-method-key\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.moonbit\"}},\"match\":\"([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)(?=\\\\s*:\\\\s*(?:\\\\w+\\\\s+)?\\\\()\"},\"operator-overrides\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.range.moonbit\"},\"2\":{\"name\":\"keyword.operator.range.moonbit\"},\"3\":{\"name\":\"keyword.operator.range.moonbit\"},\"4\":{\"name\":\"keyword.operator.range.moonbit\"},\"5\":{\"name\":\"keyword.operator.range.moonbit\"},\"6\":{\"name\":\"keyword.operator.range.moonbit\"},\"7\":{\"name\":\"keyword.operator.range.moonbit\"},\"8\":{\"name\":\"keyword.operator.comparison.moonbit\"},\"9\":{\"name\":\"keyword.operator.assignment.moonbit\"},\"10\":{\"name\":\"keyword.operator.assignment.moonbit\"},\"11\":{\"name\":\"keyword.operator.assignment.moonbit\"},\"12\":{\"name\":\"keyword.operator.assignment.moonbit\"},\"13\":{\"name\":\"keyword.operator.assignment.moonbit\"},\"14\":{\"name\":\"keyword.operator.pipe.moonbit\"},\"15\":{\"name\":\"keyword.operator.pipe.moonbit\"},\"16\":{\"name\":\"keyword.operator.logical.moonbit\"},\"17\":{\"name\":\"keyword.operator.logical.moonbit\"},\"18\":{\"name\":\"keyword.operator.comparison.moonbit\"},\"19\":{\"name\":\"keyword.operator.comparison.moonbit\"},\"20\":{\"name\":\"keyword.operator.comparison.moonbit\"},\"21\":{\"name\":\"keyword.operator.comparison.moonbit\"},\"22\":{\"name\":\"keyword.operator.bitwise.moonbit\"},\"23\":{\"name\":\"keyword.operator.bitwise.moonbit\"},\"24\":{\"name\":\"keyword.operator.bitwise.moonbit\"},\"25\":{\"name\":\"keyword.operator.arithmetic.moonbit\"},\"26\":{\"name\":\"keyword.operator.assignment.moonbit\"},\"27\":{\"name\":\"keyword.operator.arithmetic.moonbit\"},\"28\":{\"name\":\"keyword.operator.bitwise.moonbit\"},\"29\":{\"name\":\"keyword.operator.bitwise.moonbit\"},\"30\":{\"name\":\"keyword.operator.comparison.moonbit\"},\"31\":{\"name\":\"keyword.operator.comparison.moonbit\"},\"32\":{\"name\":\"keyword.operator.arithmetic.moonbit\"},\"33\":{\"name\":\"keyword.operator.arithmetic.moonbit\"},\"34\":{\"name\":\"keyword.operator.arithmetic.moonbit\"}},\"match\":\"(\\\\.\\\\.<=)|(>=\\\\.\\\\.)|(\\\\.\\\\.\\\\.)|(\\\\.\\\\.<)|(\\\\.\\\\.=)|(>\\\\.\\\\.)|(\\\\.\\\\.)|(=~)|(\\\\+=)|(-=)|(\\\\*=)|(/=)|(%=)|(\\\\|>)|(<\\\\|)|(\\\\|\\\\|)|(&&)|(==)|(!=)|(<=)|(>=)|(<<)|(>>)|(&)|(\\\\+)|(=)|(-)|(\\\\|)|(\\\\^)|(<)|(>)|(\\\\*)|(/)|(%)\"},\"operators\":{\"match\":\"!\",\"name\":\"keyword.operator.moonbit\"},\"packagename\":{\"match\":\"@[A-Z_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*(?:/[A-Z_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)*\",\"name\":\"entity.name.namespace.moonbit\"},\"prooflabel\":{\"match\":\"proof_(?:require|ensure|invariant|yield|decrease|reasoning|axiomatized)(?=\\\\s*:)\",\"name\":\"keyword.other.proof-label.moonbit\"},\"property-access\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.moonbit\"},\"2\":{\"name\":\"variable.other.property.moonbit\"}},\"match\":\"(?<=[])\\\\w])(\\\\.)\\\\s*([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)\"},\"punctuation\":{\"match\":\"<\\\\+|<\\\\?|[?~]\",\"name\":\"punctuation.moonbit\"},\"regexliteral\":{\"begin\":\"(re)(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"string.regexp.moonbit\"},\"2\":{\"name\":\"string.regexp.moonbit punctuation.definition.string.begin.moonbit\"}},\"end\":\"\\\"|$\",\"endCaptures\":{\"0\":{\"name\":\"string.regexp.moonbit punctuation.definition.string.end.moonbit\"}},\"patterns\":[{\"begin\":\"\\\\\\\\\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.moonbit\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.moonbit\"}},\"name\":\"meta.embedded.expression.moonbit\",\"patterns\":[{\"include\":\"#moonbit-interpolation-braces\"},{\"include\":\"$self\"}]},{\"match\":\"\\\\\\\\(?:[ \\\"'/\\\\\\\\bfnrt]|x\\\\h{2}|o[0-3][0-7]{2}|u\\\\h{4}|u\\\\{\\\\h+}|.)\",\"name\":\"constant.character.escape.moonbit\"},{\"match\":\"(?:\\\\\\\\(?!\\\\{)|[^\\\"\\\\\\\\])+\",\"name\":\"string.regexp.moonbit\"}]},\"scope-constant-language-boolean-false\":{\"match\":\"\\\\b(false)\\\\b\",\"name\":\"constant.language.boolean.false.moonbit\"},\"scope-constant-language-boolean-true\":{\"match\":\"\\\\b(true)\\\\b\",\"name\":\"constant.language.boolean.true.moonbit\"},\"scope-keyword-control-conditional\":{\"match\":\"\\\\b(if|else|guard|match|lexmatch)\\\\b\",\"name\":\"keyword.control.conditional.moonbit\"},\"scope-keyword-control-exception\":{\"match\":\"\\\\b(try|catch)\\\\b\",\"name\":\"keyword.control.exception.moonbit\"},\"scope-keyword-control-flow\":{\"match\":\"\\\\b(raise|throw|return|defer)\\\\b\",\"name\":\"keyword.control.flow.moonbit\"},\"scope-keyword-control-import\":{\"match\":\"\\\\b(import|using)\\\\b\",\"name\":\"keyword.control.import.moonbit\"},\"scope-keyword-control-loop-break\":{\"match\":\"\\\\b(break)\\\\b(?=\\\\s+[\\\"(@\\\\[_{[:alpha:]\\\\d]|\\\\s*$|\\\\s*[\\\"(\\\\[{])\",\"name\":\"keyword.control.loop.moonbit\"},\"scope-keyword-control-loop-continue\":{\"match\":\"\\\\b(continue)\\\\b(?=\\\\s+[\\\"(@\\\\[_{[:alpha:]\\\\d]|\\\\s*$|\\\\s*[\\\"(\\\\[{])\",\"name\":\"keyword.control.loop.moonbit\"},\"scope-keyword-control-loop-for\":{\"match\":\"\\\\b(for)\\\\b(?=\\\\s+[\\\"(@\\\\[_{[:alpha:]\\\\d]|\\\\s*$|\\\\s*[\\\"(\\\\[{])\",\"name\":\"keyword.control.loop.moonbit\"},\"scope-keyword-control-loop-in\":{\"match\":\"\\\\b(in)\\\\b(?=\\\\s+[\\\"(@\\\\[_{[:alpha:]\\\\d]|\\\\s*$|\\\\s*[\\\"(\\\\[{])\",\"name\":\"keyword.control.loop.moonbit\"},\"scope-keyword-control-loop-loop\":{\"match\":\"\\\\b(loop)\\\\b(?=\\\\s+[\\\"(@\\\\[_{[:alpha:]\\\\d]|\\\\s*$|\\\\s*[\\\"(\\\\[{])\",\"name\":\"keyword.control.loop.moonbit\"},\"scope-keyword-control-loop-while\":{\"match\":\"\\\\b(while)\\\\b(?=\\\\s+[\\\"(@\\\\[_{[:alpha:]\\\\d]|\\\\s*$|\\\\s*[\\\"(\\\\[{])\",\"name\":\"keyword.control.loop.moonbit\"},\"scope-keyword-control-proof\":{\"match\":\"\\\\b(proof_(?:assert|let))\\\\b\",\"name\":\"keyword.control.proof.moonbit\"},\"scope-keyword-operator-expression-as\":{\"match\":\"\\\\b(as)\\\\b(?=\\\\s+[\\\"(@\\\\[_{[:alpha:]\\\\d]|\\\\s*$)\",\"name\":\"keyword.operator.expression.moonbit\"},\"scope-keyword-operator-expression-is\":{\"match\":\"\\\\b(is)\\\\b(?=\\\\s+[\\\"(@\\\\[_{[:alpha:]\\\\d]|\\\\s*$)\",\"name\":\"keyword.operator.expression.moonbit\"},\"scope-keyword-operator-expression-not\":{\"match\":\"\\\\b(not)\\\\b(?=\\\\s+[\\\"(@\\\\[_{[:alpha:]\\\\d]|\\\\s*$)\",\"name\":\"keyword.operator.expression.moonbit\"},\"scope-keyword-other\":{\"match\":\"\\\\b(_|Unit|Bool|Byte|Char|Int|Int64|UInt|UInt64|Float|Double|String|Bytes|Array|FixedArray|Option|Result|Json|where|with|all|open|derive|and)\\\\b\",\"name\":\"keyword.other.moonbit\"},\"scope-punctuation-accessor\":{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor.moonbit\"},\"scope-punctuation-bracket-curly\":{\"match\":\"[{}]\",\"name\":\"punctuation.bracket.curly.moonbit\"},\"scope-punctuation-bracket-round\":{\"match\":\"[()]\",\"name\":\"punctuation.bracket.round.moonbit\"},\"scope-punctuation-bracket-square\":{\"match\":\"[]\\\\[]\",\"name\":\"punctuation.bracket.square.moonbit\"},\"scope-punctuation-separator-colon\":{\"match\":\":\",\"name\":\"punctuation.separator.colon.moonbit\"},\"scope-punctuation-separator-comma\":{\"match\":\",\",\"name\":\"punctuation.separator.comma.moonbit\"},\"scope-punctuation-terminator-statement\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.moonbit\"},\"scope-storage-modifier\":{\"match\":\"\\\\b(async|pub|priv|readonly|extern)\\\\b\",\"name\":\"storage.modifier.moonbit\"},\"scope-storage-modifier-accessibility\":{\"match\":\"\\\\b(noraise|mut|nobreak|declare)\\\\b(?=\\\\s+(?:\\\\.\\\\.\\\\.|[\\\"#'*0-9\\\\[_{[:alpha:]]))\",\"name\":\"storage.modifier.moonbit\"},\"scope-storage-type\":{\"match\":\"\\\\b(let|const|letrec|type|struct|enum|extenum|suberror|enumview|typealias|traitalias|fnalias|trait|impl|test)\\\\b\",\"name\":\"storage.type.moonbit\"},\"scope-storage-type-function\":{\"match\":\"\\\\b(fn|predicate|lemma)\\\\b\",\"name\":\"storage.type.function.moonbit\"},\"scope-storage-type-function-arrow\":{\"match\":\"[-=]>\",\"name\":\"storage.type.function.arrow.moonbit\"},\"simple-type\":{\"match\":\"[_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*\",\"name\":\"entity.name.type.moonbit\"},\"string-double\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"string.quoted.double.moonbit punctuation.definition.string.begin.moonbit\"}},\"end\":\"\\\"|$\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.double.moonbit punctuation.definition.string.end.moonbit\"}},\"patterns\":[{\"begin\":\"\\\\\\\\\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.moonbit\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.moonbit\"}},\"name\":\"meta.embedded.expression.moonbit\",\"patterns\":[{\"include\":\"#moonbit-interpolation-braces\"},{\"include\":\"$self\"}]},{\"match\":\"\\\\\\\\(?:[ \\\"'/\\\\\\\\bfnrt]|x\\\\h{2}|o[0-3][0-7]{2}|u\\\\h{4}|u\\\\{\\\\h+}|.)\",\"name\":\"constant.character.escape.moonbit\"},{\"match\":\"[^\\\"\\\\\\\\]+\",\"name\":\"string.quoted.double.moonbit\"}]},\"string-single\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.moonbit\"}},\"end\":\"'|$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.moonbit\"}},\"name\":\"string.quoted.single.moonbit\",\"patterns\":[{\"match\":\"\\\\\\\\(?:[ \\\"'/\\\\\\\\bfnrt]|x\\\\h{2}|o[0-3][0-7]{2}|u\\\\h{4}|u\\\\{\\\\h+}|.)\",\"name\":\"constant.character.escape.moonbit\"}]},\"ternary-expression\":{\"begin\":\"(\\\\?)(?!:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.moonbit\"}},\"end\":\"(:)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.moonbit\"}},\"name\":\"meta.ternary-expression.moonbit\",\"patterns\":[{\"include\":\"#ternary-expression\"},{\"include\":\"$self\"}]},\"trybang\":{\"match\":\"try!\",\"name\":\"keyword.control.exception.moonbit\"},\"tryquestion\":{\"match\":\"try\\\\?\",\"name\":\"keyword.control.exception.moonbit\"},\"type-annotation-return\":{\"begin\":\"(?<=\\\\))(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.moonbit\"}},\"end\":\"(?=[;{]|=>)\",\"name\":\"meta.type.annotation.return.moonbit\",\"patterns\":[{\"include\":\"#type-inner\"}]},\"type-annotation-var\":{\"begin\":\"\\\\b(let|const|letrec|type|struct|enum|extenum|suberror|enumview|typealias|traitalias|fnalias|trait|impl|test)\\\\s+([_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)(\\\\s*:)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.moonbit\"},\"2\":{\"name\":\"variable.other.moonbit\"},\"3\":{\"name\":\"keyword.operator.type.annotation.moonbit\"}},\"end\":\"(?=[,;=])|^\\\\s*(?=if|else|match|guard|lexmatch|for|while|loop|in|break|continue|return|throw|defer|try|catch|import|using|fn|predicate|lemma|let|letrec|const|type|struct|enum|enumview|extenum|trait|impl|typealias|traitalias|fnalias|suberror|test|pub|priv|readonly|extern|mut|declare|nobreak|proof_assert|proof_let)\\\\b\",\"name\":\"meta.type.annotation.moonbit\",\"patterns\":[{\"include\":\"#type-inner\"}]},\"type-inner\":{\"patterns\":[{\"include\":\"#type-object-type\"},{\"include\":\"#type-paren\"},{\"include\":\"#uident\"},{\"include\":\"#doccomment\"},{\"include\":\"#linecomment\"},{\"include\":\"#scope-constant-language-boolean-true\"},{\"include\":\"#scope-constant-language-boolean-false\"},{\"include\":\"#scope-keyword-operator-expression-as\"},{\"include\":\"#scope-keyword-operator-expression-is\"},{\"include\":\"#scope-keyword-operator-expression-not\"},{\"include\":\"#simple-type\"},{\"match\":\"\\\\[]\",\"name\":\"keyword.operator.type.array.moonbit\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.moonbit\"}]},\"type-object-member\":{\"begin\":\"(#?[_a-z\\\\x{80}-￿][0-9A-Z_a-z\\\\x{80}-￿]*)(\\\\??)(\\\\s*:)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.object.property.moonbit\"},\"2\":{\"name\":\"keyword.operator.optional.moonbit\"},\"3\":{\"name\":\"keyword.operator.type.annotation.moonbit\"}},\"end\":\"(?=[,;}])\",\"name\":\"meta.type.annotation.member.moonbit\",\"patterns\":[{\"include\":\"#type-inner\"}]},\"type-object-type\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.moonbit\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.moonbit\"}},\"name\":\"meta.object-type.moonbit\",\"patterns\":[{\"include\":\"#type-object-member\"},{\"include\":\"#type-inner\"},{\"match\":\";\",\"name\":\"punctuation.separator.moonbit\"}]},\"type-paren\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#type-inner\"}]},\"uident\":{\"match\":\"[A-Z][0-9A-Z_a-z]*\\\\??\",\"name\":\"entity.name.type.moonbit\"}},\"scopeName\":\"source.moonbit\",\"aliases\":[\"mbt\",\"mbti\"]}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"MoonBit\",\"fileTypes\":[\"mbt\",\"mbtx\"],\"name\":\"moonbit\",\"patterns\":[{\"include\":\"#strings\"},{\"include\":\"#comments\"},{\"include\":\"#constants\"},{\"include\":\"#keywords\"},{\"include\":\"#functions\"},{\"include\":\"#support\"},{\"include\":\"#attribute\"},{\"include\":\"#types\"},{\"include\":\"#modules\"},{\"include\":\"#variables\"}],\"repository\":{\"attribute\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.directive\"},\"2\":{\"patterns\":[{\"include\":\"#strings\"},{\"match\":\"[ .0-9A-Z_a-z]+\",\"name\":\"entity.name.tag\"},{\"match\":\"=\",\"name\":\"keyword.operator.attribute.moonbit\"}]}},\"match\":\"(#[a-z][ .0-9A-Z_a-z]*)(.*)\"}]},\"comments\":{\"patterns\":[{\"match\":\"//[^/].*\",\"name\":\"comment.line\"},{\"begin\":\"///\",\"name\":\"comment.block.documentation.moonbit\",\"patterns\":[{\"begin\":\"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(mbt\\\\s+test|mbt\\\\s+test(async)|mbt|moonbit\\\\s+test|moonbit\\\\s+test(async)|moonbit|)(\\\\s+[^`~]*)?$)\",\"beginCaptures\":{\"3\":{\"name\":\"punctuation.definition.markdown\"},\"5\":{\"name\":\"fenced_code.block.language\"},\"6\":{\"name\":\"fenced_code.block.language.attributes\"}},\"end\":\"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$\",\"endCaptures\":{\"3\":{\"name\":\"punctuation.definition.markdown\"}},\"name\":\"markup.fenced_code.block.markdown\",\"patterns\":[{\"begin\":\"(^|\\\\G)(\\\\s*)(.*)\",\"contentName\":\"meta.embedded.block.moonbit\",\"patterns\":[{\"include\":\"$self\"}],\"while\":\"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)\"}]}],\"while\":\"///\"}]},\"constants\":{\"patterns\":[{\"match\":\"\\\\b\\\\d([_\\\\d])*(?!\\\\.)((U)?(L)?|N?)\\\\b\",\"name\":\"constant.numeric.moonbit\"},{\"match\":\"(?<=\\\\.)\\\\d((?=\\\\.)|\\\\b)\",\"name\":\"constant.numeric.moonbit\"},{\"match\":\"\\\\b\\\\d+(?=\\\\.\\\\.)\",\"name\":\"constant.numeric.moonbit\"},{\"match\":\"\\\\b\\\\d[_\\\\d]*\\\\.[_\\\\d]*([Ee][-+]?\\\\d[_\\\\d]*\\\\b)?\",\"name\":\"constant.numeric.moonbit\"},{\"match\":\"\\\\b0[Oo][0-7][0-7]*((U)?(L)?|N?)\\\\b\",\"name\":\"constant.numeric.moonbit\"},{\"match\":\"\\\\b0[Xx][A-Fa-f\\\\d][A-F_a-f\\\\d]*(([LU]|UL|N)\\\\b|\\\\.[A-F_a-f\\\\d]*([Pp][-+]?[A-F_a-f\\\\d]+\\\\b)?)?\",\"name\":\"constant.numeric.moonbit\"},{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.moonbit\"}]},\"escape\":{\"patterns\":[{\"match\":\"\\\\\\\\[\\\"'0\\\\\\\\bnrt]\",\"name\":\"constant.character.escape.moonbit\"},{\"match\":\"\\\\\\\\x\\\\h{2}\",\"name\":\"constant.character.escape.moonbit\"},{\"match\":\"\\\\\\\\o[0-3][0-7]{2}\",\"name\":\"constant.character.escape.moonbit\"},{\"match\":\"\\\\\\\\u\\\\h{4}\",\"name\":\"constant.character.escape.unicode.moonbit\"},{\"match\":\"\\\\\\\\u\\\\{\\\\h*}\",\"name\":\"constant.character.escape.unicode.moonbit\"}]},\"functions\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.moonbit\"},\"2\":{\"name\":\"entity.name.type.moonbit\"},\"3\":{\"name\":\"entity.name.function.moonbit\"}},\"match\":\"\\\\b(fn)\\\\b\\\\s*(?:([A-Z][0-9A-Z_a-z]*)::)?([0-9_a-z][0-9A-Z_a-z]*)?\\\\b\"},{\"begin\":\"(?!\\\\bfn\\\\s+)(?:\\\\.|::)?([0-9_a-z][0-9A-Z_a-z]*([!?]|!!)?)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.moonbit\"},\"2\":{\"name\":\"punctuation.brackets.round.moonbit\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.brackets.round.moonbit\"}},\"name\":\"meta.function.call.moonbit\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#constants\"},{\"include\":\"#keywords\"},{\"include\":\"#functions\"},{\"include\":\"#support\"},{\"include\":\"#types\"},{\"include\":\"#modules\"},{\"include\":\"#strings\"},{\"include\":\"#variables\"}]}]},\"interpolation\":{\"patterns\":[{\"begin\":\"\\\\\\\\\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.moonbit\"}},\"contentName\":\"source.moonbit\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.moonbit\"}},\"name\":\"meta.embedded.line.moonbit\",\"patterns\":[{\"include\":\"#interpolation-braces\"},{\"include\":\"$self\"}]}]},\"interpolation-braces\":{\"patterns\":[{\"begin\":\"\\\\{\",\"end\":\"}\",\"patterns\":[{\"include\":\"#interpolation-braces\"},{\"include\":\"$self\"}]}]},\"keywords\":{\"patterns\":[{\"match\":\"\\\\b(async)\\\\b\",\"name\":\"keyword.control.moonbit.async\"},{\"match\":\"\\\\b(guard|if|while|break|continue|return|try|catch|except|raise|noraise|nocancel|nobreak|match|lexmatch|lexscan|using|else|as|in|is|loop|for|async|defer|errdefer)\\\\b\",\"name\":\"keyword.control.moonbit\"},{\"match\":\"\\\\b(type!|(type|let|const|enum|extenum|struct|import|trait|derive|test|impl|with|recur|suberror|letrec|and|where|declare)\\\\b)\",\"name\":\"keyword.moonbit\"},{\"match\":\"\\\\b(mut|pub|priv|readonly|extern)\\\\b\",\"name\":\"storage.modifier.moonbit\"},{\"match\":\"->\",\"name\":\"storage.type.function.arrow.moonbit\"},{\"match\":\"=>\",\"name\":\"storage.type.function.arrow.moonbit\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.moonbit\"},{\"match\":\"\\\\|>\",\"name\":\"keyword.operator.other.moonbit\"},{\"match\":\"(===?|!=|>=|<=|(?<!-)(?<!\\\\|)>(?!>)|<(?!<))\",\"name\":\"keyword.operator.comparison.moonbit\"},{\"match\":\"(\\\\bnot\\\\b|&&|\\\\|\\\\|)\",\"name\":\"keyword.operator.logical.moonbit\"},{\"match\":\"(\\\\|(?!\\\\|)(?!>)|&(?!&)|\\\\^|<<|>>)\",\"name\":\"keyword.operator.bitwise.moonbit\"},{\"match\":\"(\\\\+|-(?!>)|[%*/])\",\"name\":\"keyword.operator.math.moonbit\"}]},\"modules\":{\"patterns\":[{\"match\":\"@[A-Za-z][-/-9A-Z_a-z]*\",\"name\":\"entity.name.namespace.moonbit\"}]},\"strings\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.other.moonbit\"}},\"match\":\"(#\\\\|).*\",\"name\":\"string.line\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.other.moonbit\"},\"2\":{\"patterns\":[{\"include\":\"#escape\"},{\"include\":\"#interpolation\"}]}},\"match\":\"(\\\\$\\\\|)(.*)\",\"name\":\"string.line\"},{\"begin\":\"'\",\"end\":\"'\",\"name\":\"string.quoted.single.moonbit\",\"patterns\":[{\"include\":\"#escape\"}]},{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.moonbit\",\"patterns\":[{\"include\":\"#escape\"},{\"include\":\"#interpolation\"}]}]},\"support\":{\"patterns\":[{\"match\":\"\\\\b(Eq|Compare|Hash|Show|Default|ToJson|FromJson)\\\\b\",\"name\":\"support.class.moonbit\"}]},\"types\":{\"patterns\":[{\"match\":\"\\\\b(?<!@)[A-Z][0-9A-Z_a-z]*((\\\\?)+|\\\\b)\",\"name\":\"entity.name.type.moonbit\"}]},\"variables\":{\"patterns\":[{\"match\":\"\\\\b(?<!\\\\.|::)[_a-z][0-9A-Z_a-z]*\\\\b\",\"name\":\"variable.other.moonbit\"}]}},\"scopeName\":\"source.moonbit\",\"aliases\":[\"mbt\",\"mbti\"]}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Nextflow Groovy\",\"foldingStartMarker\":\"(\\\\{\\\\s*$|^\\\\s*// \\\\{\\\\{\\\\{)\",\"foldingStopMarker\":\"^\\\\s*(}|// }}}$)\",\"name\":\"nextflow-groovy\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.groovy\"}},\"match\":\"^(#!).+$\\\\n\",\"name\":\"comment.line.hashbang.groovy\"},{\"include\":\"#groovy\"}],\"repository\":{\"braces\":{\"begin\":\"\\\\{\",\"end\":\"}\",\"patterns\":[{\"include\":\"#groovy-code\"}]},\"closures\":{\"begin\":\"\\\\{(?=.*?->)\",\"end\":\"}\",\"patterns\":[{\"begin\":\"(?<=\\\\{)(?=[^}]*?->)\",\"end\":\"->\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.groovy\"}},\"patterns\":[{\"begin\":\"(?!->)\",\"end\":\"(?=->)\",\"name\":\"meta.closure.parameters.groovy\",\"patterns\":[{\"begin\":\"(?!,|->)\",\"end\":\"(?=,|->)\",\"name\":\"meta.closure.parameter.groovy\",\"patterns\":[{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.groovy\"}},\"end\":\"(?=,|->)\",\"name\":\"meta.parameter.default.groovy\",\"patterns\":[{\"include\":\"#groovy-code\"}]},{\"include\":\"#parameters\"}]}]}]},{\"begin\":\"(?=[^}])\",\"end\":\"(?=})\",\"patterns\":[{\"include\":\"#groovy-code\"}]}]},\"comments\":{\"patterns\":[{\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.groovy\"}},\"match\":\"/\\\\*\\\\*/\",\"name\":\"comment.block.empty.groovy\"},{\"include\":\"text.html.javadoc\"},{\"begin\":\"/\\\\*\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.groovy\"}},\"end\":\"\\\\*/\",\"name\":\"comment.block.groovy\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.groovy\"}},\"match\":\"(//).*$\\\\n?\",\"name\":\"comment.line.double-slash.groovy\"}]},\"constants\":{\"patterns\":[{\"match\":\"\\\\b([A-Z][0-9A-Z_]+)\\\\b\",\"name\":\"constant.other.groovy\"},{\"match\":\"\\\\b(true|false|null)\\\\b\",\"name\":\"constant.language.groovy\"}]},\"constructor-call\":{\"begin\":\"\\\\bnew\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.new.groovy\"}},\"end\":\"(?<=\\\\))|$\",\"patterns\":[{\"begin\":\"(?=\\\\w.*\\\\(?)\",\"end\":\"(?<=\\\\))|$\",\"patterns\":[{\"include\":\"#object-types\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.groovy\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#groovy\"}]}]}]},\"groovy\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#variables\"},{\"include\":\"#groovy-code\"}]},\"groovy-code\":{\"patterns\":[{\"include\":\"#groovy-code-minus-map-keys\"},{\"include\":\"#map-keys\"}]},\"groovy-code-minus-map-keys\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#keyword-language\"},{\"include\":\"#values\"},{\"include\":\"#keyword-operator\"},{\"include\":\"#types\"},{\"include\":\"#parens\"},{\"include\":\"#closures\"},{\"include\":\"#braces\"}]},\"keyword\":{\"patterns\":[{\"include\":\"#keyword-operator\"},{\"include\":\"#keyword-language\"}]},\"keyword-language\":{\"patterns\":[{\"match\":\"\\\\b(try|catch|throw)\\\\b\",\"name\":\"keyword.control.exception.groovy\"},{\"match\":\"\\\\b((?<!\\\\.)(?:return|if|else))\\\\b\",\"name\":\"keyword.control.groovy\"},{\"begin\":\"\\\\b(assert)\\\\s\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.assert.groovy\"}},\"end\":\"$|[;}]\",\"name\":\"meta.declaration.assertion.groovy\",\"patterns\":[{\"match\":\":\",\"name\":\"keyword.operator.assert.expression-seperator.groovy\"},{\"include\":\"#groovy-code-minus-map-keys\"}]}]},\"keyword-operator\":{\"patterns\":[{\"match\":\"\\\\b(as)\\\\b\",\"name\":\"keyword.operator.as.groovy\"},{\"match\":\"\\\\b(in)\\\\b\",\"name\":\"keyword.operator.in.groovy\"},{\"match\":\"\\\\?:\",\"name\":\"keyword.operator.elvis.groovy\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.operator.range.groovy\"},{\"match\":\"->\",\"name\":\"keyword.operator.arrow.groovy\"},{\"match\":\"<<\",\"name\":\"keyword.operator.leftshift.groovy\"},{\"match\":\"(?<=\\\\S)\\\\.(?=\\\\S)\",\"name\":\"keyword.operator.navigation.groovy\"},{\"match\":\"(?<=\\\\S)\\\\?\\\\.(?=\\\\S)\",\"name\":\"keyword.operator.safe-navigation.groovy\"},{\"begin\":\"\\\\?\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.groovy\"}},\"end\":\"(?=$|[])}])\",\"name\":\"meta.evaluation.ternary.groovy\",\"patterns\":[{\"match\":\":\",\"name\":\"keyword.operator.ternary.expression-seperator.groovy\"},{\"include\":\"#groovy-code-minus-map-keys\"}]},{\"match\":\"==~\",\"name\":\"keyword.operator.match.groovy\"},{\"match\":\"=~\",\"name\":\"keyword.operator.find.groovy\"},{\"match\":\"\\\\b(instanceof)\\\\b\",\"name\":\"keyword.operator.instanceof.groovy\"},{\"match\":\"(==|!=|<=|>=|<=>|<>|[<>]|<<)\",\"name\":\"keyword.operator.comparison.groovy\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.groovy\"},{\"match\":\"(--|\\\\+\\\\+)\",\"name\":\"keyword.operator.increment-decrement.groovy\"},{\"match\":\"([-%*+/])\",\"name\":\"keyword.operator.arithmetic.groovy\"},{\"match\":\"(!|&&|\\\\|\\\\|)\",\"name\":\"keyword.operator.logical.groovy\"}]},\"map-keys\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.other.key.groovy\"},\"2\":{\"name\":\"punctuation.definition.seperator.key-value.groovy\"}},\"match\":\"(\\\\w+)\\\\s*(:)\"}]},\"method-call\":{\"begin\":\"([$\\\\w]+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.method.groovy\"},\"2\":{\"name\":\"punctuation.definition.method-parameters.begin.groovy\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.method-parameters.end.groovy\"}},\"name\":\"meta.method-call.groovy\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.definition.seperator.parameter.groovy\"},{\"include\":\"#groovy-code\"}]},\"nest-curly\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.groovy\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#nest-curly\"}]},\"numbers\":{\"patterns\":[{\"match\":\"((0([Xx])\\\\h*)|([-+])?\\\\b(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\\\b\",\"name\":\"constant.numeric.groovy\"}]},\"object-types\":{\"patterns\":[{\"begin\":\"\\\\b((?:[a-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL]))<\",\"end\":\"[>[^],<?\\\\[\\\\w\\\\s]]\",\"name\":\"storage.type.generic.groovy\",\"patterns\":[{\"include\":\"#object-types\"},{\"begin\":\"<\",\"end\":\"[>[^],<\\\\[\\\\w\\\\s]]\",\"name\":\"storage.type.generic.groovy\"}]},{\"match\":\"\\\\b(?:[A-Za-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL])\\\\b\",\"name\":\"storage.type.groovy\"}]},\"parameters\":{\"patterns\":[{\"include\":\"#types\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.method.groovy\"}]},\"parens\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#groovy-code\"}]},\"primitive-types\":{\"patterns\":[{\"match\":\"\\\\b(?:boolean|byte|char|short|int|float|long|double)\\\\b\",\"name\":\"storage.type.primitive.groovy\"}]},\"string-quoted-double\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.groovy\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.groovy\"}},\"name\":\"string.quoted.double.groovy\",\"patterns\":[{\"include\":\"#string-quoted-double-contents\"}]},\"string-quoted-double-contents\":{\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.groovy\"},{\"applyEndPatternLast\":1,\"begin\":\"\\\\$\\\\w\",\"end\":\"(?=\\\\W)\",\"name\":\"variable.other.interpolated.groovy\",\"patterns\":[{\"match\":\"\\\\w\",\"name\":\"variable.other.interpolated.groovy\"},{\"match\":\"\\\\.\",\"name\":\"keyword.other.dereference.groovy\"}]},{\"begin\":\"\\\\$\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.embedded.groovy\"}},\"end\":\"}\",\"name\":\"source.groovy.embedded.source\",\"patterns\":[{\"include\":\"#nest-curly\"}]}]},\"string-quoted-double-multiline\":{\"begin\":\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.groovy\"}},\"end\":\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.groovy\"}},\"name\":\"string.quoted.double.multiline.groovy\",\"patterns\":[{\"include\":\"#string-quoted-double-contents\"}]},\"string-quoted-single\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.groovy\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.groovy\"}},\"name\":\"string.quoted.single.groovy\",\"patterns\":[{\"include\":\"#string-quoted-single-contents\"}]},\"string-quoted-single-contents\":{\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.groovy\"}]},\"string-quoted-single-multiline\":{\"begin\":\"'''\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.groovy\"}},\"end\":\"'''\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.groovy\"}},\"name\":\"string.quoted.single.multiline.groovy\",\"patterns\":[{\"include\":\"#string-quoted-single-contents\"}]},\"string-slashy\":{\"patterns\":[{\"begin\":\"/(?=[^/]+/([^>]|$))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.regexp.begin.groovy\"}},\"end\":\"/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.regexp.end.groovy\"}},\"name\":\"string.regexp.groovy\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.groovy\"}]},{\"begin\":\"~\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.regexp.begin.groovy\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.regexp.end.groovy\"}},\"name\":\"string.regexp.compiled.groovy\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.groovy\"}]}]},\"strings\":{\"patterns\":[{\"include\":\"#string-quoted-double-multiline\"},{\"include\":\"#string-quoted-single-multiline\"},{\"include\":\"#string-quoted-double\"},{\"include\":\"#string-quoted-single\"},{\"include\":\"#string-slashy\"}]},\"structures\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.structure.begin.groovy\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.structure.end.groovy\"}},\"name\":\"meta.structure.groovy\",\"patterns\":[{\"include\":\"#groovy-code\"},{\"match\":\",\",\"name\":\"punctuation.definition.separator.groovy\"}]},\"types\":{\"patterns\":[{\"match\":\"\\\\b(def)\\\\b\",\"name\":\"storage.type.def.groovy\"},{\"include\":\"#primitive-types\"},{\"include\":\"#object-types\"}]},\"values\":{\"patterns\":[{\"include\":\"#strings\"},{\"include\":\"#numbers\"},{\"include\":\"#constants\"},{\"include\":\"#types\"},{\"include\":\"#structures\"},{\"include\":\"#method-call\"},{\"include\":\"#constructor-call\"}]},\"variables\":{\"patterns\":[{\"applyEndPatternLast\":1,\"begin\":\"(?=(?:def|(?:boolean|byte|char|short|int|float|long|double)|(?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)\\\\s+[],<>\\\\[_\\\\w\\\\d\\\\s]+(?:=|$))\",\"end\":\";|$\",\"name\":\"meta.definition.variable.groovy\",\"patterns\":[{\"match\":\"\\\\s\"},{\"captures\":{\"1\":{\"name\":\"constant.variable.groovy\"}},\"match\":\"([0-9A-Z_]+)\\\\s+(?==)\"},{\"captures\":{\"1\":{\"name\":\"meta.definition.variable.name.groovy\"}},\"match\":\"(\\\\w[^,\\\\s]*)\\\\s+(?==)\"},{\"captures\":{\"1\":{\"name\":\"storage.type.groovy\"}},\"match\":\": (\\\\w+)\",\"patterns\":[{\"include\":\"#types\"}]},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.groovy\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#groovy-code\"}]},{\"captures\":{\"1\":{\"name\":\"meta.definition.variable.name.groovy\"}},\"match\":\"(\\\\w[^=\\\\s]*)(?=\\\\s*($|;))\"},{\"include\":\"#groovy-code\"}]}]}},\"scopeName\":\"source.nextflow-groovy\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Nextflow Groovy\",\"foldingStartMarker\":\"(\\\\{\\\\s*$|^\\\\s*// \\\\{\\\\{\\\\{)\",\"foldingStopMarker\":\"^\\\\s*(}|// }}}$)\",\"name\":\"nextflow-groovy\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.groovy\"}},\"match\":\"^(#!).+$\\\\n\",\"name\":\"comment.line.hashbang.groovy\"},{\"include\":\"#groovy\"}],\"repository\":{\"braces\":{\"begin\":\"\\\\{\",\"end\":\"}\",\"patterns\":[{\"include\":\"#groovy-code\"}]},\"closures\":{\"begin\":\"\\\\{(?=.*?->)\",\"end\":\"}\",\"patterns\":[{\"begin\":\"(?<=\\\\{)(?=[^}]*?->)\",\"end\":\"->\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.groovy\"}},\"patterns\":[{\"begin\":\"(?!->)\",\"end\":\"(?=->)\",\"name\":\"meta.closure.parameters.groovy\",\"patterns\":[{\"begin\":\"(?!,|->)\",\"end\":\"(?=,|->)\",\"name\":\"meta.closure.parameter.groovy\",\"patterns\":[{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.groovy\"}},\"end\":\"(?=,|->)\",\"name\":\"meta.parameter.default.groovy\",\"patterns\":[{\"include\":\"#groovy-code\"}]},{\"include\":\"#parameters\"}]}]}]},{\"begin\":\"(?=[^}])\",\"end\":\"(?=})\",\"patterns\":[{\"include\":\"#groovy-code\"}]}]},\"comments\":{\"patterns\":[{\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.groovy\"}},\"match\":\"/\\\\*\\\\*/\",\"name\":\"comment.block.empty.groovy\"},{\"include\":\"text.html.javadoc\"},{\"begin\":\"/\\\\*\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.groovy\"}},\"end\":\"\\\\*/\",\"name\":\"comment.block.groovy\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.groovy\"}},\"match\":\"(//).*$\\\\n?\",\"name\":\"comment.line.double-slash.groovy\"}]},\"constants\":{\"patterns\":[{\"match\":\"\\\\b([A-Z][0-9A-Z_]+)\\\\b\",\"name\":\"constant.other.groovy\"},{\"match\":\"\\\\b(true|false|null)\\\\b\",\"name\":\"constant.language.groovy\"}]},\"constructor-call\":{\"begin\":\"\\\\bnew\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.new.groovy\"}},\"end\":\"(?<=\\\\))|$\",\"patterns\":[{\"begin\":\"(?=\\\\w.*\\\\(?)\",\"end\":\"(?<=\\\\))|$\",\"patterns\":[{\"include\":\"#object-types\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.groovy\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#groovy\"}]}]}]},\"groovy\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#variables\"},{\"include\":\"#groovy-code\"}]},\"groovy-code\":{\"patterns\":[{\"include\":\"#groovy-code-minus-map-keys\"},{\"include\":\"#map-keys\"}]},\"groovy-code-minus-map-keys\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#keyword-language\"},{\"include\":\"#values\"},{\"include\":\"#keyword-operator\"},{\"include\":\"#types\"},{\"include\":\"#parens\"},{\"include\":\"#closures\"},{\"include\":\"#braces\"}]},\"keyword\":{\"patterns\":[{\"include\":\"#keyword-operator\"},{\"include\":\"#keyword-language\"}]},\"keyword-language\":{\"patterns\":[{\"match\":\"\\\\b(try|catch|throw)\\\\b\",\"name\":\"keyword.control.exception.groovy\"},{\"match\":\"\\\\b((?<!\\\\.)(?:return|if|else))\\\\b\",\"name\":\"keyword.control.groovy\"},{\"begin\":\"\\\\b(assert)\\\\s\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.assert.groovy\"}},\"end\":\"$|[;}]\",\"name\":\"meta.declaration.assertion.groovy\",\"patterns\":[{\"match\":\":\",\"name\":\"keyword.operator.assert.expression-seperator.groovy\"},{\"include\":\"#groovy-code-minus-map-keys\"}]}]},\"keyword-operator\":{\"patterns\":[{\"match\":\"\\\\b(as)\\\\b\",\"name\":\"keyword.operator.as.groovy\"},{\"match\":\"\\\\b(in)\\\\b\",\"name\":\"keyword.operator.in.groovy\"},{\"match\":\"\\\\?:\",\"name\":\"keyword.operator.elvis.groovy\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"keyword.operator.range.groovy\"},{\"match\":\"->\",\"name\":\"keyword.operator.arrow.groovy\"},{\"match\":\"<<\",\"name\":\"keyword.operator.leftshift.groovy\"},{\"match\":\"(?<=\\\\S)\\\\.(?=\\\\S)\",\"name\":\"keyword.operator.navigation.groovy\"},{\"match\":\"(?<=\\\\S)\\\\?\\\\.(?=\\\\S)\",\"name\":\"keyword.operator.safe-navigation.groovy\"},{\"begin\":\"\\\\?\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.groovy\"}},\"end\":\"(?=$|[])}])\",\"name\":\"meta.evaluation.ternary.groovy\",\"patterns\":[{\"match\":\":\",\"name\":\"keyword.operator.ternary.expression-seperator.groovy\"},{\"include\":\"#groovy-code-minus-map-keys\"}]},{\"match\":\"==~\",\"name\":\"keyword.operator.match.groovy\"},{\"match\":\"=~\",\"name\":\"keyword.operator.find.groovy\"},{\"match\":\"\\\\b(instanceof)\\\\b\",\"name\":\"keyword.operator.instanceof.groovy\"},{\"match\":\"(==|!=|<=|>=|<=>|<>|[<>]|<<)\",\"name\":\"keyword.operator.comparison.groovy\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.groovy\"},{\"match\":\"(--|\\\\+\\\\+)\",\"name\":\"keyword.operator.increment-decrement.groovy\"},{\"match\":\"([-%*+/])\",\"name\":\"keyword.operator.arithmetic.groovy\"},{\"match\":\"(!|&&|\\\\|\\\\|)\",\"name\":\"keyword.operator.logical.groovy\"}]},\"map-keys\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.other.key.groovy\"},\"2\":{\"name\":\"punctuation.definition.seperator.key-value.groovy\"}},\"match\":\"(\\\\w+)\\\\s*(:)\"}]},\"method-call\":{\"begin\":\"([$\\\\w]+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.method.groovy\"},\"2\":{\"name\":\"punctuation.definition.method-parameters.begin.groovy\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.method-parameters.end.groovy\"}},\"name\":\"meta.method-call.groovy\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.definition.seperator.parameter.groovy\"},{\"include\":\"#groovy-code\"}]},\"nest-curly\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.groovy\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#nest-curly\"}]},\"numbers\":{\"patterns\":[{\"match\":\"((0([Xx])\\\\h*)|([-+])?\\\\b(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\\\b\",\"name\":\"constant.numeric.groovy\"}]},\"object-types\":{\"patterns\":[{\"begin\":\"\\\\b((?:[a-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL]))<\",\"end\":\"[>[^],<?\\\\[\\\\w\\\\s]]\",\"name\":\"storage.type.generic.groovy\",\"patterns\":[{\"include\":\"#object-types\"},{\"begin\":\"<\",\"end\":\"[>[^],<\\\\[\\\\w\\\\s]]\",\"name\":\"storage.type.generic.groovy\"}]},{\"match\":\"\\\\b(?:[A-Za-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL])\\\\b\",\"name\":\"storage.type.groovy\"}]},\"parameters\":{\"patterns\":[{\"include\":\"#types\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.method.groovy\"}]},\"parens\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#groovy-code\"}]},\"primitive-types\":{\"patterns\":[{\"match\":\"\\\\b(?:boolean|byte|char|short|int|float|long|double)\\\\b\",\"name\":\"storage.type.primitive.groovy\"}]},\"string-quoted-double\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.groovy\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.groovy\"}},\"name\":\"string.quoted.double.groovy\",\"patterns\":[{\"include\":\"#string-quoted-double-contents\"}]},\"string-quoted-double-contents\":{\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.groovy\"},{\"applyEndPatternLast\":1,\"begin\":\"\\\\$\\\\w\",\"end\":\"(?=\\\\W)\",\"name\":\"variable.other.interpolated.groovy\",\"patterns\":[{\"match\":\"\\\\w\",\"name\":\"variable.other.interpolated.groovy\"},{\"match\":\"\\\\.\",\"name\":\"keyword.other.dereference.groovy\"}]},{\"begin\":\"\\\\$\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.embedded.groovy\"}},\"end\":\"}\",\"name\":\"source.groovy.embedded.source\",\"patterns\":[{\"include\":\"#nest-curly\"}]}]},\"string-quoted-double-multiline\":{\"begin\":\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.groovy\"}},\"end\":\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.groovy\"}},\"name\":\"string.quoted.double.multiline.groovy\",\"patterns\":[{\"include\":\"#string-quoted-double-contents\"}]},\"string-quoted-single\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.groovy\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.groovy\"}},\"name\":\"string.quoted.single.groovy\",\"patterns\":[{\"include\":\"#string-quoted-single-contents\"}]},\"string-quoted-single-contents\":{\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.groovy\"}]},\"string-quoted-single-multiline\":{\"begin\":\"'''\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.groovy\"}},\"end\":\"'''\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.groovy\"}},\"name\":\"string.quoted.single.multiline.groovy\",\"patterns\":[{\"include\":\"#string-quoted-single-contents\"}]},\"string-slashy\":{\"patterns\":[{\"match\":\"(?<=[]\\\"')}\\\\w])\\\\s*/(?![*/])\",\"name\":\"keyword.operator.arithmetic.groovy\"},{\"begin\":\"/(?=[^/]+/([^>]|$))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.regexp.begin.groovy\"}},\"end\":\"/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.regexp.end.groovy\"}},\"name\":\"string.regexp.groovy\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.groovy\"}]},{\"begin\":\"~\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.regexp.begin.groovy\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.regexp.end.groovy\"}},\"name\":\"string.regexp.compiled.groovy\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.groovy\"}]}]},\"strings\":{\"patterns\":[{\"include\":\"#string-quoted-double-multiline\"},{\"include\":\"#string-quoted-single-multiline\"},{\"include\":\"#string-quoted-double\"},{\"include\":\"#string-quoted-single\"},{\"include\":\"#string-slashy\"}]},\"structures\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.structure.begin.groovy\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.structure.end.groovy\"}},\"name\":\"meta.structure.groovy\",\"patterns\":[{\"include\":\"#groovy-code\"},{\"match\":\",\",\"name\":\"punctuation.definition.separator.groovy\"}]},\"types\":{\"patterns\":[{\"match\":\"\\\\b(def)\\\\b\",\"name\":\"storage.type.def.groovy\"},{\"include\":\"#primitive-types\"},{\"include\":\"#object-types\"}]},\"values\":{\"patterns\":[{\"include\":\"#strings\"},{\"include\":\"#numbers\"},{\"include\":\"#constants\"},{\"include\":\"#types\"},{\"include\":\"#structures\"},{\"include\":\"#method-call\"},{\"include\":\"#constructor-call\"}]},\"variables\":{\"patterns\":[{\"applyEndPatternLast\":1,\"begin\":\"(?=(?:def|(?:boolean|byte|char|short|int|float|long|double)|(?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)\\\\s+[],<>\\\\[_\\\\w\\\\d\\\\s]+(?:=|$))\",\"end\":\";|$\",\"name\":\"meta.definition.variable.groovy\",\"patterns\":[{\"match\":\"\\\\s\"},{\"captures\":{\"1\":{\"name\":\"constant.variable.groovy\"}},\"match\":\"([0-9A-Z_]+)\\\\s+(?==)\"},{\"captures\":{\"1\":{\"name\":\"meta.definition.variable.name.groovy\"}},\"match\":\"(\\\\w[^,\\\\s]*)\\\\s+(?==)\"},{\"captures\":{\"1\":{\"name\":\"storage.type.groovy\"}},\"match\":\": (\\\\w+)\",\"patterns\":[{\"include\":\"#types\"}]},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.groovy\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#groovy-code\"}]},{\"captures\":{\"1\":{\"name\":\"meta.definition.variable.name.groovy\"}},\"match\":\"(\\\\w[^=\\\\s]*)(?=\\\\s*($|;))\"},{\"include\":\"#groovy-code\"}]}]}},\"scopeName\":\"source.nextflow-groovy\"}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,6 +1,6 @@
1
1
  import nextflow_groovy from './nextflow-groovy.mjs'
2
2
 
3
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Nextflow\",\"name\":\"nextflow\",\"patterns\":[{\"include\":\"#nextflow\"}],\"repository\":{\"enum-def\":{\"begin\":\"^\\\\s*(enum)\\\\s+(\\\\w+)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"storage.type.groovy\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"},{\"include\":\"#enum-values\"}]},\"enum-values\":{\"patterns\":[{\"begin\":\"(?<=;|^)\\\\s*\\\\b([0-9A-Z_]+)(?=\\\\s*(?:[(,}]|$))\",\"beginCaptures\":{\"1\":{\"name\":\"constant.enum.name.groovy\"}},\"end\":\",|(?=})|^(?!\\\\s*\\\\w+\\\\s*(?:,|$))\",\"patterns\":[{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"name\":\"meta.enum.value.groovy\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.definition.seperator.parameter.groovy\"},{\"include\":\"#groovy-code\"}]}]}]},\"function-body\":{\"patterns\":[{\"match\":\"\\\\s\"},{\"begin\":\"(?=[<\\\\w][^(]*\\\\s+[$<\\\\w]+\\\\s*\\\\()\",\"end\":\"(?=[$\\\\w]+\\\\s*\\\\()\",\"name\":\"meta.method.return-type.java\",\"patterns\":[{\"include\":\"source.nextflow-groovy#types\"}]},{\"begin\":\"([$\\\\w]+)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.nextflow\"}},\"end\":\"\\\\)\",\"name\":\"meta.definition.method.signature.java\",\"patterns\":[{\"begin\":\"(?=[^)])\",\"end\":\"(?=\\\\))\",\"name\":\"meta.method.parameters.groovy\",\"patterns\":[{\"begin\":\"(?=[^),])\",\"end\":\"(?=[),])\",\"name\":\"meta.method.parameter.groovy\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.definition.separator.groovy\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.groovy\"}},\"end\":\"(?=[),])\",\"name\":\"meta.parameter.default.groovy\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy-code\"}]},{\"include\":\"source.nextflow-groovy#parameters\"}]}]}]},{\"begin\":\"(?=<)\",\"end\":\"(?=\\\\s)\",\"name\":\"meta.method.paramerised-type.groovy\",\"patterns\":[{\"begin\":\"<\",\"end\":\">\",\"name\":\"storage.type.parameters.groovy\",\"patterns\":[{\"include\":\"source.nextflow-groovy#types\"},{\"match\":\",\",\"name\":\"punctuation.definition.seperator.groovy\"}]}]},{\"begin\":\"\\\\{\",\"end\":\"(?=})\",\"name\":\"meta.method.body.java\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy-code\"}]}]},\"function-def\":{\"applyEndPatternLast\":1,\"begin\":\"(?<=;|^|\\\\{)(?=\\\\s*(?:def|(?:(?:boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)[]\\\\[]*(?:<.*>)?n)\\\\s+([^=]+\\\\s+)?\\\\w+\\\\s*\\\\()\",\"end\":\"}|(?=[^{])\",\"name\":\"meta.definition.method.groovy\",\"patterns\":[{\"include\":\"#function-body\"}]},\"include-decl\":{\"patterns\":[{\"match\":\"^\\\\b(include)\\\\b\",\"name\":\"keyword.nextflow\"},{\"match\":\"\\\\b(from)\\\\b\",\"name\":\"keyword.nextflow\"}]},\"nextflow\":{\"patterns\":[{\"include\":\"#record-def\"},{\"include\":\"#enum-def\"},{\"include\":\"#function-def\"},{\"include\":\"#process-def\"},{\"include\":\"#workflow-def\"},{\"include\":\"#params-def\"},{\"include\":\"#output-def\"},{\"include\":\"#include-decl\"},{\"include\":\"source.nextflow-groovy\"}]},\"output-def\":{\"begin\":\"^\\\\s*(output)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"}},\"end\":\"}\",\"name\":\"output.nextflow\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"}]},\"params-def\":{\"begin\":\"^\\\\s*(params)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"}},\"end\":\"}\",\"name\":\"params.nextflow\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"}]},\"process-body\":{\"patterns\":[{\"match\":\"(?:input|output|when|script|shell|exec):\",\"name\":\"constant.block.nextflow\"},{\"match\":\"\\\\b(val|env|file|path|stdin|stdout|tuple)([(\\\\s])\",\"name\":\"entity.name.function.nextflow\"},{\"include\":\"source.nextflow-groovy#groovy\"}]},\"process-def\":{\"begin\":\"^\\\\s*(process)\\\\s+(\\\\w+)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"entity.name.function.nextflow\"}},\"end\":\"}\",\"name\":\"process.nextflow\",\"patterns\":[{\"include\":\"#process-body\"}]},\"record-def\":{\"begin\":\"^\\\\s*(record)\\\\s+(\\\\w+)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"storage.type.groovy\"}},\"end\":\"}\",\"name\":\"record.nextflow\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"}]},\"workflow-body\":{\"patterns\":[{\"match\":\"(?:take|main|emit|publish):\",\"name\":\"constant.block.nextflow\"},{\"include\":\"source.nextflow-groovy#groovy\"}]},\"workflow-def\":{\"begin\":\"^\\\\s*(workflow)(?:\\\\s+(\\\\w+))?\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"entity.name.function.nextflow\"}},\"end\":\"}\",\"name\":\"workflow.nextflow\",\"patterns\":[{\"include\":\"#workflow-body\"}]}},\"scopeName\":\"source.nextflow\",\"embeddedLangs\":[\"nextflow-groovy\"],\"aliases\":[\"nf\"]}"))
3
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Nextflow\",\"name\":\"nextflow\",\"patterns\":[{\"include\":\"#nextflow\"}],\"repository\":{\"enum-def\":{\"begin\":\"^\\\\s*(enum)\\\\s+(\\\\w+)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"storage.type.groovy\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"},{\"include\":\"#enum-values\"}]},\"enum-values\":{\"patterns\":[{\"begin\":\"(?<=;|^)\\\\s*\\\\b([0-9A-Z_]+)(?=\\\\s*(?:[(,}]|$))\",\"beginCaptures\":{\"1\":{\"name\":\"constant.enum.name.groovy\"}},\"end\":\",|(?=})|^(?!\\\\s*\\\\w+\\\\s*(?:,|$))\",\"patterns\":[{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"name\":\"meta.enum.value.groovy\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.definition.seperator.parameter.groovy\"},{\"include\":\"#groovy-code\"}]}]}]},\"function-body\":{\"patterns\":[{\"match\":\"\\\\s\"},{\"begin\":\"(?=[<\\\\w][^(]*\\\\s+[$<\\\\w]+\\\\s*\\\\()\",\"end\":\"(?=[$\\\\w]+\\\\s*\\\\()\",\"name\":\"meta.method.return-type.java\",\"patterns\":[{\"include\":\"source.nextflow-groovy#types\"}]},{\"begin\":\"([$\\\\w]+)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.nextflow\"}},\"end\":\"\\\\)\",\"name\":\"meta.definition.method.signature.java\",\"patterns\":[{\"begin\":\"(?=[^)])\",\"end\":\"(?=\\\\))\",\"name\":\"meta.method.parameters.groovy\",\"patterns\":[{\"begin\":\"(?=[^),])\",\"end\":\"(?=[),])\",\"name\":\"meta.method.parameter.groovy\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.definition.separator.groovy\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.groovy\"}},\"end\":\"(?=[),])\",\"name\":\"meta.parameter.default.groovy\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy-code\"}]},{\"include\":\"source.nextflow-groovy#parameters\"}]}]}]},{\"begin\":\"(?=<)\",\"end\":\"(?=\\\\s)\",\"name\":\"meta.method.paramerised-type.groovy\",\"patterns\":[{\"begin\":\"<\",\"end\":\">\",\"name\":\"storage.type.parameters.groovy\",\"patterns\":[{\"include\":\"source.nextflow-groovy#types\"},{\"match\":\",\",\"name\":\"punctuation.definition.seperator.groovy\"}]}]},{\"begin\":\"\\\\{\",\"end\":\"(?=})\",\"name\":\"meta.method.body.java\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy-code\"}]}]},\"function-def\":{\"applyEndPatternLast\":1,\"begin\":\"(?<=;|^|\\\\{)(?=\\\\s*(?:def|(?:(?:boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)[]\\\\[]*(?:<.*>)?)\\\\s+([^=]+\\\\s+)?\\\\w+\\\\s*\\\\()\",\"end\":\"}|(?=[^{])\",\"name\":\"meta.definition.method.groovy\",\"patterns\":[{\"include\":\"#function-body\"}]},\"include-decl\":{\"patterns\":[{\"match\":\"^\\\\b(include)\\\\b\",\"name\":\"keyword.nextflow\"},{\"match\":\"\\\\b(from)\\\\b\",\"name\":\"keyword.nextflow\"}]},\"nextflow\":{\"patterns\":[{\"include\":\"#record-def\"},{\"include\":\"#enum-def\"},{\"include\":\"#function-def\"},{\"include\":\"#process-def\"},{\"include\":\"#workflow-def\"},{\"include\":\"#params-def\"},{\"include\":\"#output-def\"},{\"include\":\"#include-decl\"},{\"include\":\"source.nextflow-groovy\"}]},\"output-def\":{\"begin\":\"^\\\\s*(output)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"}},\"end\":\"}\",\"name\":\"output.nextflow\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"}]},\"params-def\":{\"begin\":\"^\\\\s*(params)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"}},\"end\":\"}\",\"name\":\"params.nextflow\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"}]},\"process-body\":{\"patterns\":[{\"match\":\"(?:input|output|when|script|shell|exec):\",\"name\":\"constant.block.nextflow\"},{\"match\":\"\\\\b(val|env|file|path|stdin|stdout|tuple)([(\\\\s])\",\"name\":\"entity.name.function.nextflow\"},{\"include\":\"source.nextflow-groovy#groovy\"}]},\"process-def\":{\"begin\":\"^\\\\s*(process)\\\\s+(\\\\w+)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"entity.name.function.nextflow\"}},\"end\":\"}\",\"name\":\"process.nextflow\",\"patterns\":[{\"include\":\"#process-body\"}]},\"record-def\":{\"begin\":\"^\\\\s*(record)\\\\s+(\\\\w+)\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"storage.type.groovy\"}},\"end\":\"}\",\"name\":\"record.nextflow\",\"patterns\":[{\"include\":\"source.nextflow-groovy#groovy\"}]},\"workflow-body\":{\"patterns\":[{\"match\":\"(?:take|main|emit|publish):\",\"name\":\"constant.block.nextflow\"},{\"include\":\"source.nextflow-groovy#groovy\"}]},\"workflow-def\":{\"begin\":\"^\\\\s*(workflow)(?:\\\\s+(\\\\w+))?\\\\s*\\\\{\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.nextflow\"},\"2\":{\"name\":\"entity.name.function.nextflow\"}},\"end\":\"}\",\"name\":\"workflow.nextflow\",\"patterns\":[{\"include\":\"#workflow-body\"}]}},\"scopeName\":\"source.nextflow\",\"embeddedLangs\":[\"nextflow-groovy\"],\"aliases\":[\"nf\"]}"))
4
4
 
5
5
  export default [
6
6
  ...nextflow_groovy,