@shikijs/langs-precompiled 3.3.0 → 3.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 (127) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/ada.mjs +1 -1
  3. package/dist/angular-expression.mjs +1 -1
  4. package/dist/angular-ts.mjs +1 -1
  5. package/dist/applescript.mjs +1 -1
  6. package/dist/ara.mjs +1 -1
  7. package/dist/asciidoc.mjs +1 -1
  8. package/dist/astro.mjs +1 -1
  9. package/dist/awk.mjs +1 -1
  10. package/dist/ballerina.mjs +1 -1
  11. package/dist/bat.mjs +1 -1
  12. package/dist/blade.mjs +1 -1
  13. package/dist/c.mjs +1 -1
  14. package/dist/cadence.mjs +1 -1
  15. package/dist/clarity.mjs +1 -1
  16. package/dist/cmake.mjs +1 -1
  17. package/dist/cobol.mjs +1 -1
  18. package/dist/codeql.mjs +1 -1
  19. package/dist/coffee.mjs +1 -1
  20. package/dist/common-lisp.mjs +1 -1
  21. package/dist/coq.mjs +1 -1
  22. package/dist/cpp-macro.mjs +1 -1
  23. package/dist/cpp.mjs +1 -1
  24. package/dist/crystal.mjs +1 -1
  25. package/dist/css.mjs +1 -1
  26. package/dist/cypher.mjs +1 -1
  27. package/dist/d.mjs +1 -1
  28. package/dist/dax.mjs +1 -1
  29. package/dist/dream-maker.mjs +1 -1
  30. package/dist/elixir.mjs +1 -1
  31. package/dist/elm.mjs +1 -1
  32. package/dist/emacs-lisp.mjs +1 -1
  33. package/dist/erlang.mjs +1 -1
  34. package/dist/fennel.mjs +1 -1
  35. package/dist/fortran-free-form.mjs +1 -1
  36. package/dist/fsharp.mjs +1 -1
  37. package/dist/gdresource.mjs +1 -1
  38. package/dist/gdscript.mjs +1 -1
  39. package/dist/gherkin.mjs +1 -1
  40. package/dist/gleam.mjs +1 -1
  41. package/dist/glimmer-js.mjs +1 -1
  42. package/dist/glimmer-ts.mjs +1 -1
  43. package/dist/glsl.mjs +1 -1
  44. package/dist/gnuplot.mjs +1 -1
  45. package/dist/go.mjs +1 -1
  46. package/dist/groovy.mjs +1 -1
  47. package/dist/hack.mjs +1 -1
  48. package/dist/handlebars.mjs +1 -1
  49. package/dist/haxe.mjs +1 -1
  50. package/dist/hlsl.mjs +1 -1
  51. package/dist/html.mjs +1 -1
  52. package/dist/imba.mjs +1 -1
  53. package/dist/java.mjs +1 -1
  54. package/dist/javascript.mjs +1 -1
  55. package/dist/jinja.mjs +1 -1
  56. package/dist/jsonnet.mjs +1 -1
  57. package/dist/jsx.mjs +1 -1
  58. package/dist/julia.mjs +1 -1
  59. package/dist/kusto.mjs +1 -1
  60. package/dist/latex.mjs +1 -1
  61. package/dist/lean.mjs +1 -1
  62. package/dist/less.mjs +1 -1
  63. package/dist/liquid.mjs +1 -1
  64. package/dist/llvm.mjs +1 -1
  65. package/dist/log.mjs +1 -1
  66. package/dist/logo.mjs +1 -1
  67. package/dist/luau.mjs +1 -1
  68. package/dist/make.mjs +1 -1
  69. package/dist/markdown.mjs +1 -1
  70. package/dist/marko.mjs +1 -1
  71. package/dist/matlab.mjs +1 -1
  72. package/dist/mdc.mjs +1 -1
  73. package/dist/mdx.mjs +1 -1
  74. package/dist/mermaid.mjs +1 -1
  75. package/dist/mipsasm.mjs +1 -1
  76. package/dist/mojo.mjs +1 -1
  77. package/dist/nginx.mjs +1 -1
  78. package/dist/nim.mjs +1 -1
  79. package/dist/nix.mjs +1 -1
  80. package/dist/nushell.mjs +1 -1
  81. package/dist/objective-c.mjs +1 -1
  82. package/dist/objective-cpp.mjs +1 -1
  83. package/dist/ocaml.mjs +1 -1
  84. package/dist/pascal.mjs +1 -1
  85. package/dist/perl.mjs +1 -1
  86. package/dist/php.mjs +1 -1
  87. package/dist/plsql.mjs +1 -1
  88. package/dist/powershell.mjs +1 -1
  89. package/dist/prolog.mjs +1 -1
  90. package/dist/python.mjs +1 -1
  91. package/dist/qss.mjs +1 -1
  92. package/dist/r.mjs +1 -1
  93. package/dist/racket.mjs +1 -1
  94. package/dist/raku.mjs +1 -1
  95. package/dist/riscv.mjs +1 -1
  96. package/dist/ruby.mjs +1 -1
  97. package/dist/sas.mjs +1 -1
  98. package/dist/scheme.mjs +1 -1
  99. package/dist/shaderlab.mjs +1 -1
  100. package/dist/shellscript.mjs +1 -1
  101. package/dist/smalltalk.mjs +1 -3
  102. package/dist/splunk.mjs +1 -1
  103. package/dist/sql.mjs +1 -1
  104. package/dist/stata.mjs +1 -1
  105. package/dist/stylus.mjs +1 -1
  106. package/dist/svelte.mjs +1 -1
  107. package/dist/system-verilog.mjs +1 -1
  108. package/dist/systemd.mjs +1 -1
  109. package/dist/talonscript.mjs +1 -1
  110. package/dist/templ.mjs +1 -1
  111. package/dist/terraform.mjs +1 -1
  112. package/dist/tex.mjs +1 -1
  113. package/dist/toml.mjs +1 -1
  114. package/dist/tsx.mjs +1 -1
  115. package/dist/typescript.mjs +1 -1
  116. package/dist/typst.mjs +1 -1
  117. package/dist/v.mjs +1 -1
  118. package/dist/vala.mjs +1 -1
  119. package/dist/vb.mjs +1 -1
  120. package/dist/vhdl.mjs +1 -1
  121. package/dist/viml.mjs +1 -1
  122. package/dist/vyper.mjs +1 -1
  123. package/dist/wasm.mjs +1 -1
  124. package/dist/wikitext.mjs +1 -1
  125. package/dist/wolfram.mjs +1 -1
  126. package/dist/zenscript.mjs +1 -1
  127. package/package.json +4 -4
package/dist/svelte.mjs CHANGED
@@ -4,7 +4,7 @@ import typescript from './typescript.mjs'
4
4
  import css from './css.mjs'
5
5
  import postcss from './postcss.mjs'
6
6
 
7
- const lang = Object.freeze({displayName:"Svelte",fileTypes:["svelte"],injections:{"L:(meta.script.svelte | meta.style.svelte) (meta.lang.js | meta.lang.javascript) - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.js",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.js"}]}]},"L:(meta.script.svelte | meta.style.svelte) (meta.lang.ts | meta.lang.typescript) - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.ts",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.ts"}]}]},"L:(meta.script.svelte | meta.style.svelte) meta.lang.coffee - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.coffee",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.coffee"}]}]},"L:(source.ts, source.js, source.coffee)":{patterns:[{match:/(?<!["\$'\.\/_\p{Alpha}\p{Nd}])\$(?=[_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"punctuation.definition.variable.svelte"},{match:/(?<!["\$'\.\/_\p{Alpha}\p{Nd}])(\$\$)(?=props|restProps|slots)/dgv,name:"punctuation.definition.variable.svelte"}]},"L:meta.script.svelte - meta.lang - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.js",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.js"}]}]},"L:meta.style.svelte - meta.lang - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.css"}]}]},"L:meta.style.svelte meta.lang.css - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.css"}]}]},"L:meta.style.svelte meta.lang.less - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.less",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.css.less"}]}]},"L:meta.style.svelte meta.lang.postcss - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.postcss",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.css.postcss"}]}]},"L:meta.style.svelte meta.lang.sass - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.sass",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.sass"}]}]},"L:meta.style.svelte meta.lang.scss - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.scss",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.css.scss"}]}]},"L:meta.style.svelte meta.lang.stylus - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.stylus",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.stylus"}]}]},"L:meta.template.svelte - meta.lang - (meta source)":{patterns:[{begin:/(?<=>)\p{space}/dgv,end:/(?=<\/template)/dgv,patterns:[{include:"#scope"}]}]},"L:meta.template.svelte meta.lang.pug - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"text.pug",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"text.pug"}]}]}},name:"svelte",patterns:[{include:"#scope"}],repository:{attributes:{patterns:[{include:"#attributes-directives"},{include:"#attributes-keyvalue"},{include:"#attributes-interpolated"}]},"attributes-directives":{begin:/(?<!<)(on|use|bind|transition|in|out|animate|let|class|style)(:)(?:((?:--)?[\$_\p{Alpha}][\-\$_\p{Alpha}\p{Nd}]*(?=\p{space}*=))|((?:--)?[\$_\p{Alpha}][\-\$_\p{Alpha}\p{Nd}]*))((\|[\p{L}\p{M}\p{N}\p{Pc}]+)*)/dgv,beginCaptures:{"1":{patterns:[{include:"#attributes-directives-keywords"}]},"2":{name:"punctuation.definition.keyword.svelte"},"3":{patterns:[{include:"#attributes-directives-types-assigned"}]},"4":{patterns:[{include:"#attributes-directives-types"}]},"5":{patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"support.function.svelte"},{match:/\|/dgv,name:"punctuation.separator.svelte"}]}},end:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{"hiddenCaptures":[1]}),name:"meta.directive.$1.svelte",patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.key-value.svelte"}},end:/(?<=[^\=\p{space}])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{include:"#attributes-value"}]}]},"attributes-directives-keywords":{patterns:[{match:/on|use|bind/dgv,name:"keyword.control.svelte"},{match:/transition|in|out|animate/dgv,name:"keyword.other.animation.svelte"},{match:/let/dgv,name:"storage.type.svelte"},{match:/class|style/dgv,name:"entity.other.attribute-name.svelte"}]},"attributes-directives-types":{patterns:[{match:/(?<=(on):)[^\n]*(?=\n?$)/dgv,name:"entity.name.type.svelte"},{match:/(?<=(bind):)[^\n]*(?=\n?$)/dgv,name:"variable.parameter.svelte"},{match:/(?<=(use|transition|in|out|animate):)[^\n]*(?=\n?$)/dgv,name:"variable.function.svelte"},{match:/(?<=(let|class|style):)[^\n]*(?=\n?$)/dgv,name:"variable.parameter.svelte"}]},"attributes-directives-types-assigned":{patterns:[{match:/(?<=(bind):)this(?=\n?$)/dgv,name:"variable.language.svelte"},{match:/(?<=(bind):)[^\n]*(?=\n?$)/dgv,name:"entity.name.type.svelte"},{match:/(?<=(class):)[^\n]*(?=\n?$)/dgv,name:"entity.other.attribute-name.class.svelte"},{match:/(?<=(style):)[^\n]*(?=\n?$)/dgv,name:"support.type.property-name.svelte"},{include:"#attributes-directives-types"}]},"attributes-generics":{begin:/(generics)(=)(["'])/dgv,beginCaptures:{"1":{name:"entity.other.attribute-name.svelte"},"2":{name:"punctuation.separator.key-value.svelte"},"3":{name:"punctuation.definition.string.begin.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.svelte"}},patterns:[{include:"#type-parameters"}]},"attributes-interpolated":{begin:/(?<![\:\=])\p{space}*(\{)/dgv,captures:{"1":{name:"entity.other.attribute-name.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:/(\})/dgv,patterns:[{include:"source.ts"}]},"attributes-keyvalue":{begin:/((?:--)?[\$_\p{Alpha}][\-\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"0":{patterns:[{match:/--[^\n]*/dgv,name:"support.type.property-name.svelte"},{match:/[^\n]*/dgv,name:"entity.other.attribute-name.svelte"}]}},end:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{"hiddenCaptures":[1]}),name:"meta.attribute.$1.svelte",patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.key-value.svelte"}},end:/(?<=[^\=\p{space}])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{include:"#attributes-value"}]}]},"attributes-value":{patterns:[{include:"#interpolation"},{captures:{"1":{name:"punctuation.definition.string.begin.svelte"},"2":{name:"constant.numeric.decimal.svelte"},"3":{name:"punctuation.definition.string.end.svelte"},"4":{name:"constant.numeric.decimal.svelte"}},match:/(["'])([\.0-9_]+[\%\p{L}\p{M}\p{N}\p{Pc}]{0,4})(\1)|([\.0-9_]+[\%\p{L}\p{M}\p{N}\p{Pc}]{0,4})(?=\p{space}|\/?>)/dgv},{match:/([^"'\/\<\=\>\`\p{space}]|\/(?!>))+/dgv,name:"string.unquoted.svelte",patterns:[{include:"#interpolation"}]},{begin:/(["'])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.svelte"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.svelte"}},name:"string.quoted.svelte",patterns:[{include:"#interpolation"}]}]},comments:{begin:/<!--/dgv,captures:{"0":{name:"punctuation.definition.comment.svelte"}},end:/-->/dgv,name:"comment.block.svelte",patterns:[{begin:/(@)(component)/dgv,beginCaptures:{"1":{name:"punctuation.definition.keyword.svelte"},"2":{name:"storage.type.class.component.svelte keyword.declaration.class.component.svelte"}},contentName:"comment.block.documentation.svelte",end:/(?=-->)/dgv,patterns:[{captures:{"0":{patterns:[{include:"text.html.markdown"}]}},match:/[^\n]*?(?=-->)/dgv},{include:"text.html.markdown"}]},{match:/*@__PURE__*/ new EmulatedRegExp("^-?>|<!--(?!>)|<!-(?=-->)|--!>","dgv",{"strategy":"clip_search"}),name:"invalid.illegal.characters-not-allowed-here.svelte"}]},destructuring:{patterns:[{begin:/(?=\{)/dgv,end:/(?<=\})/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#object-binding-pattern"}]},{begin:/(?=\[)/dgv,end:/(?<=\])/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#array-binding-pattern"}]}]},"destructuring-const":{patterns:[{begin:/(?=\{)/dgv,end:/(?<=\})/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#object-binding-pattern-const"}]},{begin:/(?=\[)/dgv,end:/(?<=\])/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#array-binding-pattern-const"}]}]},interpolation:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.svelte"}},patterns:[{begin:/\p{space}*(?=\{)/dgvy,end:/(?<=\})/dgv,patterns:[{include:"source.ts#object-literal"}]},{include:"source.ts"}]}]},scope:{patterns:[{include:"#comments"},{include:"#special-tags"},{include:"#tags"},{include:"#interpolation"},{begin:/(?<=[\>\}])/dgv,end:/(?=[\<\{])/dgv,name:"text.svelte"}]},"special-tags":{patterns:[{include:"#special-tags-void"},{include:"#special-tags-block-begin"},{include:"#special-tags-block-end"}]},"special-tags-block-begin":{begin:/(\{)\p{space}*(#([a-z]*))/dgv,beginCaptures:{"1":{name:"punctuation.definition.block.begin.svelte"},"2":{patterns:[{include:"#special-tags-keywords"}]}},end:/(\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.end.svelte"}},name:"meta.special.$3.svelte meta.special.start.svelte",patterns:[{include:"#special-tags-modes"}]},"special-tags-block-end":{begin:/(\{)\p{space}*(\/([a-z]*))/dgv,beginCaptures:{"1":{name:"punctuation.definition.block.begin.svelte"},"2":{patterns:[{include:"#special-tags-keywords"}]}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.svelte"}},name:"meta.special.$3.svelte meta.special.end.svelte"},"special-tags-keywords":{captures:{"1":{name:"punctuation.definition.keyword.svelte"},"2":{patterns:[{match:/if|else\p{space}+if|else/dgv,name:"keyword.control.conditional.svelte"},{match:/each|key/dgv,name:"keyword.control.svelte"},{match:/await|then|catch/dgv,name:"keyword.control.flow.svelte"},{match:/snippet/dgv,name:"keyword.control.svelte"},{match:/html/dgv,name:"keyword.other.svelte"},{match:/render/dgv,name:"keyword.other.svelte"},{match:/debug/dgv,name:"keyword.other.debugger.svelte"},{match:/const/dgv,name:"storage.type.svelte"}]}},match:/([\#\/\:\@])(else\p{space}+if|[a-z]*)/dgv},"special-tags-modes":{patterns:[{begin:/(?<=(if|key|then|catch|snippet|html|render)[^\n]*?)/dgvy,end:/(?=\})/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]},{begin:/(?<=const[^\n]*?)/dgvy,end:/(?=\})/dgv,patterns:[{include:"#destructuring-const"},{begin:/\p{space}*([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]+)\p{space}*/dgvy,beginCaptures:{"1":{name:"variable.other.constant.svelte"}},end:/(?=[\:\=])/dgv},{begin:/(?=:)/dgv,end:/(?==)/dgv,name:"meta.type.annotation.svelte",patterns:[{include:"source.ts"}]},{begin:/(?==)/dgv,end:/(?=\})/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]}]},{begin:/(?<=each[^\n]*?)/dgvy,end:/(?=\})/dgv,patterns:[{begin:/\p{space}*?(?=\P{space})/dgvy,contentName:"meta.embedded.expression.svelte source.ts",end:/(?=(?:^\p{space}*|\p{space}+)(as)|\p{space}*([\,\}]))/dgv,patterns:[{include:"source.ts"}]},{begin:/(as)|(?=[\,\}])/dgv,beginCaptures:{"1":{name:"keyword.control.as.svelte"}},end:/(?=\})/dgv,patterns:[{include:"#destructuring"},{begin:/\(/dgv,captures:{"0":{name:"meta.brace.round.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:/\)|(?=\})/dgv,patterns:[{include:"source.ts"}]},{captures:{"1":{name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]}},match:/(\p{space}*([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*)/dgv},{match:/,/dgv,name:"punctuation.separator.svelte"}]}]},{begin:/(?<=await[^\n]*?)/dgvy,end:/(?=\})/dgv,patterns:[{begin:/\p{space}*?(?=\P{space})/dgvy,contentName:"meta.embedded.expression.svelte source.ts",end:/\p{space}+(then)|(?=\})/dgv,endCaptures:{"1":{name:"keyword.control.flow.svelte"}},patterns:[{include:"source.ts"}]},{begin:/(?<=then\b)/dgv,contentName:"meta.embedded.expression.svelte source.ts",end:/(?=\})/dgv,patterns:[{include:"source.ts"}]}]},{begin:/(?<=debug[^\n]*?)/dgvy,end:/(?=\})/dgv,patterns:[{captures:{"0":{name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]}},match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv},{match:/,/dgv,name:"punctuation.separator.svelte"}]}]},"special-tags-void":{begin:/(\{)\p{space}*([\:\@](else\p{space}+if|[a-z]*))/dgv,beginCaptures:{"1":{name:"punctuation.definition.block.begin.svelte"},"2":{patterns:[{include:"#special-tags-keywords"}]}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.end.svelte"}},name:"meta.special.$3.svelte",patterns:[{include:"#special-tags-modes"}]},tags:{patterns:[{include:"#tags-lang"},{include:"#tags-void"},{include:"#tags-general-end"},{include:"#tags-general-start"}]},"tags-end-node":{captures:{"1":{name:"meta.tag.end.svelte punctuation.definition.tag.begin.svelte"},"2":{name:"meta.tag.end.svelte",patterns:[{include:"#tags-name"}]},"3":{name:"meta.tag.end.svelte punctuation.definition.tag.end.svelte"},"4":{name:"meta.tag.start.svelte punctuation.definition.tag.end.svelte"}},match:/(<\/)([^\n]*?)\p{space}*(>)|(\/>)/dgv},"tags-general-end":{begin:/(<\/)([^\/\>\p{space}]*)/dgv,beginCaptures:{"1":{name:"meta.tag.end.svelte punctuation.definition.tag.begin.svelte"},"2":{name:"meta.tag.end.svelte",patterns:[{include:"#tags-name"}]}},end:/(>)/dgv,endCaptures:{"1":{name:"meta.tag.end.svelte punctuation.definition.tag.end.svelte"}},name:"meta.scope.tag.$2.svelte"},"tags-general-start":{begin:/(<)([^\/\>\p{space}]*)/dgv,beginCaptures:{"0":{patterns:[{include:"#tags-start-node"}]}},end:/(\/?>)/dgv,endCaptures:{"1":{name:"meta.tag.start.svelte punctuation.definition.tag.end.svelte"}},name:"meta.scope.tag.$2.svelte",patterns:[{include:"#tags-start-attributes"}]},"tags-lang":{begin:/<(script|style|template)/dgv,beginCaptures:{"0":{patterns:[{include:"#tags-start-node"}]}},end:/<\/\1\p{space}*>|\/>()/dgv,endCaptures:{"0":{patterns:[{include:"#tags-end-node"}]}},name:"meta.$1.svelte",patterns:[{begin:/(?=\p{space}*[^\>]*?(type|lang)\p{space}*=\p{space}*(["']|)(?:text\/)?([\p{L}\p{M}\p{N}\p{Pc}]+)\2)/dgvy,end:/(?=<\/|\/>)/dgv,name:"meta.lang.$3.svelte",patterns:[{include:"#tags-lang-start-attributes"}]},{include:"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{begin:/(?:)/dgv,end:/(?=\/>)|>/dgv,endCaptures:{"0":{name:"punctuation.definition.tag.end.svelte"}},name:"meta.tag.start.svelte",patterns:[{include:"#attributes-generics"},{include:"#attributes"}]},"tags-name":{patterns:[{captures:{"1":{name:"keyword.control.svelte"},"2":{name:"punctuation.definition.keyword.svelte"},"3":{name:"entity.name.tag.svelte"}},match:/(svelte)(:)([a-z][\-\:\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{match:/slot/dgv,name:"keyword.control.svelte"},{captures:{"1":{patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"support.class.component.svelte"},{match:/\./dgv,name:"punctuation.definition.keyword.svelte"}]},"2":{name:"support.class.component.svelte"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:\.[\p{L}\p{M}\p{N}\p{Pc}]+)+)|([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{match:/[a-z][0-\:\p{L}\p{M}\p{N}\p{Pc}]*-[\-0-\:\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"meta.tag.custom.svelte entity.name.tag.svelte"},{match:/[a-z][\-0-\:\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"entity.name.tag.svelte"}]},"tags-start-attributes":{begin:/(?:)/dgv,end:/(?=\/?>)/dgv,name:"meta.tag.start.svelte",patterns:[{include:"#attributes"}]},"tags-start-node":{captures:{"1":{name:"punctuation.definition.tag.begin.svelte"},"2":{patterns:[{include:"#tags-name"}]}},match:/(<)([^\/\>\p{space}]*)/dgv,name:"meta.tag.start.svelte"},"tags-void":{begin:/(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\p{space}|\/?>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.svelte"},"2":{name:"entity.name.tag.svelte"}},end:/\/?>/dgv,endCaptures:{"0":{name:"punctuation.definition.tag.begin.svelte"}},name:"meta.tag.void.svelte",patterns:[{include:"#attributes"}]},"type-parameters":{name:"meta.type.parameters.ts",patterns:[{include:"source.ts#comment"},{match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends|in|out|const)(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.ts"},{include:"source.ts#type"},{include:"source.ts#punctuation-comma"},{match:/(=)(?!>)/dgv,name:"keyword.operator.assignment.ts"}]}},scopeName:"source.svelte",embeddedLangs:["javascript","typescript","css","postcss"],aliases:undefined,embeddedLangsLazy:["coffee","stylus","sass","scss","less","pug","markdown"]})
7
+ const lang = Object.freeze({displayName:"Svelte",fileTypes:["svelte"],injections:{"L:(meta.script.svelte | meta.style.svelte) (meta.lang.js | meta.lang.javascript) - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.js",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.js"}]}]},"L:(meta.script.svelte | meta.style.svelte) (meta.lang.ts | meta.lang.typescript) - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.ts",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.ts"}]}]},"L:(meta.script.svelte | meta.style.svelte) meta.lang.coffee - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.coffee",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.coffee"}]}]},"L:(source.ts, source.js, source.coffee)":{patterns:[{match:/(?<!["\$'\.\/_\p{Alpha}\p{Nd}])\$(?=[_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)/dgv,name:"punctuation.definition.variable.svelte"},{match:/(?<!["\$'\.\/_\p{Alpha}\p{Nd}])(\$\$)(?=props|restProps|slots)/dgv,name:"punctuation.definition.variable.svelte"}]},"L:meta.script.svelte - meta.lang - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.js",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.js"}]}]},"L:meta.style.svelte - meta.lang - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.css"}]}]},"L:meta.style.svelte meta.lang.css - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.css"}]}]},"L:meta.style.svelte meta.lang.less - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.less",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.css.less"}]}]},"L:meta.style.svelte meta.lang.postcss - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.postcss",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.css.postcss"}]}]},"L:meta.style.svelte meta.lang.sass - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.sass",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.sass"}]}]},"L:meta.style.svelte meta.lang.scss - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.css.scss",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.css.scss"}]}]},"L:meta.style.svelte meta.lang.stylus - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"source.stylus",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"source.stylus"}]}]},"L:meta.template.svelte - meta.lang - (meta source)":{patterns:[{begin:/(?<=>)\p{space}/dgv,end:/(?=<\/template)/dgv,patterns:[{include:"#scope"}]}]},"L:meta.template.svelte meta.lang.pug - (meta source)":{patterns:[{begin:/(?<=>)(?!<\/)/dgv,contentName:"text.pug",end:/(?=<\/)/dgv,name:"meta.embedded.block.svelte",patterns:[{include:"text.pug"}]}]}},name:"svelte",patterns:[{include:"#scope"}],repository:{attributes:{patterns:[{include:"#attributes-directives"},{include:"#attributes-keyvalue"},{include:"#attributes-interpolated"}]},"attributes-directives":{begin:/(?<!<)(on|use|bind|transition|in|out|animate|let|class|style)(:)(?:((?:--)?[\$_\p{Alpha}][\-\$_\p{Alpha}\p{Nd}]*(?=\p{space}*=))|((?:--)?[\$_\p{Alpha}][\-\$_\p{Alpha}\p{Nd}]*))((\|[\p{L}\p{M}\p{N}\p{Pc}]+)*)/dgv,beginCaptures:{"1":{patterns:[{include:"#attributes-directives-keywords"}]},"2":{name:"punctuation.definition.keyword.svelte"},"3":{patterns:[{include:"#attributes-directives-types-assigned"}]},"4":{patterns:[{include:"#attributes-directives-types"}]},"5":{patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"support.function.svelte"},{match:/\|/dgv,name:"punctuation.separator.svelte"}]}},end:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{"hiddenCaptures":[1]}),name:"meta.directive.$1.svelte",patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.key-value.svelte"}},end:/(?<=[^\=\p{space}])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{include:"#attributes-value"}]}]},"attributes-directives-keywords":{patterns:[{match:/on|use|bind/dgv,name:"keyword.control.svelte"},{match:/transition|in|out|animate/dgv,name:"keyword.other.animation.svelte"},{match:/let/dgv,name:"storage.type.svelte"},{match:/class|style/dgv,name:"entity.other.attribute-name.svelte"}]},"attributes-directives-types":{patterns:[{match:/(?<=(on):)[^\n]*(?=\n?$)/dgv,name:"entity.name.type.svelte"},{match:/(?<=(bind):)[^\n]*(?=\n?$)/dgv,name:"variable.parameter.svelte"},{match:/(?<=(use|transition|in|out|animate):)[^\n]*(?=\n?$)/dgv,name:"variable.function.svelte"},{match:/(?<=(let|class|style):)[^\n]*(?=\n?$)/dgv,name:"variable.parameter.svelte"}]},"attributes-directives-types-assigned":{patterns:[{match:/(?<=(bind):)this(?=\n?$)/dgv,name:"variable.language.svelte"},{match:/(?<=(bind):)[^\n]*(?=\n?$)/dgv,name:"entity.name.type.svelte"},{match:/(?<=(class):)[^\n]*(?=\n?$)/dgv,name:"entity.other.attribute-name.class.svelte"},{match:/(?<=(style):)[^\n]*(?=\n?$)/dgv,name:"support.type.property-name.svelte"},{include:"#attributes-directives-types"}]},"attributes-generics":{begin:/(generics)(=)(["'])/dgv,beginCaptures:{"1":{name:"entity.other.attribute-name.svelte"},"2":{name:"punctuation.separator.key-value.svelte"},"3":{name:"punctuation.definition.string.begin.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:/(\3)()()/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.svelte"}},patterns:[{include:"#type-parameters"}]},"attributes-interpolated":{begin:/(?<![\:\=])\p{space}*(\{)/dgv,captures:{"1":{name:"entity.other.attribute-name.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:/(\})/dgv,patterns:[{include:"source.ts"}]},"attributes-keyvalue":{begin:/((?:--)?[\$_\p{Alpha}][\-\$_\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{"0":{patterns:[{match:/--[^\n]*/dgv,name:"support.type.property-name.svelte"},{match:/[^\n]*/dgv,name:"entity.other.attribute-name.svelte"}]}},end:/*@__PURE__*/ new EmulatedRegExp("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{"hiddenCaptures":[1]}),name:"meta.attribute.$1.svelte",patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"punctuation.separator.key-value.svelte"}},end:/(?<=[^\=\p{space}])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{include:"#attributes-value"}]}]},"attributes-value":{patterns:[{include:"#interpolation"},{captures:{"1":{name:"punctuation.definition.string.begin.svelte"},"2":{name:"constant.numeric.decimal.svelte"},"3":{name:"punctuation.definition.string.end.svelte"},"4":{name:"constant.numeric.decimal.svelte"}},match:/(["'])([\.0-9_]+[\%\p{L}\p{M}\p{N}\p{Pc}]{0,4})(\1)|([\.0-9_]+[\%\p{L}\p{M}\p{N}\p{Pc}]{0,4})(?=\p{space}|\/?>)/dgv},{match:/([^"'\/\<\=\>\`\p{space}]|\/(?!>))+/dgv,name:"string.unquoted.svelte",patterns:[{include:"#interpolation"}]},{begin:/(["'])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.svelte"}},end:/\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.svelte"}},name:"string.quoted.svelte",patterns:[{include:"#interpolation"}]}]},comments:{begin:/<!--/dgv,captures:{"0":{name:"punctuation.definition.comment.svelte"}},end:/-->/dgv,name:"comment.block.svelte",patterns:[{begin:/(@)(component)/dgv,beginCaptures:{"1":{name:"punctuation.definition.keyword.svelte"},"2":{name:"storage.type.class.component.svelte keyword.declaration.class.component.svelte"}},contentName:"comment.block.documentation.svelte",end:/(?=-->)/dgv,patterns:[{captures:{"0":{patterns:[{include:"text.html.markdown"}]}},match:/[^\n]*?(?=-->)/dgv},{include:"text.html.markdown"}]},{match:/*@__PURE__*/ new EmulatedRegExp("^-?>|<!--(?!>)|<!-(?=-->)|--!>","dgv",{"strategy":"clip_search"}),name:"invalid.illegal.characters-not-allowed-here.svelte"}]},destructuring:{patterns:[{begin:/(?=\{)/dgv,end:/(?<=\})/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#object-binding-pattern"}]},{begin:/(?=\[)/dgv,end:/(?<=\])/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#array-binding-pattern"}]}]},"destructuring-const":{patterns:[{begin:/(?=\{)/dgv,end:/(?<=\})/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#object-binding-pattern-const"}]},{begin:/(?=\[)/dgv,end:/(?<=\])/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts#array-binding-pattern-const"}]}]},interpolation:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.svelte"}},patterns:[{begin:/\p{space}*(?=\{)/dgvy,end:/(?<=\})/dgv,patterns:[{include:"source.ts#object-literal"}]},{include:"source.ts"}]}]},scope:{patterns:[{include:"#comments"},{include:"#special-tags"},{include:"#tags"},{include:"#interpolation"},{begin:/(?<=[\>\}])/dgv,end:/(?=[\<\{])/dgv,name:"text.svelte"}]},"special-tags":{patterns:[{include:"#special-tags-void"},{include:"#special-tags-block-begin"},{include:"#special-tags-block-end"}]},"special-tags-block-begin":{begin:/(\{)\p{space}*(#([a-z]*))/dgv,beginCaptures:{"1":{name:"punctuation.definition.block.begin.svelte"},"2":{patterns:[{include:"#special-tags-keywords"}]}},end:/(\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.end.svelte"}},name:"meta.special.$3.svelte meta.special.start.svelte",patterns:[{include:"#special-tags-modes"}]},"special-tags-block-end":{begin:/(\{)\p{space}*(\/([a-z]*))/dgv,beginCaptures:{"1":{name:"punctuation.definition.block.begin.svelte"},"2":{patterns:[{include:"#special-tags-keywords"}]}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.svelte"}},name:"meta.special.$3.svelte meta.special.end.svelte"},"special-tags-keywords":{captures:{"1":{name:"punctuation.definition.keyword.svelte"},"2":{patterns:[{match:/if|else\p{space}+if|else/dgv,name:"keyword.control.conditional.svelte"},{match:/each|key/dgv,name:"keyword.control.svelte"},{match:/await|then|catch/dgv,name:"keyword.control.flow.svelte"},{match:/snippet/dgv,name:"keyword.control.svelte"},{match:/html/dgv,name:"keyword.other.svelte"},{match:/render/dgv,name:"keyword.other.svelte"},{match:/debug/dgv,name:"keyword.other.debugger.svelte"},{match:/const/dgv,name:"storage.type.svelte"}]}},match:/([\#\/\:\@])(else\p{space}+if|[a-z]*)/dgv},"special-tags-modes":{patterns:[{begin:/(?<=(if|key|then|catch|snippet|html|render)[^\n]*?)/dgvy,end:/(?=\})/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]},{begin:/(?<=const[^\n]*?)/dgvy,end:/(?=\})/dgv,patterns:[{include:"#destructuring-const"},{begin:/\p{space}*([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]+)\p{space}*/dgvy,beginCaptures:{"1":{name:"variable.other.constant.svelte"}},end:/(?=[\:\=])/dgv},{begin:/(?=:)/dgv,end:/(?==)/dgv,name:"meta.type.annotation.svelte",patterns:[{include:"source.ts"}]},{begin:/(?==)/dgv,end:/(?=\})/dgv,name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]}]},{begin:/(?<=each[^\n]*?)/dgvy,end:/(?=\})/dgv,patterns:[{begin:/\p{space}*?(?=\P{space})/dgvy,contentName:"meta.embedded.expression.svelte source.ts",end:/(?=(?:^\p{space}*|\p{space}+)(as)|\p{space}*([\,\}]))/dgv,patterns:[{include:"source.ts"}]},{begin:/(as)|(?=[\,\}])/dgv,beginCaptures:{"1":{name:"keyword.control.as.svelte"}},end:/(?=\})/dgv,patterns:[{include:"#destructuring"},{begin:/\(/dgv,captures:{"0":{name:"meta.brace.round.svelte"}},contentName:"meta.embedded.expression.svelte source.ts",end:/\)|(?=\})/dgv,patterns:[{include:"source.ts"}]},{captures:{"1":{name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]}},match:/(\p{space}*([\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*)\p{space}*)/dgv},{match:/,/dgv,name:"punctuation.separator.svelte"}]}]},{begin:/(?<=await[^\n]*?)/dgvy,end:/(?=\})/dgv,patterns:[{begin:/\p{space}*?(?=\P{space})/dgvy,contentName:"meta.embedded.expression.svelte source.ts",end:/\p{space}+(then)|(?=\})/dgv,endCaptures:{"1":{name:"keyword.control.flow.svelte"}},patterns:[{include:"source.ts"}]},{begin:/(?<=then\b)/dgv,contentName:"meta.embedded.expression.svelte source.ts",end:/(?=\})/dgv,patterns:[{include:"source.ts"}]}]},{begin:/(?<=debug[^\n]*?)/dgvy,end:/(?=\})/dgv,patterns:[{captures:{"0":{name:"meta.embedded.expression.svelte source.ts",patterns:[{include:"source.ts"}]}},match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv},{match:/,/dgv,name:"punctuation.separator.svelte"}]}]},"special-tags-void":{begin:/(\{)\p{space}*([\:\@](else\p{space}+if|[a-z]*))/dgv,beginCaptures:{"1":{name:"punctuation.definition.block.begin.svelte"},"2":{patterns:[{include:"#special-tags-keywords"}]}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.end.svelte"}},name:"meta.special.$3.svelte",patterns:[{include:"#special-tags-modes"}]},tags:{patterns:[{include:"#tags-lang"},{include:"#tags-void"},{include:"#tags-general-end"},{include:"#tags-general-start"}]},"tags-end-node":{captures:{"1":{name:"meta.tag.end.svelte punctuation.definition.tag.begin.svelte"},"2":{name:"meta.tag.end.svelte",patterns:[{include:"#tags-name"}]},"3":{name:"meta.tag.end.svelte punctuation.definition.tag.end.svelte"},"4":{name:"meta.tag.start.svelte punctuation.definition.tag.end.svelte"}},match:/(<\/)([^\n]*?)\p{space}*(>)|(\/>)/dgv},"tags-general-end":{begin:/(<\/)([^\/\>\p{space}]*)/dgv,beginCaptures:{"1":{name:"meta.tag.end.svelte punctuation.definition.tag.begin.svelte"},"2":{name:"meta.tag.end.svelte",patterns:[{include:"#tags-name"}]}},end:/(>)/dgv,endCaptures:{"1":{name:"meta.tag.end.svelte punctuation.definition.tag.end.svelte"}},name:"meta.scope.tag.$2.svelte"},"tags-general-start":{begin:/(<)([^\/\>\p{space}]*)/dgv,beginCaptures:{"0":{patterns:[{include:"#tags-start-node"}]}},end:/(\/?>)/dgv,endCaptures:{"1":{name:"meta.tag.start.svelte punctuation.definition.tag.end.svelte"}},name:"meta.scope.tag.$2.svelte",patterns:[{include:"#tags-start-attributes"}]},"tags-lang":{begin:/<(script|style|template)/dgv,beginCaptures:{"0":{patterns:[{include:"#tags-start-node"}]}},end:/<\/\1\p{space}*>|\/>()/dgv,endCaptures:{"0":{patterns:[{include:"#tags-end-node"}]}},name:"meta.$1.svelte",patterns:[{begin:/(?=\p{space}*[^\>]*?(type|lang)\p{space}*=\p{space}*(["']?)(?:text\/)?([\p{L}\p{M}\p{N}\p{Pc}]+)\2)/dgvy,end:/(?=<\/|\/>)/dgv,name:"meta.lang.$3.svelte",patterns:[{include:"#tags-lang-start-attributes"}]},{include:"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{begin:/(?:)/dgv,end:/(?=\/>)|>/dgv,endCaptures:{"0":{name:"punctuation.definition.tag.end.svelte"}},name:"meta.tag.start.svelte",patterns:[{include:"#attributes-generics"},{include:"#attributes"}]},"tags-name":{patterns:[{captures:{"1":{name:"keyword.control.svelte"},"2":{name:"punctuation.definition.keyword.svelte"},"3":{name:"entity.name.tag.svelte"}},match:/(svelte)(:)([a-z][\-\:\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{match:/slot/dgv,name:"keyword.control.svelte"},{captures:{"1":{patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"support.class.component.svelte"},{match:/\./dgv,name:"punctuation.definition.keyword.svelte"}]},"2":{name:"support.class.component.svelte"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:\.[\p{L}\p{M}\p{N}\p{Pc}]+)+)|([A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{match:/[a-z][0-\:\p{L}\p{M}\p{N}\p{Pc}]*-[\-0-\:\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"meta.tag.custom.svelte entity.name.tag.svelte"},{match:/[a-z][\-0-\:\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"entity.name.tag.svelte"}]},"tags-start-attributes":{begin:/(?:)/dgv,end:/(?=\/?>)/dgv,name:"meta.tag.start.svelte",patterns:[{include:"#attributes"}]},"tags-start-node":{captures:{"1":{name:"punctuation.definition.tag.begin.svelte"},"2":{patterns:[{include:"#tags-name"}]}},match:/(<)([^\/\>\p{space}]*)/dgv,name:"meta.tag.start.svelte"},"tags-void":{begin:/(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\p{space}|\/?>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.svelte"},"2":{name:"entity.name.tag.svelte"}},end:/\/?>/dgv,endCaptures:{"0":{name:"punctuation.definition.tag.begin.svelte"}},name:"meta.tag.void.svelte",patterns:[{include:"#attributes"}]},"type-parameters":{name:"meta.type.parameters.ts",patterns:[{include:"source.ts#comment"},{match:/(?<![\$_\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends|in|out|const)(?![\$_\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.ts"},{include:"source.ts#type"},{include:"source.ts#punctuation-comma"},{match:/(=)(?!>)/dgv,name:"keyword.operator.assignment.ts"}]}},scopeName:"source.svelte",embeddedLangs:["javascript","typescript","css","postcss"],aliases:undefined,embeddedLangsLazy:["coffee","stylus","sass","scss","less","pug","markdown"]})
8
8
 
9
9
  export default [
10
10
  ...javascript,
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"SystemVerilog",fileTypes:["v","vh","sv","svh"],name:"system-verilog",patterns:[{include:"#comments"},{include:"#strings"},{include:"#typedef-enum-struct-union"},{include:"#typedef"},{include:"#functions"},{include:"#keywords"},{include:"#tables"},{include:"#function-task"},{include:"#module-declaration"},{include:"#class-declaration"},{include:"#enum-struct-union"},{include:"#sequence"},{include:"#all-types"},{include:"#module-parameters"},{include:"#module-no-parameters"},{include:"#port-net-parameter"},{include:"#system-tf"},{include:"#assertion"},{include:"#bind-directive"},{include:"#cast-operator"},{include:"#storage-scope"},{include:"#attributes"},{include:"#imports"},{include:"#operators"},{include:"#constants"},{include:"#identifiers"},{include:"#selects"}],repository:{"all-types":{patterns:[{include:"#built-ins"},{include:"#modifiers"}]},assertion:{captures:{"1":{name:"entity.name.goto-label.php"},"2":{name:"keyword.operator.systemverilog"},"3":{name:"keyword.sva.systemverilog"}},match:/\b([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]*(:)[\t\n\r ]*(assert|assume|cover|restrict)\b/dgv},attributes:{begin:/(?<!@[\t\n\r ]?)\(\*/dgv,beginCaptures:{"0":{name:"punctuation.attribute.rounds.begin"}},end:/\*\)/dgv,endCaptures:{"0":{name:"punctuation.attribute.rounds.end"}},name:"meta.attribute.systemverilog",patterns:[{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"keyword.operator.assignment.systemverilog"}},match:/([A-Z_a-z][\$0-9A-Z_a-z]*)(?:[\t\n\r ]*(=)[\t\n\r ]*)?/dgv},{include:"#constants"},{include:"#strings"}]},"base-grammar":{patterns:[{include:"#all-types"},{include:"#comments"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{captures:{"1":{name:"storage.type.interface.systemverilog"}},match:/[\t\n\r ]*\b([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]+[A-Z_a-z][\t\n \,0-9\=A-Z_a-z]*/dgv},{include:"#storage-scope"}]},"bind-directive":{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.type.module.systemverilog"}},match:/[\t\n\r ]*\b(bind)[\t\n\r ]+([A-Z_a-z][\$\.0-9A-Z_a-z]*)\b/dgv,name:"meta.definition.systemverilog"},"built-ins":{patterns:[{match:/[\t\n\r ]*\b(bit|logic|reg)\b/dgv,name:"storage.type.vector.systemverilog"},{match:/[\t\n\r ]*\b(byte|shortint|int|longint|integer|time|genvar)\b/dgv,name:"storage.type.atom.systemverilog"},{match:/[\t\n\r ]*\b(shortreal|real|realtime)\b/dgv,name:"storage.type.notint.systemverilog"},{match:/[\t\n\r ]*\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\b/dgv,name:"storage.type.net.systemverilog"},{match:/[\t\n\r ]*\b(genvar|var|void|signed|unsigned|string|const|process)\b/dgv,name:"storage.type.built-in.systemverilog"},{match:/[\t\n\r ]*\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\b/dgv,name:"storage.type.uvm.systemverilog"}]},"cast-operator":{captures:{"1":{patterns:[{include:"#built-ins"},{include:"#constants"},{match:/[A-Z_a-z][\$0-9A-Z_a-z]*/dgv,name:"storage.type.user-defined.systemverilog"}]},"2":{name:"keyword.operator.cast.systemverilog"}},match:/[\t\n\r ]*([0-9]+|[A-Z_a-z][\$0-9A-Z_a-z]*)(')(?=\()/dgv,name:"meta.cast.systemverilog"},"class-declaration":{begin:/[\t\n\r ]*\b(virtual[\t\n\r ]+)?(class)(?:[\t\n\r ]+((?:st|autom)atic))?[\t\n\r ]+([A-Z_a-z][\$0-\:A-Z_a-z]*)(?:[\t\n\r ]+(extends|implements)[\t\n\r ]+([A-Z_a-z][\$0-\:A-Z_a-z]*))?/dgv,beginCaptures:{"1":{name:"storage.modifier.systemverilog"},"2":{name:"storage.type.class.systemverilog"},"3":{name:"storage.modifier.systemverilog"},"4":{name:"entity.name.type.class.systemverilog"},"5":{name:"keyword.control.systemverilog"},"6":{name:"entity.name.type.class.systemverilog"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.definition.class.end.systemverilog"}},name:"meta.class.systemverilog",patterns:[{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.type.class.systemverilog"},"3":{name:"entity.name.type.class.systemverilog"}},match:/[\t\n\r ]+\b(extends|implements)[\t\n\r ]+([A-Z_a-z][\$0-\:A-Z_a-z]*)(?:[\t\n\r ]*,[\t\n\r ]*([A-Z_a-z][\$0-\:A-Z_a-z]*))*/dgv},{captures:{"1":{name:"storage.type.userdefined.systemverilog"},"2":{name:"keyword.operator.param.systemverilog"}},match:/[\t\n\r ]+\b([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]*(#)\(/dgv,name:"meta.typedef.class.systemverilog"},{include:"#port-net-parameter"},{include:"#base-grammar"},{include:"#module-binding"},{include:"#identifiers"}]},comments:{patterns:[{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.systemverilog"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.systemverilog"}},name:"comment.block.systemverilog",patterns:[{include:"#fixme-todo"}]},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.systemverilog"}},end:/(?=\n?$)\n?/dgv,name:"comment.line.double-slash.systemverilog",patterns:[{include:"#fixme-todo"}]}]},"compiler-directives":{name:"meta.preprocessor.systemverilog",patterns:[{captures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"string.regexp.systemverilog"}},match:/(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\b/dgv},{captures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"string.regexp.systemverilog"},"3":{name:"variable.other.constant.preprocessor.systemverilog"}},match:/(`)(ifdef|ifndef|elsif|define|undef|pragma)[\t\n\r ]+([A-Z_a-z][\$0-9A-Z_a-z]*)\b/dgv},{captures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"string.regexp.systemverilog"}},match:/(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\b/dgv},{begin:/(`)(protected)\b/dgv,beginCaptures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"string.regexp.systemverilog"}},end:/(`)(endprotected)\b/dgv,endCaptures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"string.regexp.systemverilog"}},name:"meta.crypto.systemverilog"},{captures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"variable.other.constant.preprocessor.systemverilog"}},match:/(`)([A-Z_a-z][\$0-9A-Z_a-z]*)\b/dgv}]},constants:{patterns:[{match:/(\b[1-9][0-9_]*)?'([Ss]?[Bb][\t\n\r ]*[01\?XZxz][01\?XZ_xz]*|[Ss]?[Oo][\t\n\r ]*[0-7\?XZxz][0-7\?XZ_xz]*|[Ss]?[Dd][\t\n\r ]*[0-9\?XZxz][0-9\?XZ_xz]*|[Ss]?[Hh][\t\n\r ]*[\?XZxz\p{AHex}][\?XZ_xz\p{AHex}]*)(([Ee])([\-\+])?[0-9]+)?(?!['\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.systemverilog"},{match:/'[01XZxz]/dgv,name:"constant.numeric.bit.systemverilog"},{match:/\b\p{Nd}[\._\p{Nd}]*(?<!\.)[Ee][\-\+]?[0-9]+\b/dgv,name:"constant.numeric.exp.systemverilog"},{match:/\b\p{Nd}[\._\p{Nd}]*(?![\.\p{Nd}]|[\t\n\r ]*(?:[Ee]|fs|ps|ns|us|ms|s))\b/dgv,name:"constant.numeric.decimal.systemverilog"},{match:/\b\p{Nd}[\.\p{Nd}]*[\t\n\r ]*(?:[fmnpu]|)s\b/dgv,name:"constant.numeric.time.systemverilog"},{include:"#compiler-directives"},{match:/\b(?:this|super|null)\b/dgv,name:"constant.language.systemverilog"},{match:/\b([A-Z][0-9A-Z_]*)\b/dgv,name:"constant.other.net.systemverilog"},{match:/\b(?<!\.)([0-9A-Z_]+)(?!\.)\b/dgv,name:"constant.numeric.parameter.uppercase.systemverilog"},{match:/\.\*/dgv,name:"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{begin:/[\t\n\r ]*\b(enum|struct|union(?:[\t\n\r ]+tagged)?|class|interface[\t\n\r ]+class)(?:[\t\n\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][\$0-9A-Z_a-z]*)?[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?)?(?:[\t\n\r ]+(packed))?(?:[\t\n\r ]+((?:|un)signed))?(?=[\t\n\r ]*(?:\{|(?=\n?$)))/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{patterns:[{include:"#built-ins"}]},"3":{patterns:[{include:"#selects"}]},"4":{name:"storage.modifier.systemverilog"},"5":{name:"storage.modifier.systemverilog"}},end:/(?<=\})[\t\n\r ]*([A-Z_a-z][\$0-9A-Z_a-z]*|(?<=^|[\t\n\r ])\\[\!-\~]+(?=(?=\n?$)|[\t\n\r ]))[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?[\t\n\r ]*[\,\;]/dgv,endCaptures:{"1":{patterns:[{include:"#identifiers"}]},"2":{patterns:[{include:"#selects"}]}},name:"meta.enum-struct-union.systemverilog",patterns:[{include:"#keywords"},{include:"#base-grammar"},{include:"#identifiers"}]},"fixme-todo":{patterns:[{match:/fixme/dgiv,name:"invalid.broken.fixme.systemverilog"},{match:/todo/dgiv,name:"invalid.unimplemented.todo.systemverilog"}]},"function-task":{begin:/[\t\n\r ]*(?:\b(virtual)[\t\n\r ]+)?\b(function|task)\b(?:[\t\n\r ]+\b((?:st|autom)atic)\b)?/dgv,beginCaptures:{"1":{name:"storage.modifier.systemverilog"},"2":{name:"storage.type.function.systemverilog"},"3":{name:"storage.modifier.systemverilog"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.definition.function.end.systemverilog"}},name:"meta.function.systemverilog",patterns:[{captures:{"1":{name:"support.type.scope.systemverilog"},"2":{name:"keyword.operator.scope.systemverilog"},"3":{patterns:[{include:"#built-ins"},{match:/[A-Z_a-z][\$0-9A-Z_a-z]*/dgv,name:"storage.type.user-defined.systemverilog"}]},"4":{patterns:[{include:"#modifiers"}]},"5":{patterns:[{include:"#selects"}]},"6":{name:"entity.name.function.systemverilog"}},match:/[\t\n\r ]*(?:\b([A-Z_a-z][\$0-9A-Z_a-z]*)(::))?([A-Z_a-z][\$0-9A-Z_a-z]*\b[\t\n\r ]+)?(?:\b((?:|un)signed)\b[\t\n\r ]*)?(?:(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])[\t\n\r ]*)?\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b[\t\n\r ]*(?=[\(\;])/dgv},{include:"#keywords"},{include:"#port-net-parameter"},{include:"#base-grammar"},{include:"#identifiers"}]},functions:{match:/[\t\n\r ]*\b(?!while|for|if|iff|else|case|casex|casez)([A-Z_a-z][\$0-9A-Z_a-z]*)(?=[\t\n\r ]*\()/dgv,name:"entity.name.function.systemverilog"},identifiers:{patterns:[{match:/\b[A-Z_a-z][\$0-9A-Z_a-z]*\b/dgv,name:"variable.other.identifier.systemverilog"},{match:/(?<=^|[\t\n\r ])\\[\!-\~]+(?=(?=\n?$)|[\t\n\r ])/dgv,name:"string.regexp.identifier.systemverilog"}]},imports:{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"support.type.scope.systemverilog"},"3":{name:"keyword.operator.scope.systemverilog"},"4":{patterns:[{include:"#operators"},{include:"#identifiers"}]}},match:/[\t\n\r ]*\b((?:im|ex)port)[\t\n\r ]+([A-Z_a-z][\$0-9A-Z_a-z]*|\*)[\t\n\r ]*(::)[\t\n\r ]*([A-Z_a-z][\$0-9A-Z_a-z]*|\*)[\t\n\r ]*([\,\;])/dgv,name:"meta.import.systemverilog"},keywords:{patterns:[{captures:{"1":{name:"keyword.other.systemverilog"}},match:/[\t\n\r ]*\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\b/dgv},{include:"#sv-control"},{include:"#sv-control-begin"},{include:"#sv-control-end"},{include:"#sv-definition"},{include:"#sv-cover-cross"},{include:"#sv-std"},{include:"#sv-option"},{include:"#sv-local"},{include:"#sv-rand"}]},modifiers:{match:/[\t\n\r ]*\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\b/dgv,name:"storage.modifier.systemverilog"},"module-binding":{begin:/\.([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]*\(/dgv,beginCaptures:{"1":{name:"support.function.port.systemverilog"}},end:/\),?/dgv,name:"meta.port.binding.systemverilog",patterns:[{include:"#constants"},{include:"#comments"},{include:"#operators"},{include:"#strings"},{include:"#constants"},{include:"#storage-scope"},{include:"#cast-operator"},{include:"#system-tf"},{match:/\bvirtual\b/dgv,name:"storage.modifier.systemverilog"},{include:"#identifiers"}]},"module-declaration":{begin:/[\t\n\r ]*\b((?:macro)?module|interface|program|package|modport)[\t\n\r ]+(?:((?:st|autom)atic)[\t\n\r ]+)?([A-Z_a-z][\$0-9A-Z_a-z]*)\b/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"storage.modifier.systemverilog"},"3":{name:"entity.name.type.module.systemverilog"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.definition.module.end.systemverilog"}},name:"meta.module.systemverilog",patterns:[{include:"#parameters"},{include:"#port-net-parameter"},{include:"#imports"},{include:"#base-grammar"},{include:"#system-tf"},{include:"#identifiers"}]},"module-no-parameters":{begin:/[\t\n\r ]*\b(?:(bind|pullup|pulldown)[\t\n\r ]+(?:([A-Z_a-z][\$\.0-9A-Z_a-z]*)[\t\n\r ]+)?)?(\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[cnp]mos|r?tran|r?tranif[01])\b|[A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]+(?!intersect|and|or|throughout|within)([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?[\t\n\r ]*(?=\(|(?=\n?$))(?!;)/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.type.module.systemverilog"},"3":{name:"entity.name.type.module.systemverilog"},"4":{name:"variable.other.module.systemverilog"},"5":{patterns:[{include:"#selects"}]}},end:/\)(?:[\t\n\r ]*(;))?/dgv,endCaptures:{"1":{name:"punctuation.module.instantiation.end.systemverilog"}},name:"meta.module.no_parameters.systemverilog",patterns:[{include:"#module-binding"},{include:"#comments"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{include:"#port-net-parameter"},{match:/\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b(?=[\t\n\r ]*(\(|(?=\n?$)))/dgv,name:"variable.other.module.systemverilog"},{include:"#identifiers"}]},"module-parameters":{begin:/[\t\n\r ]*\b(?:(bind)[\t\n\r ]+([A-Z_a-z][\$\.0-9A-Z_a-z]*)[\t\n\r ]+)?([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]+(?!intersect|and|or|throughout|within)(?=#[^\#])/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.type.module.systemverilog"},"3":{name:"entity.name.type.module.systemverilog"}},end:/\)(?:[\t\n\r ]*(;))?/dgv,endCaptures:{"1":{name:"punctuation.module.instantiation.end.systemverilog"}},name:"meta.module.parameters.systemverilog",patterns:[{match:/\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b(?=[\t\n\r ]*\()/dgv,name:"variable.other.module.systemverilog"},{include:"#module-binding"},{include:"#parameters"},{include:"#comments"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{include:"#port-net-parameter"},{match:/\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b(?=[\t\n\r ]*(?=\n?$))/dgv,name:"variable.other.module.systemverilog"},{include:"#identifiers"}]},operators:{patterns:[{match:/\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\b|:=|:\/|\|->|\|=>|->>|\*>|#-#|#=#|&&&/dgv,name:"keyword.operator.logical.systemverilog"},{match:/@|##|#|->|<->/dgv,name:"keyword.operator.channel.systemverilog"},{match:/(?:[\-\%\&\*\+\/\^\|]|>>>|>>|<<<|<<|<|)=/dgv,name:"keyword.operator.assignment.systemverilog"},{match:/\+\+/dgv,name:"keyword.operator.increment.systemverilog"},{match:/--/dgv,name:"keyword.operator.decrement.systemverilog"},{match:/[\-\+]|\*\*|[\%\*\/]/dgv,name:"keyword.operator.arithmetic.systemverilog"},{match:/!|&&|\|\|/dgv,name:"keyword.operator.logical.systemverilog"},{match:/<<<|<<|>>>|>>/dgv,name:"keyword.operator.bitwise.shift.systemverilog"},{match:/~&|~\||~|\^~|~\^|[\&\^\{\|]|'\{|[\:\?\}]/dgv,name:"keyword.operator.bitwise.systemverilog"},{match:/<=|<|>=|>|==\?|!=\?|===|!==|==|!=/dgv,name:"keyword.operator.comparison.systemverilog"}]},parameters:{begin:/[\t\n\r ]*(#)[\t\n\r ]*(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.channel.systemverilog"},"2":{name:"punctuation.section.parameters.begin"}},end:/(\))[\t\n\r ]*(?=[\(\;A-Z\\_a-z]|(?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.section.parameters.end"}},name:"meta.parameters.systemverilog",patterns:[{include:"#port-net-parameter"},{include:"#comments"},{include:"#constants"},{include:"#operators"},{include:"#strings"},{include:"#system-tf"},{include:"#functions"},{match:/\bvirtual\b/dgv,name:"storage.modifier.systemverilog"},{include:"#module-binding"}]},"port-net-parameter":{patterns:[{captures:{"1":{name:"support.type.direction.systemverilog"},"2":{name:"storage.type.net.systemverilog"},"3":{name:"support.type.scope.systemverilog"},"4":{name:"keyword.operator.scope.systemverilog"},"5":{patterns:[{include:"#built-ins"},{match:/[A-Z_a-z][\$0-9A-Z_a-z]*/dgv,name:"storage.type.user-defined.systemverilog"}]},"6":{patterns:[{include:"#modifiers"}]},"7":{patterns:[{include:"#selects"}]},"8":{patterns:[{include:"#constants"},{include:"#identifiers"}]},"9":{patterns:[{include:"#selects"}]}},match:/,?[\t\n\r ]*(?:\b(output|input|inout|ref)\b[\t\n\r ]*)?(?:\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\b[\t\n\r ]*)?(?:\b([A-Z_a-z][\$0-9A-Z_a-z]*)(::))?(?:([A-Z_a-z][\$0-9A-Z_a-z]*)\b[\t\n\r ]*)?(?:\b((?:|un)signed)\b[\t\n\r ]*)?(?:(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])[\t\n\r ]*)?(?<!(?<!#)[\-\!\%\&\(\*\+\/\:\<-\?\^\|\~][\t\n\r ]*)\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?[\t\n\r ]*(?=[\)\,\/\;\=]|(?=\n?$))/dgv,name:"meta.port-net-parameter.declaration.systemverilog"}]},selects:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.slice.brackets.begin"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.slice.brackets.end"}},name:"meta.brackets.select.systemverilog",patterns:[{match:/\$(?![a-z])/dgv,name:"constant.language.systemverilog"},{include:"#system-tf"},{include:"#constants"},{include:"#operators"},{include:"#cast-operator"},{include:"#storage-scope"},{match:/[A-Z_a-z][\$0-9A-Z_a-z]*/dgv,name:"variable.other.identifier.systemverilog"}]},sequence:{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.function.systemverilog"}},match:/[\t\n\r ]*\b(sequence)[\t\n\r ]+([A-Z_a-z][\$0-9A-Z_a-z]*)\b/dgv,name:"meta.sequence.systemverilog"},"storage-scope":{captures:{"1":{name:"support.type.scope.systemverilog"},"2":{name:"keyword.operator.scope.systemverilog"}},match:/\b([A-Z_a-z][\$0-9A-Z_a-z]*)(::)/dgv,name:"meta.scope.systemverilog"},strings:{patterns:[{begin:/`?"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.systemverilog"}},end:/"`?/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.systemverilog"}},name:"string.quoted.double.systemverilog",patterns:[{match:/\\(?:["\\afntv]|[0-7]{3}|x\p{AHex}{2})/dgv,name:"constant.character.escape.systemverilog"},{match:/%(\p{Nd}+\$)?[\- \#'\+0]*[\,\:\;_]?((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?(\.((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?)?(hh|h|ll|[Ljltz])?[\%B-HLMOPS-VXZb-hlmops-vxz]/dgv,name:"constant.character.format.placeholder.systemverilog"},{match:/%/dgv,name:"invalid.illegal.placeholder.systemverilog"},{include:"#fixme-todo"}]},{begin:/(?<=include)[\t\n\r ]*(<)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.systemverilog"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.systemverilog"}},name:"string.quoted.other.lt-gt.include.systemverilog"}]},"sv-control":{captures:{"1":{name:"keyword.control.systemverilog"}},match:/[\t\n\r ]*\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|if|iff|else|case|casex|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique|unique0|priority)\b/dgv},"sv-control-begin":{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"punctuation.definition.label.systemverilog"},"3":{name:"entity.name.section.systemverilog"}},match:/[\t\n\r ]*\b(begin|fork)\b(?:[\t\n\r ]*(:)[\t\n\r ]*([A-Z_a-z][\$0-9A-Z_a-z]*))?/dgv,name:"meta.item.begin.systemverilog"},"sv-control-end":{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"punctuation.definition.label.systemverilog"},"3":{name:"entity.name.section.systemverilog"}},match:/[\t\n\r ]*\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\b(?:[\t\n\r ]*(:)[\t\n\r ]*([A-Z_a-z][\$0-9A-Z_a-z]*))?/dgv,name:"meta.item.end.systemverilog"},"sv-cover-cross":{captures:{"2":{name:"entity.name.type.class.systemverilog"},"3":{name:"keyword.operator.other.systemverilog"},"4":{name:"keyword.control.systemverilog"}},match:/(([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]*(:))?[\t\n\r ]*(c(?:overpoint|ross))[\t\n\r ]+([A-Z_a-z][\$0-9A-Z_a-z]*)/dgv,name:"meta.definition.systemverilog"},"sv-definition":{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.type.class.systemverilog"}},match:/[\t\n\r ]*\b(primitive|package|constraint|interface|covergroup|program)[\t\n\r ]+\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b/dgv,name:"meta.definition.systemverilog"},"sv-local":{captures:{"1":{name:"keyword.other.systemverilog"}},match:/[\t\n\r ]*\b(const|static|protected|virtual|localparam|parameter|local)\b/dgv},"sv-option":{captures:{"1":{name:"keyword.cover.systemverilog"}},match:/[\t\n\r ]*\b(option)\./dgv},"sv-rand":{match:/[\t\n\r ]*\brand(?:|c)\b/dgv,name:"storage.type.rand.systemverilog"},"sv-std":{match:/\b(std)\b::/dgv,name:"support.class.systemverilog"},"system-tf":{match:/\$[\$0-9A-Z_a-z][\$0-9A-Z_a-z]*\b/dgv,name:"support.function.systemverilog"},tables:{begin:/[\t\n\r ]*\b(table)\b/dgv,beginCaptures:{"1":{name:"keyword.table.systemverilog.begin"}},end:/[\t\n\r ]*\b(endtable)\b/dgv,endCaptures:{"1":{name:"keyword.table.systemverilog.end"}},name:"meta.table.systemverilog",patterns:[{include:"#comments"},{match:/\b[01BFNPRXbfnprx]\b/dgv,name:"constant.language.systemverilog"},{match:/[\-\*\?]/dgv,name:"constant.language.systemverilog"},{captures:{"1":{name:"constant.language.systemverilog"}},match:/\(([01\?Xx]{2})\)/dgv},{match:/:/dgv,name:"punctuation.definition.label.systemverilog"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{include:"#identifiers"}]},typedef:{begin:/[\t\n\r ]*\b(typedef)[\t\n\r ]+(?:([A-Z_a-z][\$0-9A-Z_a-z]*)(?:[\t\n\r ]+\b((?:|un)signed)\b)?[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?)?(?=[\t\n\r ]*[A-Z\\_a-z])/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{patterns:[{include:"#built-ins"},{match:/\bvirtual\b/dgv,name:"storage.modifier.systemverilog"}]},"3":{patterns:[{include:"#modifiers"}]},"4":{patterns:[{include:"#selects"}]}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.definition.typedef.end.systemverilog"}},name:"meta.typedef.systemverilog",patterns:[{include:"#identifiers"},{include:"#selects"}]},"typedef-enum-struct-union":{begin:/[\t\n\r ]*\b(typedef)[\t\n\r ]+(enum|struct|union(?:[\t\n\r ]+tagged)?|class|interface[\t\n\r ]+class)(?:[\t\n\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][\$0-9A-Z_a-z]*)?[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?)?(?:[\t\n\r ]+(packed))?(?:[\t\n\r ]+((?:|un)signed))?(?=[\t\n\r ]*(?:\{|(?=\n?$)))/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"keyword.control.systemverilog"},"3":{patterns:[{include:"#built-ins"}]},"4":{patterns:[{include:"#selects"}]},"5":{name:"storage.modifier.systemverilog"},"6":{name:"storage.modifier.systemverilog"}},end:/(?<=\})[\t\n\r ]*([A-Z_a-z][\$0-9A-Z_a-z]*|(?<=^|[\t\n\r ])\\[\!-\~]+(?=(?=\n?$)|[\t\n\r ]))[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?[\t\n\r ]*[\,\;]/dgv,endCaptures:{"1":{name:"storage.type.systemverilog"},"2":{patterns:[{include:"#selects"}]}},name:"meta.typedef-enum-struct-union.systemverilog",patterns:[{include:"#port-net-parameter"},{include:"#keywords"},{include:"#base-grammar"},{include:"#identifiers"}]}},scopeName:"source.systemverilog",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"SystemVerilog",fileTypes:["v","vh","sv","svh"],name:"system-verilog",patterns:[{include:"#comments"},{include:"#strings"},{include:"#typedef-enum-struct-union"},{include:"#typedef"},{include:"#functions"},{include:"#keywords"},{include:"#tables"},{include:"#function-task"},{include:"#module-declaration"},{include:"#class-declaration"},{include:"#enum-struct-union"},{include:"#sequence"},{include:"#all-types"},{include:"#module-parameters"},{include:"#module-no-parameters"},{include:"#port-net-parameter"},{include:"#system-tf"},{include:"#assertion"},{include:"#bind-directive"},{include:"#cast-operator"},{include:"#storage-scope"},{include:"#attributes"},{include:"#imports"},{include:"#operators"},{include:"#constants"},{include:"#identifiers"},{include:"#selects"}],repository:{"all-types":{patterns:[{include:"#built-ins"},{include:"#modifiers"}]},assertion:{captures:{"1":{name:"entity.name.goto-label.php"},"2":{name:"keyword.operator.systemverilog"},"3":{name:"keyword.sva.systemverilog"}},match:/\b([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]*(:)[\t\n\r ]*(assert|assume|cover|restrict)\b/dgv},attributes:{begin:/(?<!@[\t\n\r ]?)\(\*/dgv,beginCaptures:{"0":{name:"punctuation.attribute.rounds.begin"}},end:/\*\)/dgv,endCaptures:{"0":{name:"punctuation.attribute.rounds.end"}},name:"meta.attribute.systemverilog",patterns:[{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"keyword.operator.assignment.systemverilog"}},match:/([A-Z_a-z][\$0-9A-Z_a-z]*)(?:[\t\n\r ]*(=)[\t\n\r ]*)?/dgv},{include:"#constants"},{include:"#strings"}]},"base-grammar":{patterns:[{include:"#all-types"},{include:"#comments"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{captures:{"1":{name:"storage.type.interface.systemverilog"}},match:/[\t\n\r ]*\b([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]+[A-Z_a-z][\t\n \,0-9\=A-Z_a-z]*/dgv},{include:"#storage-scope"}]},"bind-directive":{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.type.module.systemverilog"}},match:/[\t\n\r ]*\b(bind)[\t\n\r ]+([A-Z_a-z][\$\.0-9A-Z_a-z]*)\b/dgv,name:"meta.definition.systemverilog"},"built-ins":{patterns:[{match:/[\t\n\r ]*\b(bit|logic|reg)\b/dgv,name:"storage.type.vector.systemverilog"},{match:/[\t\n\r ]*\b(byte|shortint|int|longint|integer|time|genvar)\b/dgv,name:"storage.type.atom.systemverilog"},{match:/[\t\n\r ]*\b(shortreal|real|realtime)\b/dgv,name:"storage.type.notint.systemverilog"},{match:/[\t\n\r ]*\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\b/dgv,name:"storage.type.net.systemverilog"},{match:/[\t\n\r ]*\b(genvar|var|void|signed|unsigned|string|const|process)\b/dgv,name:"storage.type.built-in.systemverilog"},{match:/[\t\n\r ]*\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\b/dgv,name:"storage.type.uvm.systemverilog"}]},"cast-operator":{captures:{"1":{patterns:[{include:"#built-ins"},{include:"#constants"},{match:/[A-Z_a-z][\$0-9A-Z_a-z]*/dgv,name:"storage.type.user-defined.systemverilog"}]},"2":{name:"keyword.operator.cast.systemverilog"}},match:/[\t\n\r ]*([0-9]+|[A-Z_a-z][\$0-9A-Z_a-z]*)(')(?=\()/dgv,name:"meta.cast.systemverilog"},"class-declaration":{begin:/[\t\n\r ]*\b(virtual[\t\n\r ]+)?(class)(?:[\t\n\r ]+((?:st|autom)atic))?[\t\n\r ]+([A-Z_a-z][\$0-\:A-Z_a-z]*)(?:[\t\n\r ]+(extends|implements)[\t\n\r ]+([A-Z_a-z][\$0-\:A-Z_a-z]*))?/dgv,beginCaptures:{"1":{name:"storage.modifier.systemverilog"},"2":{name:"storage.type.class.systemverilog"},"3":{name:"storage.modifier.systemverilog"},"4":{name:"entity.name.type.class.systemverilog"},"5":{name:"keyword.control.systemverilog"},"6":{name:"entity.name.type.class.systemverilog"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.definition.class.end.systemverilog"}},name:"meta.class.systemverilog",patterns:[{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.type.class.systemverilog"},"3":{name:"entity.name.type.class.systemverilog"}},match:/[\t\n\r ]+\b(extends|implements)[\t\n\r ]+([A-Z_a-z][\$0-\:A-Z_a-z]*)(?:[\t\n\r ]*,[\t\n\r ]*([A-Z_a-z][\$0-\:A-Z_a-z]*))*/dgv},{captures:{"1":{name:"storage.type.userdefined.systemverilog"},"2":{name:"keyword.operator.param.systemverilog"}},match:/[\t\n\r ]+\b([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]*(#)\(/dgv,name:"meta.typedef.class.systemverilog"},{include:"#port-net-parameter"},{include:"#base-grammar"},{include:"#module-binding"},{include:"#identifiers"}]},comments:{patterns:[{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.systemverilog"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.systemverilog"}},name:"comment.block.systemverilog",patterns:[{include:"#fixme-todo"}]},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.systemverilog"}},end:/(?=\n?$)\n?/dgv,name:"comment.line.double-slash.systemverilog",patterns:[{include:"#fixme-todo"}]}]},"compiler-directives":{name:"meta.preprocessor.systemverilog",patterns:[{captures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"string.regexp.systemverilog"}},match:/(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\b/dgv},{captures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"string.regexp.systemverilog"},"3":{name:"variable.other.constant.preprocessor.systemverilog"}},match:/(`)(ifdef|ifndef|elsif|define|undef|pragma)[\t\n\r ]+([A-Z_a-z][\$0-9A-Z_a-z]*)\b/dgv},{captures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"string.regexp.systemverilog"}},match:/(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\b/dgv},{begin:/(`)(protected)\b/dgv,beginCaptures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"string.regexp.systemverilog"}},end:/(`)(endprotected)\b/dgv,endCaptures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"string.regexp.systemverilog"}},name:"meta.crypto.systemverilog"},{captures:{"1":{name:"punctuation.definition.directive.systemverilog"},"2":{name:"variable.other.constant.preprocessor.systemverilog"}},match:/(`)([A-Z_a-z][\$0-9A-Z_a-z]*)\b/dgv}]},constants:{patterns:[{match:/(\b[1-9][0-9_]*)?'([Ss]?[Bb][\t\n\r ]*[01\?XZxz][01\?XZ_xz]*|[Ss]?[Oo][\t\n\r ]*[0-7\?XZxz][0-7\?XZ_xz]*|[Ss]?[Dd][\t\n\r ]*[0-9\?XZxz][0-9\?XZ_xz]*|[Ss]?[Hh][\t\n\r ]*[\?XZxz\p{AHex}][\?XZ_xz\p{AHex}]*)(([Ee])([\-\+])?[0-9]+)?(?!['\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.systemverilog"},{match:/'[01XZxz]/dgv,name:"constant.numeric.bit.systemverilog"},{match:/\b\p{Nd}[\._\p{Nd}]*(?<!\.)[Ee][\-\+]?[0-9]+\b/dgv,name:"constant.numeric.exp.systemverilog"},{match:/\b\p{Nd}[\._\p{Nd}]*(?![\.\p{Nd}]|[\t\n\r ]*(?:[Ee]|fs|ps|ns|us|ms|s))\b/dgv,name:"constant.numeric.decimal.systemverilog"},{match:/\b\p{Nd}[\.\p{Nd}]*[\t\n\r ]*(?:[fnpu]|m?)s\b/dgv,name:"constant.numeric.time.systemverilog"},{include:"#compiler-directives"},{match:/\b(?:this|super|null)\b/dgv,name:"constant.language.systemverilog"},{match:/\b([A-Z][0-9A-Z_]*)\b/dgv,name:"constant.other.net.systemverilog"},{match:/\b(?<!\.)([0-9A-Z_]+)(?!\.)\b/dgv,name:"constant.numeric.parameter.uppercase.systemverilog"},{match:/\.\*/dgv,name:"keyword.operator.quantifier.regexp"}]},"enum-struct-union":{begin:/[\t\n\r ]*\b(enum|struct|union(?:[\t\n\r ]+tagged)?|class|interface[\t\n\r ]+class)(?:[\t\n\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][\$0-9A-Z_a-z]*)?[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?)?(?:[\t\n\r ]+(packed))?(?:[\t\n\r ]+((?:|un)signed))?(?=[\t\n\r ]*(?:\{|(?=\n?$)))/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{patterns:[{include:"#built-ins"}]},"3":{patterns:[{include:"#selects"}]},"4":{name:"storage.modifier.systemverilog"},"5":{name:"storage.modifier.systemverilog"}},end:/(?<=\})[\t\n\r ]*([A-Z_a-z][\$0-9A-Z_a-z]*|(?<=^|[\t\n\r ])\\[\!-\~]+(?=(?=\n?$)|[\t\n\r ]))[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?[\t\n\r ]*[\,\;]/dgv,endCaptures:{"1":{patterns:[{include:"#identifiers"}]},"2":{patterns:[{include:"#selects"}]}},name:"meta.enum-struct-union.systemverilog",patterns:[{include:"#keywords"},{include:"#base-grammar"},{include:"#identifiers"}]},"fixme-todo":{patterns:[{match:/fixme/dgiv,name:"invalid.broken.fixme.systemverilog"},{match:/todo/dgiv,name:"invalid.unimplemented.todo.systemverilog"}]},"function-task":{begin:/[\t\n\r ]*(?:\b(virtual)[\t\n\r ]+)?\b(function|task)\b(?:[\t\n\r ]+\b((?:st|autom)atic)\b)?/dgv,beginCaptures:{"1":{name:"storage.modifier.systemverilog"},"2":{name:"storage.type.function.systemverilog"},"3":{name:"storage.modifier.systemverilog"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.definition.function.end.systemverilog"}},name:"meta.function.systemverilog",patterns:[{captures:{"1":{name:"support.type.scope.systemverilog"},"2":{name:"keyword.operator.scope.systemverilog"},"3":{patterns:[{include:"#built-ins"},{match:/[A-Z_a-z][\$0-9A-Z_a-z]*/dgv,name:"storage.type.user-defined.systemverilog"}]},"4":{patterns:[{include:"#modifiers"}]},"5":{patterns:[{include:"#selects"}]},"6":{name:"entity.name.function.systemverilog"}},match:/[\t\n\r ]*(?:\b([A-Z_a-z][\$0-9A-Z_a-z]*)(::))?([A-Z_a-z][\$0-9A-Z_a-z]*\b[\t\n\r ]+)?(?:\b((?:|un)signed)\b[\t\n\r ]*)?(?:(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])[\t\n\r ]*)?\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b[\t\n\r ]*(?=[\(\;])/dgv},{include:"#keywords"},{include:"#port-net-parameter"},{include:"#base-grammar"},{include:"#identifiers"}]},functions:{match:/[\t\n\r ]*\b(?!while|for|iff??|else|casex??|casez)([A-Z_a-z][\$0-9A-Z_a-z]*)(?=[\t\n\r ]*\()/dgv,name:"entity.name.function.systemverilog"},identifiers:{patterns:[{match:/\b[A-Z_a-z][\$0-9A-Z_a-z]*\b/dgv,name:"variable.other.identifier.systemverilog"},{match:/(?<=^|[\t\n\r ])\\[\!-\~]+(?=(?=\n?$)|[\t\n\r ])/dgv,name:"string.regexp.identifier.systemverilog"}]},imports:{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"support.type.scope.systemverilog"},"3":{name:"keyword.operator.scope.systemverilog"},"4":{patterns:[{include:"#operators"},{include:"#identifiers"}]}},match:/[\t\n\r ]*\b((?:im|ex)port)[\t\n\r ]+([A-Z_a-z][\$0-9A-Z_a-z]*|\*)[\t\n\r ]*(::)[\t\n\r ]*([A-Z_a-z][\$0-9A-Z_a-z]*|\*)[\t\n\r ]*([\,\;])/dgv,name:"meta.import.systemverilog"},keywords:{patterns:[{captures:{"1":{name:"keyword.other.systemverilog"}},match:/[\t\n\r ]*\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\b/dgv},{include:"#sv-control"},{include:"#sv-control-begin"},{include:"#sv-control-end"},{include:"#sv-definition"},{include:"#sv-cover-cross"},{include:"#sv-std"},{include:"#sv-option"},{include:"#sv-local"},{include:"#sv-rand"}]},modifiers:{match:/[\t\n\r ]*\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\b/dgv,name:"storage.modifier.systemverilog"},"module-binding":{begin:/\.([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]*\(/dgv,beginCaptures:{"1":{name:"support.function.port.systemverilog"}},end:/\),?/dgv,name:"meta.port.binding.systemverilog",patterns:[{include:"#constants"},{include:"#comments"},{include:"#operators"},{include:"#strings"},{include:"#constants"},{include:"#storage-scope"},{include:"#cast-operator"},{include:"#system-tf"},{match:/\bvirtual\b/dgv,name:"storage.modifier.systemverilog"},{include:"#identifiers"}]},"module-declaration":{begin:/[\t\n\r ]*\b((?:macro)?module|interface|program|package|modport)[\t\n\r ]+(?:((?:st|autom)atic)[\t\n\r ]+)?([A-Z_a-z][\$0-9A-Z_a-z]*)\b/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"storage.modifier.systemverilog"},"3":{name:"entity.name.type.module.systemverilog"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.definition.module.end.systemverilog"}},name:"meta.module.systemverilog",patterns:[{include:"#parameters"},{include:"#port-net-parameter"},{include:"#imports"},{include:"#base-grammar"},{include:"#system-tf"},{include:"#identifiers"}]},"module-no-parameters":{begin:/[\t\n\r ]*\b(?:(bind|pullup|pulldown)[\t\n\r ]+(?:([A-Z_a-z][\$\.0-9A-Z_a-z]*)[\t\n\r ]+)?)?(\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[cnp]mos|r?tran|r?tranif[01])\b|[A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]+(?!intersect|and|or|throughout|within)([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?[\t\n\r ]*(?=\(|(?=\n?$))(?!;)/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.type.module.systemverilog"},"3":{name:"entity.name.type.module.systemverilog"},"4":{name:"variable.other.module.systemverilog"},"5":{patterns:[{include:"#selects"}]}},end:/\)(?:[\t\n\r ]*(;))?/dgv,endCaptures:{"1":{name:"punctuation.module.instantiation.end.systemverilog"}},name:"meta.module.no_parameters.systemverilog",patterns:[{include:"#module-binding"},{include:"#comments"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{include:"#port-net-parameter"},{match:/\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b(?=[\t\n\r ]*(\(|(?=\n?$)))/dgv,name:"variable.other.module.systemverilog"},{include:"#identifiers"}]},"module-parameters":{begin:/[\t\n\r ]*\b(?:(bind)[\t\n\r ]+([A-Z_a-z][\$\.0-9A-Z_a-z]*)[\t\n\r ]+)?([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]+(?!intersect|and|or|throughout|within)(?=#[^\#])/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.type.module.systemverilog"},"3":{name:"entity.name.type.module.systemverilog"}},end:/\)(?:[\t\n\r ]*(;))?/dgv,endCaptures:{"1":{name:"punctuation.module.instantiation.end.systemverilog"}},name:"meta.module.parameters.systemverilog",patterns:[{match:/\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b(?=[\t\n\r ]*\()/dgv,name:"variable.other.module.systemverilog"},{include:"#module-binding"},{include:"#parameters"},{include:"#comments"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{include:"#port-net-parameter"},{match:/\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b(?=[\t\n\r ]*(?=\n?$))/dgv,name:"variable.other.module.systemverilog"},{include:"#identifiers"}]},operators:{patterns:[{match:/\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\b|:=|:\/|\|->|\|=>|->>|\*>|#-#|#=#|&&&/dgv,name:"keyword.operator.logical.systemverilog"},{match:/@|##?|->|<->/dgv,name:"keyword.operator.channel.systemverilog"},{match:/(?:[\-\%\&\*\+\/\^\|]|>>>?|<<<?|<?)=/dgv,name:"keyword.operator.assignment.systemverilog"},{match:/\+\+/dgv,name:"keyword.operator.increment.systemverilog"},{match:/--/dgv,name:"keyword.operator.decrement.systemverilog"},{match:/[\-\+]|\*\*|[\%\*\/]/dgv,name:"keyword.operator.arithmetic.systemverilog"},{match:/!|&&|\|\|/dgv,name:"keyword.operator.logical.systemverilog"},{match:/<<<?|>>>?/dgv,name:"keyword.operator.bitwise.shift.systemverilog"},{match:/~&|~\|?|\^~|~\^|[\&\^\{\|]|'\{|[\:\?\}]/dgv,name:"keyword.operator.bitwise.systemverilog"},{match:/<=?|>=?|==\?|!=\?|===|!==|==|!=/dgv,name:"keyword.operator.comparison.systemverilog"}]},parameters:{begin:/[\t\n\r ]*(#)[\t\n\r ]*(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.channel.systemverilog"},"2":{name:"punctuation.section.parameters.begin"}},end:/(\))[\t\n\r ]*(?=[\(\;A-Z\\_a-z]|(?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.section.parameters.end"}},name:"meta.parameters.systemverilog",patterns:[{include:"#port-net-parameter"},{include:"#comments"},{include:"#constants"},{include:"#operators"},{include:"#strings"},{include:"#system-tf"},{include:"#functions"},{match:/\bvirtual\b/dgv,name:"storage.modifier.systemverilog"},{include:"#module-binding"}]},"port-net-parameter":{patterns:[{captures:{"1":{name:"support.type.direction.systemverilog"},"2":{name:"storage.type.net.systemverilog"},"3":{name:"support.type.scope.systemverilog"},"4":{name:"keyword.operator.scope.systemverilog"},"5":{patterns:[{include:"#built-ins"},{match:/[A-Z_a-z][\$0-9A-Z_a-z]*/dgv,name:"storage.type.user-defined.systemverilog"}]},"6":{patterns:[{include:"#modifiers"}]},"7":{patterns:[{include:"#selects"}]},"8":{patterns:[{include:"#constants"},{include:"#identifiers"}]},"9":{patterns:[{include:"#selects"}]}},match:/,?[\t\n\r ]*(?:\b(output|input|inout|ref)\b[\t\n\r ]*)?(?:\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\b[\t\n\r ]*)?(?:\b([A-Z_a-z][\$0-9A-Z_a-z]*)(::))?(?:([A-Z_a-z][\$0-9A-Z_a-z]*)\b[\t\n\r ]*)?(?:\b((?:|un)signed)\b[\t\n\r ]*)?(?:(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])[\t\n\r ]*)?(?<!(?<!#)[\-\!\%\&\(\*\+\/\:\<-\?\^\|\~][\t\n\r ]*)\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?[\t\n\r ]*(?=[\)\,\/\;\=]|(?=\n?$))/dgv,name:"meta.port-net-parameter.declaration.systemverilog"}]},selects:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.slice.brackets.begin"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.slice.brackets.end"}},name:"meta.brackets.select.systemverilog",patterns:[{match:/\$(?![a-z])/dgv,name:"constant.language.systemverilog"},{include:"#system-tf"},{include:"#constants"},{include:"#operators"},{include:"#cast-operator"},{include:"#storage-scope"},{match:/[A-Z_a-z][\$0-9A-Z_a-z]*/dgv,name:"variable.other.identifier.systemverilog"}]},sequence:{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.function.systemverilog"}},match:/[\t\n\r ]*\b(sequence)[\t\n\r ]+([A-Z_a-z][\$0-9A-Z_a-z]*)\b/dgv,name:"meta.sequence.systemverilog"},"storage-scope":{captures:{"1":{name:"support.type.scope.systemverilog"},"2":{name:"keyword.operator.scope.systemverilog"}},match:/\b([A-Z_a-z][\$0-9A-Z_a-z]*)(::)/dgv,name:"meta.scope.systemverilog"},strings:{patterns:[{begin:/`?"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.systemverilog"}},end:/"`?/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.systemverilog"}},name:"string.quoted.double.systemverilog",patterns:[{match:/\\(?:["\\afntv]|[0-7]{3}|x\p{AHex}{2})/dgv,name:"constant.character.escape.systemverilog"},{match:/%(\p{Nd}+\$)?[\- \#'\+0]*[\,\:\;_]?((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?(\.((-?\p{Nd}+)|\*(-?\p{Nd}+\$)?)?)?(hh?|ll|[Ljltz])?[\%B-HLMOPS-VXZb-hlmops-vxz]/dgv,name:"constant.character.format.placeholder.systemverilog"},{match:/%/dgv,name:"invalid.illegal.placeholder.systemverilog"},{include:"#fixme-todo"}]},{begin:/(?<=include)[\t\n\r ]*(<)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.systemverilog"}},end:/>/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.systemverilog"}},name:"string.quoted.other.lt-gt.include.systemverilog"}]},"sv-control":{captures:{"1":{name:"keyword.control.systemverilog"}},match:/[\t\n\r ]*\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|iff??|else|casex??|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique0??|priority)\b/dgv},"sv-control-begin":{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"punctuation.definition.label.systemverilog"},"3":{name:"entity.name.section.systemverilog"}},match:/[\t\n\r ]*\b(begin|fork)\b(?:[\t\n\r ]*(:)[\t\n\r ]*([A-Z_a-z][\$0-9A-Z_a-z]*))?/dgv,name:"meta.item.begin.systemverilog"},"sv-control-end":{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"punctuation.definition.label.systemverilog"},"3":{name:"entity.name.section.systemverilog"}},match:/[\t\n\r ]*\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\b(?:[\t\n\r ]*(:)[\t\n\r ]*([A-Z_a-z][\$0-9A-Z_a-z]*))?/dgv,name:"meta.item.end.systemverilog"},"sv-cover-cross":{captures:{"2":{name:"entity.name.type.class.systemverilog"},"3":{name:"keyword.operator.other.systemverilog"},"4":{name:"keyword.control.systemverilog"}},match:/(([A-Z_a-z][\$0-9A-Z_a-z]*)[\t\n\r ]*(:))?[\t\n\r ]*(c(?:overpoint|ross))[\t\n\r ]+([A-Z_a-z][\$0-9A-Z_a-z]*)/dgv,name:"meta.definition.systemverilog"},"sv-definition":{captures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"entity.name.type.class.systemverilog"}},match:/[\t\n\r ]*\b(primitive|package|constraint|interface|covergroup|program)[\t\n\r ]+\b([A-Z_a-z][\$0-9A-Z_a-z]*)\b/dgv,name:"meta.definition.systemverilog"},"sv-local":{captures:{"1":{name:"keyword.other.systemverilog"}},match:/[\t\n\r ]*\b(const|static|protected|virtual|localparam|parameter|local)\b/dgv},"sv-option":{captures:{"1":{name:"keyword.cover.systemverilog"}},match:/[\t\n\r ]*\b(option)\./dgv},"sv-rand":{match:/[\t\n\r ]*\brandc??\b/dgv,name:"storage.type.rand.systemverilog"},"sv-std":{match:/\b(std)\b::/dgv,name:"support.class.systemverilog"},"system-tf":{match:/\$[\$0-9A-Z_a-z][\$0-9A-Z_a-z]*\b/dgv,name:"support.function.systemverilog"},tables:{begin:/[\t\n\r ]*\b(table)\b/dgv,beginCaptures:{"1":{name:"keyword.table.systemverilog.begin"}},end:/[\t\n\r ]*\b(endtable)\b/dgv,endCaptures:{"1":{name:"keyword.table.systemverilog.end"}},name:"meta.table.systemverilog",patterns:[{include:"#comments"},{match:/\b[01BFNPRXbfnprx]\b/dgv,name:"constant.language.systemverilog"},{match:/[\-\*\?]/dgv,name:"constant.language.systemverilog"},{captures:{"1":{name:"constant.language.systemverilog"}},match:/\(([01\?Xx]{2})\)/dgv},{match:/:/dgv,name:"punctuation.definition.label.systemverilog"},{include:"#operators"},{include:"#constants"},{include:"#strings"},{include:"#identifiers"}]},typedef:{begin:/[\t\n\r ]*\b(typedef)[\t\n\r ]+(?:([A-Z_a-z][\$0-9A-Z_a-z]*)(?:[\t\n\r ]+\b((?:|un)signed)\b)?[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?)?(?=[\t\n\r ]*[A-Z\\_a-z])/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{patterns:[{include:"#built-ins"},{match:/\bvirtual\b/dgv,name:"storage.modifier.systemverilog"}]},"3":{patterns:[{include:"#modifiers"}]},"4":{patterns:[{include:"#selects"}]}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.definition.typedef.end.systemverilog"}},name:"meta.typedef.systemverilog",patterns:[{include:"#identifiers"},{include:"#selects"}]},"typedef-enum-struct-union":{begin:/[\t\n\r ]*\b(typedef)[\t\n\r ]+(enum|struct|union(?:[\t\n\r ]+tagged)?|class|interface[\t\n\r ]+class)(?:[\t\n\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][\$0-9A-Z_a-z]*)?[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?)?(?:[\t\n\r ]+(packed))?(?:[\t\n\r ]+((?:|un)signed))?(?=[\t\n\r ]*(?:\{|(?=\n?$)))/dgv,beginCaptures:{"1":{name:"keyword.control.systemverilog"},"2":{name:"keyword.control.systemverilog"},"3":{patterns:[{include:"#built-ins"}]},"4":{patterns:[{include:"#selects"}]},"5":{name:"storage.modifier.systemverilog"},"6":{name:"storage.modifier.systemverilog"}},end:/(?<=\})[\t\n\r ]*([A-Z_a-z][\$0-9A-Z_a-z]*|(?<=^|[\t\n\r ])\\[\!-\~]+(?=(?=\n?$)|[\t\n\r ]))[\t\n\r ]*(\[[\]\t\n\r \$\%'-\+\--\:A-\[_-z]*\])?[\t\n\r ]*[\,\;]/dgv,endCaptures:{"1":{name:"storage.type.systemverilog"},"2":{patterns:[{include:"#selects"}]}},name:"meta.typedef-enum-struct-union.systemverilog",patterns:[{include:"#port-net-parameter"},{include:"#keywords"},{include:"#base-grammar"},{include:"#identifiers"}]}},scopeName:"source.systemverilog",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/systemd.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Systemd Units",name:"systemd",patterns:[{include:"#comments"},{begin:/^\p{space}*(InaccessableDirectories|InaccessibleDirectories|ReadOnlyDirectories|ReadWriteDirectories|Capabilities|TableId|UseDomainName|IPv6AcceptRouterAdvertisements|SysVStartPriority|StartLimitInterval|RequiresOverridable|RequisiteOverridable|PropagateReloadTo|PropagateReloadFrom|OnFailureIsolate|BindTo)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"invalid.deprecated"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,patterns:[{include:"#comments"},{include:"#variables"},{include:"#quotedString"},{include:"#booleans"},{include:"#timeSpans"},{include:"#sizes"},{include:"#numbers"}]},{begin:/^\p{space}*(Environment)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{captures:{"1":{name:"variable.parameter"},"2":{name:"keyword.operator.assignment"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|[\"'\\p{space}])([0-9A-Z_a-z]+)(=)(?=[^\"'\\p{space}])","dgv",{"strategy":"clip_search"})},{include:"#variables"},{include:"#booleans"},{include:"#numbers"}]},{begin:/^\p{space}*(OnCalendar)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#calendarShorthands"},{include:"#numbers"}]},{begin:/^\p{space}*(CapabilityBoundingSet|AmbientCapabilities|AddCapability|DropCapability)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#capabilities"}]},{begin:/^\p{space}*(Restart)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#restartOptions"}]},{begin:/^\p{space}*(Type)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#typeOptions"}]},{begin:/^\p{space}*(Exec(?:Start(?:P(?:re|ost))?|Reload|Stop(?:Post)?))\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#executablePrefixes"},{include:"#variables"},{include:"#quotedString"},{include:"#booleans"},{include:"#numbers"}]},{begin:/^\p{space}*([\-\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#quotedString"},{include:"#booleans"},{include:"#timeSpans"},{include:"#sizes"},{include:"#numbers"}]},{include:"#sections"}],repository:{booleans:{patterns:[{match:/\b(?<![\-\.\/])(true|false|on|off|yes|no)(?![\-\.\/])\b/dgv,name:"constant.language"}]},calendarShorthands:{patterns:[{match:/\b(?:minute|hour|dai|month|week|quarter|semiannual)ly\b/dgv,name:"constant.language"}]},capabilities:{patterns:[{match:/\bCAP_(?:AUDIT_CONTROL|AUDIT_READ|AUDIT_WRITE|BLOCK_SUSPEND|BPF|CHECKPOINT_RESTORE|CHOWN|DAC_OVERRIDE|DAC_READ_SEARCH|FOWNER|FSETID|IPC_LOCK|IPC_OWNER|KILL|LEASE|LINUX_IMMUTABLE|MAC_ADMIN|MAC_OVERRIDE|MKNOD|NET_ADMIN|NET_BIND_SERVICE|NET_BROADCAST|NET_RAW|PERFMON|SETFCAP|SETGID|SETPCAP|SETUID|SYS_ADMIN|SYS_BOOT|SYS_CHROOT|SYS_MODULE|SYS_NICE|SYS_PACCT|SYS_PTRACE|SYS_RAWIO|SYS_RESOURCE|SYS_TIME|SYS_TTY_CONFIG|SYSLOG|WAKE_ALARM)\b/dgv,name:"constant.other.systemd"}]},comments:{patterns:[{match:/^\p{space}*[\#\;][^\n]*\n/dgv,name:"comment.line.number-sign"}]},executablePrefixes:{patterns:[{match:/([\-\:\@]+(?:\+|!!?)?|(?:\+|!!?)[\-\:\@]*)/dgvy,name:"keyword.operator.prefix.systemd"}]},numbers:{patterns:[{match:/(?<=[\=\p{space}])\p{Nd}+(?:\.\p{Nd}+)?(?=[\:\p{space}]|(?=\n?$))/dgv,name:"constant.numeric"}]},quotedString:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})'","dgv",{"strategy":"clip_search"}),end:/[\n']/dgv,name:"string.quoted.single",patterns:[{match:/\\(?:[\n"'\\abfnrstv]|x\p{AHex}{2}|[0-8]{3}|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})\"","dgv",{"strategy":"clip_search"}),end:/[\n"]/dgv,name:"string.quoted.double",patterns:[{match:/\\(?:[\n"'\\abfnrstv]|x\p{AHex}{2}|[0-8]{3}|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape"}]}]},restartOptions:{patterns:[{match:/\b(no|always|on-(?:success|failure|abnormal|abort|watchdog))\b/dgv,name:"constant.language"}]},sections:{patterns:[{match:/^\p{space}*\[(Address|Automount|BFIFO|BandMultiQueueing|BareUDP|BatmanAdvanced|Bond|Bridge|BridgeFDB|BridgeMDB|BridgeVLAN|CAKE|CAN|ClassfulMultiQueueing|Container|Content|ControlledDelay|Coredump|D-BUS Service|DHCP|DHCPPrefixDelegation|DHCPServer|DHCPServerStaticLease|DHCPv4|DHCPv6|DHCPv6PrefixDelegation|DeficitRoundRobinScheduler|DeficitRoundRobinSchedulerClass|Distribution|EnhancedTransmissionSelection|Exec|FairQueueing|FairQueueingControlledDelay|Feature|Files|FlowQueuePIE|FooOverUDP|GENEVE|GenericRandomEarlyDetection|HeavyHitterFilter|HierarchyTokenBucket|HierarchyTokenBucketClass|Home|IOCost|IPVLAN|IPVTAP|IPoIB|IPv6AcceptRA|IPv6AddressLabel|IPv6PREF64Prefix|IPv6Prefix|IPv6PrefixDelegation|IPv6RoutePrefix|IPv6SendRA|Image|Install|Journal|Kube|L2TP|L2TPSession|LLDP|Link|Login|MACVLAN|MACVTAP|MACsec|MACsecReceiveAssociation|MACsecReceiveChannel|MACsecTransmitAssociation|Manager|Match|Mount|Neighbor|NetDev|Network|NetworkEmulator|NextHop|OOM|Output|PFIFO|PFIFOFast|PFIFOHeadDrop|PIE|PStore|Packages|Partition|Path|Peer|Pod|QDisc|Quadlet|QuickFairQueueing|QuickFairQueueingClass|Remote|Resolve|Route|RoutingPolicyRule|SR-IOV|Scope|Service|Sleep|Socket|Source|StochasticFairBlue|StochasticFairnessQueueing|Swap|Tap|Target|Time|Timer|TokenBucketFilter|TrafficControlQueueingDiscipline|Transfer|TrivialLinkEqualizer|Tun|Tunnel|UKI|Unit|Upload|VLAN|VRF|VXCAN|VXLAN|Volume|WLAN|WireGuard|WireGuardPeer|Xfrm)\]/dgv,name:"entity.name.section"},{match:/\p{space}*\[[\-\p{L}\p{M}\p{N}\p{Pc}]+\]/dgv,name:"entity.name.unknown-section"}]},sizes:{patterns:[{match:/(?<=[\=\p{space}])\p{Nd}+(?:\.\p{Nd}+)?[GKMT](?=[\:\p{space}]|(?=\n?$))/dgv,name:"constant.numeric"},{match:/(?<==)infinity(?=[\:\p{space}]|(?=\n?$))/dgv,name:"constant.numeric"}]},timeSpans:{patterns:[{match:/\b(?:\p{Nd}+(?:[uμ]s(?:ec)?|ms(?:ec)?|s(?:ec(?:|onds?))?|m(?:in(?:|utes?))?|h(?:r|ours?)?|d(?:ays?)?|w(?:eeks)?|M|months?|y(?:ears?)?))+\b/dgv,name:"constant.numeric"}]},typeOptions:{patterns:[{match:/\b(?:simple|exec|forking|oneshot|dbus|notify(?:-reload)?|idle|unicast|local|broadcast|anycast|multicast|blackhole|unreachable|prohibit|throw|nat|xresolve|blackhole|unreachable|prohibit|ad-hoc|station|ap(?:-vlan)?|wds|monitor|mesh-point|p2p-(?:client|go|device)|ocb|nan)\b/dgv,name:"constant.language"}]},variables:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.systemd"},"2":{name:"variable.other"}},match:/(\$)([0-9A-Z_a-z]+)\b/dgv},{captures:{"1":{name:"punctuation.definition.variable.systemd"},"2":{name:"variable.other"},"3":{name:"punctuation.definition.variable.systemd"}},match:/(\$\{)([0-9A-Z_a-z]+)(\})/dgv},{match:/%%/dgv,name:"constant.other.placeholder"},{match:/%[ABCEG-JLMNPS-Wabf-jl-ps-w]\b/dgv,name:"constant.other.placeholder"}]}},scopeName:"source.systemd",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Systemd Units",name:"systemd",patterns:[{include:"#comments"},{begin:/^\p{space}*(InaccessableDirectories|InaccessibleDirectories|ReadOnlyDirectories|ReadWriteDirectories|Capabilities|TableId|UseDomainName|IPv6AcceptRouterAdvertisements|SysVStartPriority|StartLimitInterval|RequiresOverridable|RequisiteOverridable|PropagateReloadTo|PropagateReloadFrom|OnFailureIsolate|BindTo)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"invalid.deprecated"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,patterns:[{include:"#comments"},{include:"#variables"},{include:"#quotedString"},{include:"#booleans"},{include:"#timeSpans"},{include:"#sizes"},{include:"#numbers"}]},{begin:/^\p{space}*(Environment)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{captures:{"1":{name:"variable.parameter"},"2":{name:"keyword.operator.assignment"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|[\"'\\p{space}])([0-9A-Z_a-z]+)(=)(?=[^\"'\\p{space}])","dgv",{"strategy":"clip_search"})},{include:"#variables"},{include:"#booleans"},{include:"#numbers"}]},{begin:/^\p{space}*(OnCalendar)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#calendarShorthands"},{include:"#numbers"}]},{begin:/^\p{space}*(CapabilityBoundingSet|AmbientCapabilities|AddCapability|DropCapability)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#capabilities"}]},{begin:/^\p{space}*(Restart)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#restartOptions"}]},{begin:/^\p{space}*(Type)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#typeOptions"}]},{begin:/^\p{space}*(Exec(?:Start(?:P(?:re|ost))?|Reload|Stop(?:Post)?))\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#executablePrefixes"},{include:"#variables"},{include:"#quotedString"},{include:"#booleans"},{include:"#numbers"}]},{begin:/^\p{space}*([\-\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(=)[\t ]*/dgv,beginCaptures:{"1":{name:"entity.name.tag"},"2":{name:"keyword.operator.assignment"}},end:/(?<!\\)\n/dgv,name:"meta.config-entry.systemd",patterns:[{include:"#comments"},{include:"#variables"},{include:"#quotedString"},{include:"#booleans"},{include:"#timeSpans"},{include:"#sizes"},{include:"#numbers"}]},{include:"#sections"}],repository:{booleans:{patterns:[{match:/\b(?<![\-\.\/])(true|false|on|off|yes|no)(?![\-\.\/])\b/dgv,name:"constant.language"}]},calendarShorthands:{patterns:[{match:/\b(?:minute|hour|dai|month|week|quarter|semiannual)ly\b/dgv,name:"constant.language"}]},capabilities:{patterns:[{match:/\bCAP_(?:AUDIT_CONTROL|AUDIT_READ|AUDIT_WRITE|BLOCK_SUSPEND|BPF|CHECKPOINT_RESTORE|CHOWN|DAC_OVERRIDE|DAC_READ_SEARCH|FOWNER|FSETID|IPC_LOCK|IPC_OWNER|KILL|LEASE|LINUX_IMMUTABLE|MAC_ADMIN|MAC_OVERRIDE|MKNOD|NET_ADMIN|NET_BIND_SERVICE|NET_BROADCAST|NET_RAW|PERFMON|SETFCAP|SETGID|SETPCAP|SETUID|SYS_ADMIN|SYS_BOOT|SYS_CHROOT|SYS_MODULE|SYS_NICE|SYS_PACCT|SYS_PTRACE|SYS_RAWIO|SYS_RESOURCE|SYS_TIME|SYS_TTY_CONFIG|SYSLOG|WAKE_ALARM)\b/dgv,name:"constant.other.systemd"}]},comments:{patterns:[{match:/^\p{space}*[\#\;][^\n]*\n/dgv,name:"comment.line.number-sign"}]},executablePrefixes:{patterns:[{match:/([\-\:\@]+(?:\+|!!?)?|(?:\+|!!?)[\-\:\@]*)/dgvy,name:"keyword.operator.prefix.systemd"}]},numbers:{patterns:[{match:/(?<=[\=\p{space}])\p{Nd}+(?:\.\p{Nd}+)?(?=[\:\p{space}]|(?=\n?$))/dgv,name:"constant.numeric"}]},quotedString:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})'","dgv",{"strategy":"clip_search"}),end:/[\n']/dgv,name:"string.quoted.single",patterns:[{match:/\\(?:[\n"'\\abfnrstv]|x\p{AHex}{2}|[0-8]{3}|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})\"","dgv",{"strategy":"clip_search"}),end:/[\n"]/dgv,name:"string.quoted.double",patterns:[{match:/\\(?:[\n"'\\abfnrstv]|x\p{AHex}{2}|[0-8]{3}|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape"}]}]},restartOptions:{patterns:[{match:/\b(no|always|on-(?:success|failure|abnormal|abort|watchdog))\b/dgv,name:"constant.language"}]},sections:{patterns:[{match:/^\p{space}*\[(Address|Automount|BFIFO|BandMultiQueueing|BareUDP|BatmanAdvanced|Bond|Bridge|BridgeFDB|BridgeMDB|BridgeVLAN|CAKE|CAN|ClassfulMultiQueueing|Container|Content|ControlledDelay|Coredump|D-BUS Service|DHCP|DHCPPrefixDelegation|DHCPServer|DHCPServerStaticLease|DHCPv4|DHCPv6|DHCPv6PrefixDelegation|DeficitRoundRobinScheduler|DeficitRoundRobinSchedulerClass|Distribution|EnhancedTransmissionSelection|Exec|FairQueueing|FairQueueingControlledDelay|Feature|Files|FlowQueuePIE|FooOverUDP|GENEVE|GenericRandomEarlyDetection|HeavyHitterFilter|HierarchyTokenBucket|HierarchyTokenBucketClass|Home|IOCost|IPVLAN|IPVTAP|IPoIB|IPv6AcceptRA|IPv6AddressLabel|IPv6PREF64Prefix|IPv6Prefix|IPv6PrefixDelegation|IPv6RoutePrefix|IPv6SendRA|Image|Install|Journal|Kube|L2TP|L2TPSession|LLDP|Link|Login|MACVLAN|MACVTAP|MACsec|MACsecReceiveAssociation|MACsecReceiveChannel|MACsecTransmitAssociation|Manager|Match|Mount|Neighbor|NetDev|Network|NetworkEmulator|NextHop|OOM|Output|PFIFO|PFIFOFast|PFIFOHeadDrop|PIE|PStore|Packages|Partition|Path|Peer|Pod|QDisc|Quadlet|QuickFairQueueing|QuickFairQueueingClass|Remote|Resolve|Route|RoutingPolicyRule|SR-IOV|Scope|Service|Sleep|Socket|Source|StochasticFairBlue|StochasticFairnessQueueing|Swap|Tap|Target|Timer??|TokenBucketFilter|TrafficControlQueueingDiscipline|Transfer|TrivialLinkEqualizer|Tun|Tunnel|UKI|Unit|Upload|VLAN|VRF|VXCAN|VXLAN|Volume|WLAN|WireGuard|WireGuardPeer|Xfrm)\]/dgv,name:"entity.name.section"},{match:/\p{space}*\[[\-\p{L}\p{M}\p{N}\p{Pc}]+\]/dgv,name:"entity.name.unknown-section"}]},sizes:{patterns:[{match:/(?<=[\=\p{space}])\p{Nd}+(?:\.\p{Nd}+)?[GKMT](?=[\:\p{space}]|(?=\n?$))/dgv,name:"constant.numeric"},{match:/(?<==)infinity(?=[\:\p{space}]|(?=\n?$))/dgv,name:"constant.numeric"}]},timeSpans:{patterns:[{match:/\b(?:\p{Nd}+(?:[uμ]s(?:ec)?|ms(?:ec)?|s(?:ec(?:|onds?))?|m(?:in(?:|utes?))?|h(?:r|ours?)?|d(?:ays?)?|w(?:eeks)?|M|months?|y(?:ears?)?))+\b/dgv,name:"constant.numeric"}]},typeOptions:{patterns:[{match:/\b(?:simple|exec|forking|oneshot|dbus|notify(?:-reload)?|idle|unicast|local|broadcast|anycast|multicast|blackhole|unreachable|prohibit|throw|nat|xresolve|blackhole|unreachable|prohibit|ad-hoc|station|ap(?:-vlan)?|wds|monitor|mesh-point|p2p-(?:client|go|device)|ocb|nan)\b/dgv,name:"constant.language"}]},variables:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.systemd"},"2":{name:"variable.other"}},match:/(\$)([0-9A-Z_a-z]+)\b/dgv},{captures:{"1":{name:"punctuation.definition.variable.systemd"},"2":{name:"variable.other"},"3":{name:"punctuation.definition.variable.systemd"}},match:/(\$\{)([0-9A-Z_a-z]+)(\})/dgv},{match:/%%/dgv,name:"constant.other.placeholder"},{match:/%[ABCEG-JLMNPS-Wabf-jl-ps-w]\b/dgv,name:"constant.other.placeholder"}]}},scopeName:"source.systemd",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"TalonScript",name:"talonscript",patterns:[{include:"#body-header"},{include:"#header"},{include:"#body-noheader"},{include:"#comment"},{include:"#settings"}],repository:{action:{begin:/([\.0-9A-Z_a-z]+)(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.talon",patterns:[{match:/\./dgv,name:"punctuation.separator.talon"}]},"2":{name:"punctuation.definition.parameters.begin.talon"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.talon"}},name:"variable.parameter.talon",patterns:[{include:"#action"},{include:"#qstring-long"},{include:"#qstring"},{include:"#argsep"},{include:"#number"},{include:"#operator"},{include:"#varname"}]},"action-gamepad":{captures:{"2":{name:"punctuation.definition.parameters.begin.talon"},"3":{name:"variable.parameter.talon",patterns:[{include:"#key-mods"}]},"4":{name:"punctuation.definition.parameters.key.talon"}},match:/(deck|gamepad|action|face|parrot)(\()([^\n]*)(\))/dgv,name:"entity.name.function.talon"},"action-key":{captures:{"1":{name:"punctuation.definition.parameters.begin.talon"},"2":{name:"variable.parameter.talon",patterns:[{include:"#key-prefixes"},{include:"#key-mods"},{include:"#keystring"}]},"3":{name:"punctuation.definition.parameters.key.talon"}},match:/key(\()([^\n]*)(\))/dgv,name:"entity.name.function.talon"},argsep:{match:/,/dgv,name:"punctuation.separator.talon"},assignment:{begin:/(\P{space}*)(\p{space}?=\p{space}?)/dgv,beginCaptures:{"1":{name:"variable.other.talon"},"2":{name:"keyword.operator.talon"}},end:/\n/dgv,patterns:[{include:"#comment"},{include:"#expression"}]},"body-header":{begin:/^-(?=\n?$)/dgv,end:/(?=not)possible/dgv,patterns:[{include:"#body-noheader"}]},"body-noheader":{patterns:[{include:"#comment"},{include:"#other-rule-definition"},{include:"#speech-rule-definition"}]},capture:{match:/(<[\.0-9A-Z_a-z]+>)/dgv,name:"variable.parameter.talon"},comment:{match:/(\p{space}*#[^\n]*)(?=\n?$)/dgv,name:"comment.line.number-sign.talon"},context:{captures:{"1":{name:"entity.name.tag.talon",patterns:[{match:/(and |or )/dgv,name:"keyword.operator.talon"}]},"2":{name:"entity.name.type.talon",patterns:[{include:"#comment"},{include:"#regexp"}]}},match:/([^\n]*): ([^\n]*)/dgv},expression:{patterns:[{include:"#qstring-long"},{include:"#action-key"},{include:"#action"},{include:"#operator"},{include:"#number"},{include:"#qstring"},{include:"#varname"}]},fstring:{captures:{"1":{patterns:[{include:"#action"},{include:"#operator"},{include:"#number"},{include:"#varname"},{include:"#qstring"}]}},match:/\{([^\n]+?)\}/dgv,name:"constant.character.format.placeholder.talon"},header:{begin:/(?=(?:^app|title|os|tag|list|language):)/dgv,end:/(?=^-(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#context"}]},"key-mods":{captures:{"1":{name:"keyword.operator.talon"},"2":{name:"keyword.control.talon"}},match:/(:)(up|down|change|repeat|start|stop|\p{Nd}+)/dgv,name:"keyword.operator.talon"},"key-prefixes":{captures:{"1":{name:"keyword.control.talon"},"2":{name:"keyword.operator.talon"}},match:/(ctrl|shift|cmd|alt|win|super)(-)/dgv},keystring:{begin:/(["'])/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.talon"}},end:/((?!))|(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.talon"}},name:"string.quoted.double.talon",patterns:[{include:"#string-body"},{include:"#key-mods"},{include:"#key-prefixes"}]},list:{match:/(\{[\.0-9A-Z_a-z]+?\})/dgv,name:"string.interpolated.talon"},number:{match:/(?<=\b)\p{Nd}+(\.\p{Nd}+)?/dgv,name:"constant.numeric.talon"},operator:{match:/\p{space}([\-\*\+\/]|or)\p{space}/dgv,name:"keyword.operator.talon"},"other-rule-definition":{begin:/^([a-z]+\([^\n]*[^\-]\)|[a-z]+\([^\n]*--\)|[a-z]+\(-\)|[a-z]+\(\)):/dgv,beginCaptures:{"1":{name:"entity.name.tag.talon",patterns:[{include:"#action-key"},{include:"#action-gamepad"},{include:"#rule-specials"}]}},end:/(?=^[^\#\p{space}])/dgv,patterns:[{include:"#statement"}]},qstring:{begin:/(["'])/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.talon"}},end:/((?!))|(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.talon"}},name:"string.quoted.double.talon",patterns:[{include:"#string-body"}]},"qstring-long":{begin:/("""|''')/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.talon"}},end:/((?!))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.talon"}},name:"string.quoted.triple.talon",patterns:[{include:"#string-body"}]},regexp:{begin:/(\/)/dgv,end:/(\/)/dgv,name:"string.regexp.talon",patterns:[{match:/\./dgv,name:"support.other.match.any.regexp"},{match:/\$/dgv,name:"support.other.match.end.regexp"},{match:/\^/dgv,name:"support.other.match.begin.regexp"},{match:/\\[\$\*\+\.\?\^]/dgv,name:"constant.character.escape.talon"},{match:/\[(\\\]|[^\]])*\]/dgv,name:"constant.other.set.regexp"},{match:/[\*\+\?]/dgv,name:"keyword.operator.quantifier.regexp"}]},"rule-specials":{captures:{"1":{name:"entity.name.function.talon"},"2":{name:"punctuation.definition.parameters.begin.talon"},"3":{name:"punctuation.definition.parameters.end.talon"}},match:/(settings|tag)(\()(\))/dgv},"speech-rule-definition":{begin:/^([^\n]*?):/dgv,beginCaptures:{"1":{name:"entity.name.tag.talon",patterns:[{match:/^\^/dgv,name:"string.regexp.talon"},{match:/\$(?=\n?$)/dgv,name:"string.regexp.talon"},{match:/\(/dgv,name:"punctuation.definition.parameters.begin.talon"},{match:/\)/dgv,name:"punctuation.definition.parameters.end.talon"},{match:/\|/dgv,name:"punctuation.separator.talon"},{include:"#capture"},{include:"#list"}]}},end:/(?=^[^\#\p{space}])/dgv,patterns:[{include:"#statement"}]},statement:{patterns:[{include:"#comment"},{include:"#qstring-long"},{include:"#action-key"},{include:"#action"},{include:"#qstring"},{include:"#assignment"}]},"string-body":{patterns:[{match:/\{\{|\}\}/dgv,name:"string.quoted.double.talon"},{match:/\\["'\\nrt]/dgv,name:"constant.character.escape.python"},{include:"#fstring"}]},varname:{captures:{"2":{name:"constant.numeric.talon",patterns:[{match:/_/dgv,name:"keyword.operator.talon"}]}},match:/([\.0-9A-Z_a-z])(_(list|\p{Nd}+))?/dgv,name:"variable.parameter.talon"}},scopeName:"source.talon",embeddedLangs:undefined,aliases:["talon"]})
1
+ const lang = Object.freeze({displayName:"TalonScript",name:"talonscript",patterns:[{include:"#body-header"},{include:"#header"},{include:"#body-noheader"},{include:"#comment"},{include:"#settings"}],repository:{action:{begin:/([\.0-9A-Z_a-z]+)(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.talon",patterns:[{match:/\./dgv,name:"punctuation.separator.talon"}]},"2":{name:"punctuation.definition.parameters.begin.talon"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.talon"}},name:"variable.parameter.talon",patterns:[{include:"#action"},{include:"#qstring-long"},{include:"#qstring"},{include:"#argsep"},{include:"#number"},{include:"#operator"},{include:"#varname"}]},"action-gamepad":{captures:{"2":{name:"punctuation.definition.parameters.begin.talon"},"3":{name:"variable.parameter.talon",patterns:[{include:"#key-mods"}]},"4":{name:"punctuation.definition.parameters.key.talon"}},match:/(deck|gamepad|action|face|parrot)(\()([^\n]*)(\))/dgv,name:"entity.name.function.talon"},"action-key":{captures:{"1":{name:"punctuation.definition.parameters.begin.talon"},"2":{name:"variable.parameter.talon",patterns:[{include:"#key-prefixes"},{include:"#key-mods"},{include:"#keystring"}]},"3":{name:"punctuation.definition.parameters.key.talon"}},match:/key(\()([^\n]*)(\))/dgv,name:"entity.name.function.talon"},argsep:{match:/,/dgv,name:"punctuation.separator.talon"},assignment:{begin:/(\P{space}*)(\p{space}?=\p{space}?)/dgv,beginCaptures:{"1":{name:"variable.other.talon"},"2":{name:"keyword.operator.talon"}},end:/\n/dgv,patterns:[{include:"#comment"},{include:"#comment-invalid"},{include:"#expression"}]},"body-header":{begin:/^-(?=\n?$)/dgv,end:/(?=not)possible/dgv,patterns:[{include:"#body-noheader"}]},"body-noheader":{patterns:[{include:"#comment"},{include:"#comment-invalid"},{include:"#other-rule-definition"},{include:"#speech-rule-definition"}]},capture:{match:/(<[\.0-9A-Z_a-z]+>)/dgv,name:"variable.parameter.talon"},comment:{match:/^\p{space}*(#[^\n]*)(?=\n?$)/dgv,name:"comment.line.number-sign.talon"},"comment-invalid":{match:/(\p{space}*#[^\n]*)(?=\n?$)/dgv,name:"invalid.illegal"},context:{captures:{"1":{name:"entity.name.tag.talon",patterns:[{match:/(and |or )/dgv,name:"keyword.operator.talon"}]},"2":{name:"entity.name.type.talon",patterns:[{include:"#comment"},{include:"#comment-invalid"},{include:"#regexp"}]}},match:/([^\n]*): ([^\n]*)/dgv},expression:{patterns:[{include:"#qstring-long"},{include:"#action-key"},{include:"#action"},{include:"#operator"},{include:"#number"},{include:"#qstring"},{include:"#varname"}]},fstring:{captures:{"1":{patterns:[{include:"#action"},{include:"#operator"},{include:"#number"},{include:"#varname"},{include:"#qstring"}]}},match:/\{([^\n]+?)\}/dgv,name:"constant.character.format.placeholder.talon"},header:{begin:/(?=(?:^app|title|os|tag|list|language):)/dgv,end:/(?=^-(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#context"}]},"key-mods":{captures:{"1":{name:"keyword.operator.talon"},"2":{name:"keyword.control.talon"}},match:/(:)(up|down|change|repeat|start|stop|\p{Nd}+)/dgv,name:"keyword.operator.talon"},"key-prefixes":{captures:{"1":{name:"keyword.control.talon"},"2":{name:"keyword.operator.talon"}},match:/(ctrl|shift|cmd|alt|win|super)(-)/dgv},keystring:{begin:/(["'])/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.talon"}},end:/((?!))|(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.talon"}},name:"string.quoted.double.talon",patterns:[{include:"#string-body"},{include:"#key-mods"},{include:"#key-prefixes"}]},list:{match:/(\{[\.0-9A-Z_a-z]+?\})/dgv,name:"string.interpolated.talon"},number:{match:/(?<=\b)\p{Nd}+(\.\p{Nd}+)?/dgv,name:"constant.numeric.talon"},operator:{match:/\p{space}([\-\*\+\/]|or)\p{space}/dgv,name:"keyword.operator.talon"},"other-rule-definition":{begin:/^([a-z]+\([^\n]*[^\-]\)|[a-z]+\([^\n]*--\)|[a-z]+\(-\)|[a-z]+\(\)):/dgv,beginCaptures:{"1":{name:"entity.name.tag.talon",patterns:[{include:"#action-key"},{include:"#action-gamepad"},{include:"#rule-specials"}]}},end:/(?=^[^\#\p{space}])/dgv,patterns:[{include:"#statement"}]},qstring:{begin:/(["'])/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.talon"}},end:/((?!))|(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.talon"}},name:"string.quoted.double.talon",patterns:[{include:"#string-body"}]},"qstring-long":{begin:/("""|''')/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.talon"}},end:/((?!))/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.talon"}},name:"string.quoted.triple.talon",patterns:[{include:"#string-body"}]},regexp:{begin:/(\/)/dgv,end:/(\/)/dgv,name:"string.regexp.talon",patterns:[{match:/\./dgv,name:"support.other.match.any.regexp"},{match:/\$/dgv,name:"support.other.match.end.regexp"},{match:/\^/dgv,name:"support.other.match.begin.regexp"},{match:/\\[\$\*\+\.\?\^]/dgv,name:"constant.character.escape.talon"},{match:/\[(\\\]|[^\]])*\]/dgv,name:"constant.other.set.regexp"},{match:/[\*\+\?]/dgv,name:"keyword.operator.quantifier.regexp"}]},"rule-specials":{captures:{"1":{name:"entity.name.function.talon"},"2":{name:"punctuation.definition.parameters.begin.talon"},"3":{name:"punctuation.definition.parameters.end.talon"}},match:/(settings|tag)(\()(\))/dgv},"speech-rule-definition":{begin:/^([^\n]*?):/dgv,beginCaptures:{"1":{name:"entity.name.tag.talon",patterns:[{match:/^\^/dgv,name:"string.regexp.talon"},{match:/\$(?=\n?$)/dgv,name:"string.regexp.talon"},{match:/\(/dgv,name:"punctuation.definition.parameters.begin.talon"},{match:/\)/dgv,name:"punctuation.definition.parameters.end.talon"},{match:/\|/dgv,name:"punctuation.separator.talon"},{include:"#capture"},{include:"#list"}]}},end:/(?=^[^\#\p{space}])/dgv,patterns:[{include:"#statement"}]},statement:{patterns:[{include:"#comment"},{include:"#comment-invalid"},{include:"#qstring-long"},{include:"#action-key"},{include:"#action"},{include:"#qstring"},{include:"#assignment"}]},"string-body":{patterns:[{match:/\{\{|\}\}/dgv,name:"string.quoted.double.talon"},{match:/\\["'\\nrt]/dgv,name:"constant.character.escape.python"},{include:"#fstring"}]},varname:{captures:{"2":{name:"constant.numeric.talon",patterns:[{match:/_/dgv,name:"keyword.operator.talon"}]}},match:/([\.0-9A-Z_a-z])(_(list|\p{Nd}+)(?=[^\.0-9A-Z_a-z]))?/dgv,name:"variable.parameter.talon"}},scopeName:"source.talon",embeddedLangs:undefined,aliases:["talon"]})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/templ.mjs CHANGED
@@ -3,7 +3,7 @@ import go from './go.mjs'
3
3
  import javascript from './javascript.mjs'
4
4
  import css from './css.mjs'
5
5
 
6
- const lang = Object.freeze({displayName:"Templ",name:"templ",patterns:[{include:"#script-template"},{include:"#css-template"},{include:"#html-template"},{include:"source.go"}],repository:{"block-element":{begin:/(<\/?)((?:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|pre)(?=[\>\\\p{space}]))/dgiv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.block.any.html"}},end:/(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.block.any.html",patterns:[{include:"#tag-stuff"}]},"call-expression":{begin:/(\{!)\p{space}+/dgv,beginCaptures:{"0":{name:"start.call-expression.templ"},"1":{name:"punctuation.brace.open"}},end:/(\})/dgv,endCaptures:{"0":{name:"end.call-expression.templ"},"1":{name:"punctuation.brace.close"}},name:"call-expression.templ",patterns:[{include:"source.go"}]},"case-expression":{begin:/^\p{space}*case [^\n]+?:(?=\n?$)/dgv,captures:{"0":{name:"case.switch.html-template.templ",patterns:[{include:"source.go"}]}},end:/(?:^(\p{space}*case [^\n]+?:)|^(\p{space}*default:)|(\p{space}*))(?=\n?$)/dgv,patterns:[{include:"#template-node"}]},"close-element":{begin:/(<\/?)([\-0-\:A-Za-z]+)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.other.html"}},end:/(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.html",patterns:[{include:"#tag-stuff"}]},"css-template":{begin:/^(css) ([A-z][0-9A-z]*\()/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"source.go"}]}},end:/(?<=^\}(?=\n?$))/dgv,name:"css-template.templ",patterns:[{begin:/(?<=\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.round.go"}},name:"params.css-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\))\p{space}*(\{)(?=\n?$)/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/^(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.css-template.templ",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("\\p{space}*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|[xy]|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-row|grid-rows|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-column|grid-columns|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\p{space}+","dgv",{"lazyCompile":true}),beginCaptures:{"1":{name:"support.type.property-name.css"}},end:/(?<=;(?=\n?$))/dgv,name:"property.css-template.templ",patterns:[{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/(\})(;)(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"},"2":{name:"punctuation.terminator.rule.css"}},name:"expression.property.css-template.templ",patterns:[{include:"source.go"}]},{captures:{"1":{name:"support.type.property-value.css"},"2":{name:"punctuation.terminator.rule.css"}},match:/([^\n]*)(;)(?=\n?$)/dgv,name:"constant.property.css-template.templ"}]}]}]},"default-expression":{begin:/^\p{space}*default:(?=\n?$)/dgv,captures:{"0":{name:"default.switch.html-template.templ",patterns:[{include:"source.go"}]}},end:/(?:^(\p{space}*case [^\n]+?:)|^(\p{space}*default:)|(\p{space}*))(?=\n?$)/dgv,patterns:[{include:"#template-node"}]},element:{begin:/*@__PURE__*/ new EmulatedRegExp("(<)((?:(?=([\\-0-\\:A-Za-z]+))\\3))(?=[^\\>]*></\\2>)","dgv",{"hiddenCaptures":[3]}),beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.html"}},end:/(>(<)\/)(\2)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"meta.scope.between-tag-pair.html"},"3":{name:"entity.name.tag.html"},"4":{name:"punctuation.definition.tag.html"}},name:"meta.tag.any.html",patterns:[{include:"#tag-stuff"}]},"else-expression":{begin:/\p{space}+(else)\p{space}+(\{)\p{space}*(?=\n?$)/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/^\p{space}*(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"else.html-template.templ",patterns:[{include:"#template-node"}]},"else-if-expression":{begin:/\p{space}(else if)\p{space}/dgv,beginCaptures:{"1":{name:"keyword.control.go"}},end:/(?<=\})/dgv,name:"else-if.html-template.templ",patterns:[{begin:/(?<=if\p{space})/dgv,end:/(\{)(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},name:"expression.else-if.html-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\{)(?=\n?$)/dgv,end:/^\p{space}*(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.else-if.html-template.templ",patterns:[{include:"#template-node"}]}]},entities:{patterns:[{captures:{"1":{name:"punctuation.definition.entity.html"},"3":{name:"punctuation.definition.entity.html"}},match:/(&)([0-9A-Za-z]+|#[0-9]+|#[Xx]\p{AHex}+)(;)/dgv,name:"constant.character.entity.html"},{match:/&/dgv,name:"invalid.illegal.bad-ampersand.html"}]},"for-expression":{begin:/^\p{space}*for [^\n]+\{/dgv,captures:{"0":{name:"meta.embedded.block.go",patterns:[{include:"source.go"}]}},end:/\p{space}*\}\p{space}*\n/dgv,name:"for.html-template.templ",patterns:[{include:"#template-node"}]},"go-comment-block":{begin:/(\/\*)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/(\*\/)/dgv,endCaptures:{"1":{name:"punctuation.definition.comment.go"}},name:"comment.block.go"},"go-comment-double-slash":{begin:/(\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/\n|(?=\n?$)/dgv,name:"comment.line.double-slash.go"},"html-comment":{begin:/<!--/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.html"}},end:/-->/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.html"}},name:"comment.block.html"},"html-template":{begin:/^(templ) ((?:\([A-z][0-9A-z]* \*?[A-z][0-9A-z]*\) )?[A-z][0-9A-z]*([\(\[]))/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"source.go"}]}},end:/(?<=^\}(?=\n?$))/dgv,name:"html-template.templ",patterns:[{begin:/(?<=\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.round.go"}},name:"params.html-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\[)/dgv,end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.square.go"}},name:"type-params.html-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\))\p{space}*(\{)(?=\n?$)/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/^(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.html-template.templ",patterns:[{include:"#template-node"}]}]},"if-expression":{begin:/^\p{space}*(if)\p{space}/dgv,beginCaptures:{"1":{name:"keyword.control.go"}},end:/(?<=\})/dgv,name:"if.html-template.templ",patterns:[{begin:/(?<=if\p{space})/dgv,end:/(\{)(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},name:"expression.if.html-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\{)(?=\n?$)/dgv,end:/^\p{space}*(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.if.html-template.templ",patterns:[{include:"#template-node"}]}]},"import-expression":{patterns:[{begin:/(@)((?:[A-z][0-9A-z]*\.)?[A-z][0-9A-z]*(?:[\(\{]|(?=\n?$)))/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"source.go"}]}},end:/(?<=\))(?=\n?$)|(?<=\})(?=\n?$)|(?<=(?=\n?$))/dgv,name:"import-expression.templ",patterns:[{begin:/(?<=[0-9A-z]\{)/dgv,end:/\p{space}*(\})(\.[A-z][0-9A-z]*\()/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"},"2":{patterns:[{include:"source.go"}]}},name:"struct-method.import-expression.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.round.go"}},name:"params.import-expression.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\))\p{space}(\{)(?=\n?$)/dgv,beginCaptures:{"1":{name:"punctuation.brace.open"}},end:/^\p{space}*(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.brace.close"}},name:"children.import-expression.templ",patterns:[{include:"#template-node"}]}]}]},"inline-element":{begin:/(<\/?)((?:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?=[\>\\\p{space}]))/dgiv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.inline.any.html"}},end:/((?: ?\/)?>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.any.html",patterns:[{include:"#tag-stuff"}]},"raw-go":{begin:/\{\{/dgv,beginCaptures:{"0":{name:"start.raw-go.templ"},"1":{name:"punctuation.brace.open"}},end:/\}\}/dgv,endCaptures:{"0":{name:"end.raw-go.templ"},"1":{name:"punctuation.brace.open"}},name:"raw-go.templ",patterns:[{include:"source.go"}]},"script-element":{begin:/(<)(script)([^\>]*)(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.html"},"3":{patterns:[{include:"#tag-stuff"}]},"4":{name:"punctuation.definition.tag.html"}},end:/<\/script>/dgv,endCaptures:{"0":{patterns:[{include:"#close-element"}]}},name:"meta.tag.script.html",patterns:[{include:"source.js"}]},"script-template":{begin:/^(script) ([A-z][0-9A-z]*\()/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"source.go"}]}},end:/(?<=^\}(?=\n?$))/dgv,name:"script-template.templ",patterns:[{begin:/(?<=\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.round.go"}},name:"params.script-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\))\p{space}*(\{)(?=\n?$)/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/^(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.script-template.templ",patterns:[{include:"source.js"}]}]},sgml:{begin:/<!/dgv,captures:{"0":{name:"punctuation.definition.tag.html"}},end:/>/dgv,name:"meta.tag.sgml.html",patterns:[{begin:/DOCTYPE/dgiv,captures:{"1":{name:"entity.name.tag.doctype.html"}},end:/(?=>)/dgv,name:"meta.tag.sgml.doctype.html",patterns:[{match:/"[^"\>]*"/dgv,name:"string.quoted.double.doctype.identifiers-and-DTDs.html"}]},{begin:/\[CDATA\[/dgv,end:/\]\](?=>)/dgv,name:"constant.other.inline-data.html"},{match:/(\p{space}*)(?!--|>)\P{space}(\p{space}*)/dgv,name:"invalid.illegal.bad-comments-or-CDATA.html"}]},"string-double-quoted":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.html"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"#entities"}]},"string-expression":{begin:/\{\p{space}+/dgv,beginCaptures:{"0":{name:"start.string-expression.templ"}},end:/\}/dgv,endCaptures:{"0":{name:"end.string-expression.templ"}},name:"expression.html-template.templ",patterns:[{include:"source.go"}]},"style-element":{begin:/(<)(style)([^\>]*)(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.html"},"3":{patterns:[{include:"#tag-stuff"}]},"4":{name:"punctuation.definition.tag.html"}},end:/<\/style>/dgv,endCaptures:{"0":{patterns:[{include:"#close-element"}]}},name:"meta.tag.style.html",patterns:[{include:"source.css"}]},"switch-expression":{begin:/^\p{space}*switch [^\n]+?\{(?=\n?$)/dgv,captures:{"0":{name:"meta.embedded.block.go",patterns:[{include:"source.go"}]}},end:/^\p{space}*\}(?=\n?$)/dgv,name:"switch.html-template.templ",patterns:[{include:"#template-node"},{include:"#case-expression"},{include:"#default-expression"}]},"tag-else-attribute":{begin:/\p{space}(else)\p{space}(\{)(?=\n?$)/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{name:"punctuation.brace.open"}},end:/^\p{space}*(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.brace.close"}},name:"else.attribute.html",patterns:[{include:"#tag-stuff"}]},"tag-else-if-attribute":{begin:/\p{space}(else if)\p{space}/dgv,beginCaptures:{"1":{name:"keyword.control.go"}},end:/(?<=\})/dgv,name:"else-if.attribute.html",patterns:[{begin:/(?<=if\p{space})/dgv,end:/(\{)(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.brace.open"}},name:"expression.else-if.attribute.html",patterns:[{include:"source.go"}]},{begin:/(?<=\{)(?=\n?$)/dgv,end:/^\p{space}*(\})/dgv,endCaptures:{"1":{name:"punctuation.brace.close"}},name:"block.else-if.attribute.html",patterns:[{include:"#tag-stuff"}]}]},"tag-generic-attribute":{match:/(?<=[^\=])\b([\-0-\:A-Za-z]+)/dgv,name:"entity.other.attribute-name.html"},"tag-id-attribute":{begin:/\b(id)\b\p{space}*(=)/dgv,captures:{"1":{name:"entity.other.attribute-name.id.html"},"2":{name:"punctuation.separator.key-value.html"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?<=[\"'[^\\/\\<\\>\\p{space}]])","dgv",{"strategy":"clip_search"}),name:"meta.attribute-with-value.id.html",patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.html"}},contentName:"meta.toc-list.id.html",end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"#entities"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.html"}},contentName:"meta.toc-list.id.html",end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.html"}},name:"string.quoted.single.html",patterns:[{include:"#entities"}]},{captures:{"0":{name:"meta.toc-list.id.html"}},match:/(?<==)(?:[^"'\/\<\>\{\}\p{space}]|\/(?!>))+/dgv,name:"string.unquoted.html"}]},"tag-if-attribute":{begin:/^\p{space}*(if)\p{space}/dgv,beginCaptures:{"1":{name:"keyword.control.go"}},end:/(?<=\})/dgv,name:"if.attribute.html",patterns:[{begin:/(?<=if\p{space})/dgv,end:/(\{)(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.brace.open"}},name:"expression.if.attribute.html",patterns:[{include:"source.go"}]},{begin:/(?<=\{)(?=\n?$)/dgv,end:/^\p{space}*(\})/dgv,endCaptures:{"1":{name:"punctuation.brace.close"}},name:"block.if.attribute.html",patterns:[{include:"#tag-stuff"}]}]},"tag-stuff":{patterns:[{include:"#tag-id-attribute"},{include:"#tag-generic-attribute"},{include:"#string-double-quoted"},{include:"#string-expression"},{include:"#tag-if-attribute"},{include:"#tag-else-if-attribute"},{include:"#tag-else-attribute"}]},"template-node":{patterns:[{include:"#string-expression"},{include:"#call-expression"},{include:"#import-expression"},{include:"#script-element"},{include:"#style-element"},{include:"#element"},{include:"#html-comment"},{include:"#go-comment-block"},{include:"#go-comment-double-slash"},{include:"#sgml"},{include:"#block-element"},{include:"#inline-element"},{include:"#close-element"},{include:"#else-if-expression"},{include:"#if-expression"},{include:"#else-expression"},{include:"#for-expression"},{include:"#switch-expression"},{include:"#raw-go"}]}},scopeName:"source.templ",embeddedLangs:["go","javascript","css"],aliases:undefined})
6
+ const lang = Object.freeze({displayName:"Templ",name:"templ",patterns:[{include:"#script-template"},{include:"#css-template"},{include:"#html-template"},{include:"source.go"}],repository:{"block-element":{begin:/(<\/?)((?:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|pre)(?=[\>\\\p{space}]))/dgiv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.block.any.html"}},end:/(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.block.any.html",patterns:[{include:"#tag-stuff"}]},"call-expression":{begin:/(\{!)\p{space}+/dgv,beginCaptures:{"0":{name:"start.call-expression.templ"},"1":{name:"punctuation.brace.open"}},end:/(\})/dgv,endCaptures:{"0":{name:"end.call-expression.templ"},"1":{name:"punctuation.brace.close"}},name:"call-expression.templ",patterns:[{include:"source.go"}]},"case-expression":{begin:/^\p{space}*case [^\n]+?:(?=\n?$)/dgv,captures:{"0":{name:"case.switch.html-template.templ",patterns:[{include:"source.go"}]}},end:/(?:^(\p{space}*case [^\n]+?:)|^(\p{space}*default:)|(\p{space}*))(?=\n?$)/dgv,patterns:[{include:"#template-node"}]},"close-element":{begin:/(<\/?)([\-0-\:A-Za-z]+)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.other.html"}},end:/(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.html",patterns:[{include:"#tag-stuff"}]},"css-template":{begin:/^(css) ([A-z][0-9A-z]*\()/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"source.go"}]}},end:/(?<=^\}(?=\n?$))/dgv,name:"css-template.templ",patterns:[{begin:/(?<=\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.round.go"}},name:"params.css-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\))\p{space}*(\{)(?=\n?$)/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/^(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.css-template.templ",patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("\\p{space}*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|[xy]|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-rows??|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-columns??|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\p{space}+","dgv",{"lazyCompile":true}),beginCaptures:{"1":{name:"support.type.property-name.css"}},end:/(?<=;(?=\n?$))/dgv,name:"property.css-template.templ",patterns:[{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/(\})(;)(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"},"2":{name:"punctuation.terminator.rule.css"}},name:"expression.property.css-template.templ",patterns:[{include:"source.go"}]},{captures:{"1":{name:"support.type.property-value.css"},"2":{name:"punctuation.terminator.rule.css"}},match:/([^\n]*)(;)(?=\n?$)/dgv,name:"constant.property.css-template.templ"}]}]}]},"default-expression":{begin:/^\p{space}*default:(?=\n?$)/dgv,captures:{"0":{name:"default.switch.html-template.templ",patterns:[{include:"source.go"}]}},end:/(?:^(\p{space}*case [^\n]+?:)|^(\p{space}*default:)|(\p{space}*))(?=\n?$)/dgv,patterns:[{include:"#template-node"}]},element:{begin:/*@__PURE__*/ new EmulatedRegExp("(<)((?:(?=([\\-0-\\:A-Za-z]+))\\3))(?=[^\\>]*></\\2>)","dgv",{"hiddenCaptures":[3]}),beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.html"}},end:/(>(<)\/)(\2)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"meta.scope.between-tag-pair.html"},"3":{name:"entity.name.tag.html"},"4":{name:"punctuation.definition.tag.html"}},name:"meta.tag.any.html",patterns:[{include:"#tag-stuff"}]},"else-expression":{begin:/\p{space}+(else)\p{space}+(\{)\p{space}*(?=\n?$)/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/^\p{space}*(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"else.html-template.templ",patterns:[{include:"#template-node"}]},"else-if-expression":{begin:/\p{space}(else if)\p{space}/dgv,beginCaptures:{"1":{name:"keyword.control.go"}},end:/(?<=\})/dgv,name:"else-if.html-template.templ",patterns:[{begin:/(?<=if\p{space})/dgv,end:/(\{)(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},name:"expression.else-if.html-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\{)(?=\n?$)/dgv,end:/^\p{space}*(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.else-if.html-template.templ",patterns:[{include:"#template-node"}]}]},entities:{patterns:[{captures:{"1":{name:"punctuation.definition.entity.html"},"3":{name:"punctuation.definition.entity.html"}},match:/(&)([0-9A-Za-z]+|#[0-9]+|#[Xx]\p{AHex}+)(;)/dgv,name:"constant.character.entity.html"},{match:/&/dgv,name:"invalid.illegal.bad-ampersand.html"}]},"for-expression":{begin:/^\p{space}*for [^\n]+\{/dgv,captures:{"0":{name:"meta.embedded.block.go",patterns:[{include:"source.go"}]}},end:/\p{space}*\}\p{space}*\n/dgv,name:"for.html-template.templ",patterns:[{include:"#template-node"}]},"go-comment-block":{begin:/(\/\*)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/(\*\/)/dgv,endCaptures:{"1":{name:"punctuation.definition.comment.go"}},name:"comment.block.go"},"go-comment-double-slash":{begin:/(\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/\n|(?=\n?$)/dgv,name:"comment.line.double-slash.go"},"html-comment":{begin:/<!--/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.html"}},end:/-->/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.html"}},name:"comment.block.html"},"html-template":{begin:/^(templ) ((?:\([A-z][0-9A-z]* \*?[A-z][0-9A-z]*\) )?[A-z][0-9A-z]*([\(\[]))/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"source.go"}]}},end:/(?<=^\}(?=\n?$))/dgv,name:"html-template.templ",patterns:[{begin:/(?<=\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.round.go"}},name:"params.html-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\[)/dgv,end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.square.go"}},name:"type-params.html-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\))\p{space}*(\{)(?=\n?$)/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/^(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.html-template.templ",patterns:[{include:"#template-node"}]}]},"if-expression":{begin:/^\p{space}*(if)\p{space}/dgv,beginCaptures:{"1":{name:"keyword.control.go"}},end:/(?<=\})/dgv,name:"if.html-template.templ",patterns:[{begin:/(?<=if\p{space})/dgv,end:/(\{)(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},name:"expression.if.html-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\{)(?=\n?$)/dgv,end:/^\p{space}*(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.if.html-template.templ",patterns:[{include:"#template-node"}]}]},"import-expression":{patterns:[{begin:/(@)((?:[A-z][0-9A-z]*\.)?[A-z][0-9A-z]*(?:[\(\{]|(?=\n?$)))/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"source.go"}]}},end:/(?<=\))(?=\n?$)|(?<=\})(?=\n?$)|(?<=(?=\n?$))/dgv,name:"import-expression.templ",patterns:[{begin:/(?<=[0-9A-z]\{)/dgv,end:/\p{space}*(\})(\.[A-z][0-9A-z]*\()/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"},"2":{patterns:[{include:"source.go"}]}},name:"struct-method.import-expression.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.round.go"}},name:"params.import-expression.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\))\p{space}(\{)(?=\n?$)/dgv,beginCaptures:{"1":{name:"punctuation.brace.open"}},end:/^\p{space}*(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.brace.close"}},name:"children.import-expression.templ",patterns:[{include:"#template-node"}]}]}]},"inline-element":{begin:/(<\/?)((?:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?=[\>\\\p{space}]))/dgiv,beginCaptures:{"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.inline.any.html"}},end:/((?: ?\/)?>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.any.html",patterns:[{include:"#tag-stuff"}]},"raw-go":{begin:/\{\{/dgv,beginCaptures:{"0":{name:"start.raw-go.templ"},"1":{name:"punctuation.brace.open"}},end:/\}\}/dgv,endCaptures:{"0":{name:"end.raw-go.templ"},"1":{name:"punctuation.brace.open"}},name:"raw-go.templ",patterns:[{include:"source.go"}]},"script-element":{begin:/(<)(script)([^\>]*)(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.html"},"3":{patterns:[{include:"#tag-stuff"}]},"4":{name:"punctuation.definition.tag.html"}},end:/<\/script>/dgv,endCaptures:{"0":{patterns:[{include:"#close-element"}]}},name:"meta.tag.script.html",patterns:[{include:"source.js"}]},"script-template":{begin:/^(script) ([A-z][0-9A-z]*\()/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"source.go"}]}},end:/(?<=^\}(?=\n?$))/dgv,name:"script-template.templ",patterns:[{begin:/(?<=\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.round.go"}},name:"params.script-template.templ",patterns:[{include:"source.go"}]},{begin:/(?<=\))\p{space}*(\{)(?=\n?$)/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/^(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.curly.go"}},name:"block.script-template.templ",patterns:[{include:"source.js"}]}]},sgml:{begin:/<!/dgv,captures:{"0":{name:"punctuation.definition.tag.html"}},end:/>/dgv,name:"meta.tag.sgml.html",patterns:[{begin:/DOCTYPE/dgiv,captures:{"1":{name:"entity.name.tag.doctype.html"}},end:/(?=>)/dgv,name:"meta.tag.sgml.doctype.html",patterns:[{match:/"[^"\>]*"/dgv,name:"string.quoted.double.doctype.identifiers-and-DTDs.html"}]},{begin:/\[CDATA\[/dgv,end:/\]\](?=>)/dgv,name:"constant.other.inline-data.html"},{match:/(\p{space}*)(?!--|>)\P{space}(\p{space}*)/dgv,name:"invalid.illegal.bad-comments-or-CDATA.html"}]},"string-double-quoted":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.html"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"#entities"}]},"string-expression":{begin:/\{\p{space}+/dgv,beginCaptures:{"0":{name:"start.string-expression.templ"}},end:/\}/dgv,endCaptures:{"0":{name:"end.string-expression.templ"}},name:"expression.html-template.templ",patterns:[{include:"source.go"}]},"style-element":{begin:/(<)(style)([^\>]*)(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.html"},"3":{patterns:[{include:"#tag-stuff"}]},"4":{name:"punctuation.definition.tag.html"}},end:/<\/style>/dgv,endCaptures:{"0":{patterns:[{include:"#close-element"}]}},name:"meta.tag.style.html",patterns:[{include:"source.css"}]},"switch-expression":{begin:/^\p{space}*switch [^\n]+?\{(?=\n?$)/dgv,captures:{"0":{name:"meta.embedded.block.go",patterns:[{include:"source.go"}]}},end:/^\p{space}*\}(?=\n?$)/dgv,name:"switch.html-template.templ",patterns:[{include:"#template-node"},{include:"#case-expression"},{include:"#default-expression"}]},"tag-else-attribute":{begin:/\p{space}(else)\p{space}(\{)(?=\n?$)/dgv,beginCaptures:{"1":{name:"keyword.control.go"},"2":{name:"punctuation.brace.open"}},end:/^\p{space}*(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.brace.close"}},name:"else.attribute.html",patterns:[{include:"#tag-stuff"}]},"tag-else-if-attribute":{begin:/\p{space}(else if)\p{space}/dgv,beginCaptures:{"1":{name:"keyword.control.go"}},end:/(?<=\})/dgv,name:"else-if.attribute.html",patterns:[{begin:/(?<=if\p{space})/dgv,end:/(\{)(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.brace.open"}},name:"expression.else-if.attribute.html",patterns:[{include:"source.go"}]},{begin:/(?<=\{)(?=\n?$)/dgv,end:/^\p{space}*(\})/dgv,endCaptures:{"1":{name:"punctuation.brace.close"}},name:"block.else-if.attribute.html",patterns:[{include:"#tag-stuff"}]}]},"tag-generic-attribute":{match:/(?<=[^\=])\b([\-0-\:A-Za-z]+)/dgv,name:"entity.other.attribute-name.html"},"tag-id-attribute":{begin:/\b(id)\b\p{space}*(=)/dgv,captures:{"1":{name:"entity.other.attribute-name.id.html"},"2":{name:"punctuation.separator.key-value.html"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(?<=[\"'[^\\/\\<\\>\\p{space}]])","dgv",{"strategy":"clip_search"}),name:"meta.attribute-with-value.id.html",patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.html"}},contentName:"meta.toc-list.id.html",end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"#entities"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.html"}},contentName:"meta.toc-list.id.html",end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.html"}},name:"string.quoted.single.html",patterns:[{include:"#entities"}]},{captures:{"0":{name:"meta.toc-list.id.html"}},match:/(?<==)(?:[^"'\/\<\>\{\}\p{space}]|\/(?!>))+/dgv,name:"string.unquoted.html"}]},"tag-if-attribute":{begin:/^\p{space}*(if)\p{space}/dgv,beginCaptures:{"1":{name:"keyword.control.go"}},end:/(?<=\})/dgv,name:"if.attribute.html",patterns:[{begin:/(?<=if\p{space})/dgv,end:/(\{)(?=\n?$)/dgv,endCaptures:{"1":{name:"punctuation.brace.open"}},name:"expression.if.attribute.html",patterns:[{include:"source.go"}]},{begin:/(?<=\{)(?=\n?$)/dgv,end:/^\p{space}*(\})/dgv,endCaptures:{"1":{name:"punctuation.brace.close"}},name:"block.if.attribute.html",patterns:[{include:"#tag-stuff"}]}]},"tag-stuff":{patterns:[{include:"#tag-id-attribute"},{include:"#tag-generic-attribute"},{include:"#string-double-quoted"},{include:"#string-expression"},{include:"#tag-if-attribute"},{include:"#tag-else-if-attribute"},{include:"#tag-else-attribute"}]},"template-node":{patterns:[{include:"#string-expression"},{include:"#call-expression"},{include:"#import-expression"},{include:"#script-element"},{include:"#style-element"},{include:"#element"},{include:"#html-comment"},{include:"#go-comment-block"},{include:"#go-comment-double-slash"},{include:"#sgml"},{include:"#block-element"},{include:"#inline-element"},{include:"#close-element"},{include:"#else-if-expression"},{include:"#if-expression"},{include:"#else-expression"},{include:"#for-expression"},{include:"#switch-expression"},{include:"#raw-go"}]}},scopeName:"source.templ",embeddedLangs:["go","javascript","css"],aliases:undefined})
7
7
 
8
8
  export default [
9
9
  ...go,
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Terraform",fileTypes:["tf","tfvars"],name:"terraform",patterns:[{include:"#comments"},{include:"#attribute_definition"},{include:"#block"},{include:"#expressions"}],repository:{attribute_access:{begin:/\.(?!\*)/dgv,beginCaptures:{"0":{name:"keyword.operator.accessor.hcl"}},end:/\p{Alpha}[\-\p{L}\p{M}\p{N}\p{Pc}]*|\p{Nd}*/dgv,endCaptures:{"0":{patterns:[{match:/(?!null|false|true)\p{Alpha}[\-\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.member.hcl"},{match:/\p{Nd}+/dgv,name:"constant.numeric.integer.hcl"}]}}},attribute_definition:{captures:{"1":{name:"punctuation.section.parens.begin.hcl"},"2":{name:"variable.other.readwrite.hcl"},"3":{name:"punctuation.section.parens.end.hcl"},"4":{name:"keyword.operator.assignment.hcl"}},match:/(\()?\b((?!(?:null|false|true)\b)\p{Alpha}[\-_\p{Alpha}\p{Nd}]*)(\))?\p{space}*(=(?![\=\>]))\p{space}*/dgv,name:"variable.declaration.hcl"},attribute_splat:{begin:/\./dgv,beginCaptures:{"0":{name:"keyword.operator.accessor.hcl"}},end:/\*/dgv,endCaptures:{"0":{name:"keyword.operator.splat.hcl"}}},block:{begin:/([\p{L}\p{M}\p{N}\p{Pc}][\-\p{L}\p{M}\p{N}\p{Pc}]*)([\-"\p{space}\p{L}\p{M}\p{N}\p{Pc}]*)(\{)/dgv,beginCaptures:{"1":{patterns:[{match:/\bdata|check|import|locals|module|output|provider|resource|terraform|variable\b/dgv,name:"entity.name.type.terraform"},{match:/\b(?!null|false|true)\p{Alpha}[\-_\p{Alpha}\p{Nd}]*\b/dgv,name:"entity.name.type.hcl"}]},"2":{patterns:[{match:/[\-"\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.enummember.hcl"}]},"3":{name:"punctuation.section.block.begin.hcl"},"5":{name:"punctuation.section.block.begin.hcl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.hcl"}},name:"meta.block.hcl",patterns:[{include:"#comments"},{include:"#attribute_definition"},{include:"#block"},{include:"#expressions"}]},block_inline_comments:{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.hcl"}},end:/\*\//dgv,name:"comment.block.hcl"},brackets:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.section.brackets.begin.hcl"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.brackets.end.hcl"}},patterns:[{match:/\*/dgv,name:"keyword.operator.splat.hcl"},{include:"#comma"},{include:"#comments"},{include:"#inline_for_expression"},{include:"#inline_if_expression"},{include:"#expressions"},{include:"#local_identifiers"}]},char_escapes:{match:/\\(?:["\\nrt]|u(\p{AHex}{8}|\p{AHex}{4}))/dgv,name:"constant.character.escape.hcl"},comma:{match:/,/dgv,name:"punctuation.separator.hcl"},comments:{patterns:[{include:"#hash_line_comments"},{include:"#double_slash_line_comments"},{include:"#block_inline_comments"}]},double_slash_line_comments:{begin:/\/\//dgv,captures:{"0":{name:"punctuation.definition.comment.hcl"}},end:/(?=\n?$)\n?/dgv,name:"comment.line.double-slash.hcl"},expressions:{patterns:[{include:"#literal_values"},{include:"#operators"},{include:"#tuple_for_expression"},{include:"#object_for_expression"},{include:"#brackets"},{include:"#objects"},{include:"#attribute_access"},{include:"#attribute_splat"},{include:"#functions"},{include:"#parens"}]},for_expression_body:{patterns:[{match:/\bin\b/dgv,name:"keyword.operator.word.hcl"},{match:/\bif\b/dgv,name:"keyword.control.conditional.hcl"},{match:/:/dgv,name:"keyword.operator.hcl"},{include:"#expressions"},{include:"#comments"},{include:"#comma"},{include:"#local_identifiers"}]},functions:{begin:/([\-\:\p{L}\p{M}\p{N}\p{Pc}]+)(\()/dgv,beginCaptures:{"1":{patterns:[{match:/\b(core::)?(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnet|cidrsubnets|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\b/dgv,name:"support.function.builtin.terraform"},{match:/\bprovider::\p{Alpha}[\-_\p{L}\p{M}\p{N}\p{Pc}]*::\p{Alpha}[\-_\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"support.function.provider.terraform"}]},"2":{name:"punctuation.section.parens.begin.hcl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.hcl"}},name:"meta.function-call.hcl",patterns:[{include:"#comments"},{include:"#expressions"},{include:"#comma"}]},hash_line_comments:{begin:/#/dgv,captures:{"0":{name:"punctuation.definition.comment.hcl"}},end:/(?=\n?$)\n?/dgv,name:"comment.line.number-sign.hcl"},hcl_type_keywords:{match:/\b(any|string|number|bool|list|set|map|tuple|object)\b/dgv,name:"storage.type.hcl"},heredoc:{begin:/(<<-?)\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=\n?$)/dgv,beginCaptures:{"1":{name:"keyword.operator.heredoc.hcl"},"2":{name:"keyword.control.heredoc.hcl"}},end:/^\p{space}*\2\p{space}*(?=\n?$)()()/dgv,endCaptures:{"0":{name:"keyword.control.heredoc.hcl"}},name:"string.unquoted.heredoc.hcl",patterns:[{include:"#string_interpolation"}]},inline_for_expression:{captures:{"1":{name:"keyword.control.hcl"},"2":{patterns:[{match:/=>/dgv,name:"storage.type.function.hcl"},{include:"#for_expression_body"}]}},match:/(for)\b([^\n]*)\n/dgv},inline_if_expression:{begin:/(if)\b/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.hcl"}},end:/\n/dgv,patterns:[{include:"#expressions"},{include:"#comments"},{include:"#comma"},{include:"#local_identifiers"}]},language_constants:{match:/\b(true|false|null)\b/dgv,name:"constant.language.hcl"},literal_values:{patterns:[{include:"#numeric_literals"},{include:"#language_constants"},{include:"#string_literals"},{include:"#heredoc"},{include:"#hcl_type_keywords"},{include:"#named_value_references"}]},local_identifiers:{match:/\b(?!null|false|true)\p{Alpha}[\-_\p{Alpha}\p{Nd}]*\b/dgv,name:"variable.other.readwrite.hcl"},named_value_references:{match:/\b(var|local|module|data|path|terraform)\b/dgv,name:"variable.other.readwrite.terraform"},numeric_literals:{patterns:[{captures:{"1":{name:"punctuation.separator.exponent.hcl"}},match:/\b\p{Nd}+([Ee][\-\+]?)\p{Nd}+\b/dgv,name:"constant.numeric.float.hcl"},{captures:{"1":{name:"punctuation.separator.decimal.hcl"},"2":{name:"punctuation.separator.exponent.hcl"}},match:/\b\p{Nd}+(\.)\p{Nd}+(?:([Ee][\-\+]?)\p{Nd}+)?\b/dgv,name:"constant.numeric.float.hcl"},{match:/\b\p{Nd}+\b/dgv,name:"constant.numeric.integer.hcl"}]},object_for_expression:{begin:/(\{)\p{space}?(for)\b/dgv,beginCaptures:{"1":{name:"punctuation.section.braces.begin.hcl"},"2":{name:"keyword.control.hcl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.braces.end.hcl"}},patterns:[{match:/=>/dgv,name:"storage.type.function.hcl"},{include:"#for_expression_body"}]},object_key_values:{patterns:[{include:"#comments"},{include:"#literal_values"},{include:"#operators"},{include:"#tuple_for_expression"},{include:"#object_for_expression"},{include:"#heredoc"},{include:"#functions"}]},objects:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.braces.begin.hcl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.braces.end.hcl"}},name:"meta.braces.hcl",patterns:[{include:"#comments"},{include:"#objects"},{include:"#inline_for_expression"},{include:"#inline_if_expression"},{captures:{"1":{name:"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{name:"keyword.operator.assignment.hcl",patterns:[{match:/=>/dgv,name:"storage.type.function.hcl"}]}},match:/\b((?!null|false|true)\p{Alpha}[\-_\p{Alpha}\p{Nd}]*)\p{space}*(=>?)\p{space}*/dgv},{captures:{"0":{patterns:[{include:"#named_value_references"}]},"1":{name:"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{name:"punctuation.definition.string.begin.hcl"},"3":{name:"punctuation.definition.string.end.hcl"},"4":{name:"keyword.operator.hcl"}},match:/\b((")[^\n]*("))\p{space}*(=)\p{space}*/dgv},{begin:/^\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.hcl"}},end:/(\))\p{space}*([\:\=])\p{space}*/dgv,endCaptures:{"1":{name:"punctuation.section.parens.end.hcl"},"2":{name:"keyword.operator.hcl"}},name:"meta.mapping.key.hcl",patterns:[{include:"#named_value_references"},{include:"#attribute_access"}]},{include:"#object_key_values"}]},operators:{patterns:[{match:/>=/dgv,name:"keyword.operator.hcl"},{match:/<=/dgv,name:"keyword.operator.hcl"},{match:/==/dgv,name:"keyword.operator.hcl"},{match:/!=/dgv,name:"keyword.operator.hcl"},{match:/\+/dgv,name:"keyword.operator.arithmetic.hcl"},{match:/-/dgv,name:"keyword.operator.arithmetic.hcl"},{match:/\*/dgv,name:"keyword.operator.arithmetic.hcl"},{match:/\//dgv,name:"keyword.operator.arithmetic.hcl"},{match:/%/dgv,name:"keyword.operator.arithmetic.hcl"},{match:/&&/dgv,name:"keyword.operator.logical.hcl"},{match:/\|\|/dgv,name:"keyword.operator.logical.hcl"},{match:/!/dgv,name:"keyword.operator.logical.hcl"},{match:/>/dgv,name:"keyword.operator.hcl"},{match:/</dgv,name:"keyword.operator.hcl"},{match:/\?/dgv,name:"keyword.operator.hcl"},{match:/\.\.\./dgv,name:"keyword.operator.hcl"},{match:/:/dgv,name:"keyword.operator.hcl"},{match:/=>/dgv,name:"keyword.operator.hcl"}]},parens:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.hcl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.hcl"}},patterns:[{include:"#comments"},{include:"#expressions"}]},string_interpolation:{begin:/(?<![\$\%])([\$\%]\{)/dgv,beginCaptures:{"1":{name:"keyword.other.interpolation.begin.hcl"}},end:/\}/dgv,endCaptures:{"0":{name:"keyword.other.interpolation.end.hcl"}},name:"meta.interpolation.hcl",patterns:[{match:/~\p{space}/dgv,name:"keyword.operator.template.left.trim.hcl"},{match:/\p{space}~/dgv,name:"keyword.operator.template.right.trim.hcl"},{match:/\b(if|else|endif|for|in|endfor)\b/dgv,name:"keyword.control.hcl"},{include:"#expressions"},{include:"#local_identifiers"}]},string_literals:{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.hcl"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.hcl"}},name:"string.quoted.double.hcl",patterns:[{include:"#string_interpolation"},{include:"#char_escapes"}]},tuple_for_expression:{begin:/(\[)\p{space}?(for)\b/dgv,beginCaptures:{"1":{name:"punctuation.section.brackets.begin.hcl"},"2":{name:"keyword.control.hcl"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.brackets.end.hcl"}},patterns:[{include:"#for_expression_body"}]}},scopeName:"source.hcl.terraform",embeddedLangs:undefined,aliases:["tf","tfvars"]})
1
+ const lang = Object.freeze({displayName:"Terraform",fileTypes:["tf","tfvars"],name:"terraform",patterns:[{include:"#comments"},{include:"#attribute_definition"},{include:"#block"},{include:"#expressions"}],repository:{attribute_access:{begin:/\.(?!\*)/dgv,beginCaptures:{"0":{name:"keyword.operator.accessor.hcl"}},end:/\p{Alpha}[\-\p{L}\p{M}\p{N}\p{Pc}]*|\p{Nd}*/dgv,endCaptures:{"0":{patterns:[{match:/(?!null|false|true)\p{Alpha}[\-\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.member.hcl"},{match:/\p{Nd}+/dgv,name:"constant.numeric.integer.hcl"}]}}},attribute_definition:{captures:{"1":{name:"punctuation.section.parens.begin.hcl"},"2":{name:"variable.other.readwrite.hcl"},"3":{name:"punctuation.section.parens.end.hcl"},"4":{name:"keyword.operator.assignment.hcl"}},match:/(\()?\b((?!(?:null|false|true)\b)\p{Alpha}[\-_\p{Alpha}\p{Nd}]*)(\))?\p{space}*(=(?![\=\>]))\p{space}*/dgv,name:"variable.declaration.hcl"},attribute_splat:{begin:/\./dgv,beginCaptures:{"0":{name:"keyword.operator.accessor.hcl"}},end:/\*/dgv,endCaptures:{"0":{name:"keyword.operator.splat.hcl"}}},block:{begin:/([\p{L}\p{M}\p{N}\p{Pc}][\-\p{L}\p{M}\p{N}\p{Pc}]*)([\-"\p{space}\p{L}\p{M}\p{N}\p{Pc}]*)(\{)/dgv,beginCaptures:{"1":{patterns:[{match:/\bdata|check|import|locals|module|output|provider|resource|terraform|variable\b/dgv,name:"entity.name.type.terraform"},{match:/\b(?!null|false|true)\p{Alpha}[\-_\p{Alpha}\p{Nd}]*\b/dgv,name:"entity.name.type.hcl"}]},"2":{patterns:[{match:/[\-"\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.enummember.hcl"}]},"3":{name:"punctuation.section.block.begin.hcl"},"5":{name:"punctuation.section.block.begin.hcl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.hcl"}},name:"meta.block.hcl",patterns:[{include:"#comments"},{include:"#attribute_definition"},{include:"#block"},{include:"#expressions"}]},block_inline_comments:{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.hcl"}},end:/\*\//dgv,name:"comment.block.hcl"},brackets:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.section.brackets.begin.hcl"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.brackets.end.hcl"}},patterns:[{match:/\*/dgv,name:"keyword.operator.splat.hcl"},{include:"#comma"},{include:"#comments"},{include:"#inline_for_expression"},{include:"#inline_if_expression"},{include:"#expressions"},{include:"#local_identifiers"}]},char_escapes:{match:/\\(?:["\\nrt]|u(\p{AHex}{8}|\p{AHex}{4}))/dgv,name:"constant.character.escape.hcl"},comma:{match:/,/dgv,name:"punctuation.separator.hcl"},comments:{patterns:[{include:"#hash_line_comments"},{include:"#double_slash_line_comments"},{include:"#block_inline_comments"}]},double_slash_line_comments:{begin:/\/\//dgv,captures:{"0":{name:"punctuation.definition.comment.hcl"}},end:/(?=\n?$)\n?/dgv,name:"comment.line.double-slash.hcl"},expressions:{patterns:[{include:"#literal_values"},{include:"#operators"},{include:"#tuple_for_expression"},{include:"#object_for_expression"},{include:"#brackets"},{include:"#objects"},{include:"#attribute_access"},{include:"#attribute_splat"},{include:"#functions"},{include:"#parens"}]},for_expression_body:{patterns:[{match:/\bin\b/dgv,name:"keyword.operator.word.hcl"},{match:/\bif\b/dgv,name:"keyword.control.conditional.hcl"},{match:/:/dgv,name:"keyword.operator.hcl"},{include:"#expressions"},{include:"#comments"},{include:"#comma"},{include:"#local_identifiers"}]},functions:{begin:/([\-\:\p{L}\p{M}\p{N}\p{Pc}]+)(\()/dgv,beginCaptures:{"1":{patterns:[{match:/\b(core::)?(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnets??|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\b/dgv,name:"support.function.builtin.terraform"},{match:/\bprovider::\p{Alpha}[\-_\p{L}\p{M}\p{N}\p{Pc}]*::\p{Alpha}[\-_\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"support.function.provider.terraform"}]},"2":{name:"punctuation.section.parens.begin.hcl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.hcl"}},name:"meta.function-call.hcl",patterns:[{include:"#comments"},{include:"#expressions"},{include:"#comma"}]},hash_line_comments:{begin:/#/dgv,captures:{"0":{name:"punctuation.definition.comment.hcl"}},end:/(?=\n?$)\n?/dgv,name:"comment.line.number-sign.hcl"},hcl_type_keywords:{match:/\b(any|string|number|bool|list|set|map|tuple|object)\b/dgv,name:"storage.type.hcl"},heredoc:{begin:/(<<-?)\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=\n?$)/dgv,beginCaptures:{"1":{name:"keyword.operator.heredoc.hcl"},"2":{name:"keyword.control.heredoc.hcl"}},end:/^\p{space}*\2\p{space}*(?=\n?$)()()/dgv,endCaptures:{"0":{name:"keyword.control.heredoc.hcl"}},name:"string.unquoted.heredoc.hcl",patterns:[{include:"#string_interpolation"}]},inline_for_expression:{captures:{"1":{name:"keyword.control.hcl"},"2":{patterns:[{match:/=>/dgv,name:"storage.type.function.hcl"},{include:"#for_expression_body"}]}},match:/(for)\b([^\n]*)\n/dgv},inline_if_expression:{begin:/(if)\b/dgv,beginCaptures:{"1":{name:"keyword.control.conditional.hcl"}},end:/\n/dgv,patterns:[{include:"#expressions"},{include:"#comments"},{include:"#comma"},{include:"#local_identifiers"}]},language_constants:{match:/\b(true|false|null)\b/dgv,name:"constant.language.hcl"},literal_values:{patterns:[{include:"#numeric_literals"},{include:"#language_constants"},{include:"#string_literals"},{include:"#heredoc"},{include:"#hcl_type_keywords"},{include:"#named_value_references"}]},local_identifiers:{match:/\b(?!null|false|true)\p{Alpha}[\-_\p{Alpha}\p{Nd}]*\b/dgv,name:"variable.other.readwrite.hcl"},named_value_references:{match:/\b(var|local|module|data|path|terraform)\b/dgv,name:"variable.other.readwrite.terraform"},numeric_literals:{patterns:[{captures:{"1":{name:"punctuation.separator.exponent.hcl"}},match:/\b\p{Nd}+([Ee][\-\+]?)\p{Nd}+\b/dgv,name:"constant.numeric.float.hcl"},{captures:{"1":{name:"punctuation.separator.decimal.hcl"},"2":{name:"punctuation.separator.exponent.hcl"}},match:/\b\p{Nd}+(\.)\p{Nd}+(?:([Ee][\-\+]?)\p{Nd}+)?\b/dgv,name:"constant.numeric.float.hcl"},{match:/\b\p{Nd}+\b/dgv,name:"constant.numeric.integer.hcl"}]},object_for_expression:{begin:/(\{)\p{space}?(for)\b/dgv,beginCaptures:{"1":{name:"punctuation.section.braces.begin.hcl"},"2":{name:"keyword.control.hcl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.braces.end.hcl"}},patterns:[{match:/=>/dgv,name:"storage.type.function.hcl"},{include:"#for_expression_body"}]},object_key_values:{patterns:[{include:"#comments"},{include:"#literal_values"},{include:"#operators"},{include:"#tuple_for_expression"},{include:"#object_for_expression"},{include:"#heredoc"},{include:"#functions"}]},objects:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.braces.begin.hcl"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.braces.end.hcl"}},name:"meta.braces.hcl",patterns:[{include:"#comments"},{include:"#objects"},{include:"#inline_for_expression"},{include:"#inline_if_expression"},{captures:{"1":{name:"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{name:"keyword.operator.assignment.hcl",patterns:[{match:/=>/dgv,name:"storage.type.function.hcl"}]}},match:/\b((?!null|false|true)\p{Alpha}[\-_\p{Alpha}\p{Nd}]*)\p{space}*(=>?)\p{space}*/dgv},{captures:{"0":{patterns:[{include:"#named_value_references"}]},"1":{name:"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{name:"punctuation.definition.string.begin.hcl"},"3":{name:"punctuation.definition.string.end.hcl"},"4":{name:"keyword.operator.hcl"}},match:/\b((")[^\n]*("))\p{space}*(=)\p{space}*/dgv},{begin:/^\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.hcl"}},end:/(\))\p{space}*([\:\=])\p{space}*/dgv,endCaptures:{"1":{name:"punctuation.section.parens.end.hcl"},"2":{name:"keyword.operator.hcl"}},name:"meta.mapping.key.hcl",patterns:[{include:"#named_value_references"},{include:"#attribute_access"}]},{include:"#object_key_values"}]},operators:{patterns:[{match:/>=/dgv,name:"keyword.operator.hcl"},{match:/<=/dgv,name:"keyword.operator.hcl"},{match:/==/dgv,name:"keyword.operator.hcl"},{match:/!=/dgv,name:"keyword.operator.hcl"},{match:/\+/dgv,name:"keyword.operator.arithmetic.hcl"},{match:/-/dgv,name:"keyword.operator.arithmetic.hcl"},{match:/\*/dgv,name:"keyword.operator.arithmetic.hcl"},{match:/\//dgv,name:"keyword.operator.arithmetic.hcl"},{match:/%/dgv,name:"keyword.operator.arithmetic.hcl"},{match:/&&/dgv,name:"keyword.operator.logical.hcl"},{match:/\|\|/dgv,name:"keyword.operator.logical.hcl"},{match:/!/dgv,name:"keyword.operator.logical.hcl"},{match:/>/dgv,name:"keyword.operator.hcl"},{match:/</dgv,name:"keyword.operator.hcl"},{match:/\?/dgv,name:"keyword.operator.hcl"},{match:/\.\.\./dgv,name:"keyword.operator.hcl"},{match:/:/dgv,name:"keyword.operator.hcl"},{match:/=>/dgv,name:"keyword.operator.hcl"}]},parens:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.hcl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.hcl"}},patterns:[{include:"#comments"},{include:"#expressions"}]},string_interpolation:{begin:/(?<![\$\%])([\$\%]\{)/dgv,beginCaptures:{"1":{name:"keyword.other.interpolation.begin.hcl"}},end:/\}/dgv,endCaptures:{"0":{name:"keyword.other.interpolation.end.hcl"}},name:"meta.interpolation.hcl",patterns:[{match:/~\p{space}/dgv,name:"keyword.operator.template.left.trim.hcl"},{match:/\p{space}~/dgv,name:"keyword.operator.template.right.trim.hcl"},{match:/\b(if|else|endif|for|in|endfor)\b/dgv,name:"keyword.control.hcl"},{include:"#expressions"},{include:"#local_identifiers"}]},string_literals:{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.hcl"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.hcl"}},name:"string.quoted.double.hcl",patterns:[{include:"#string_interpolation"},{include:"#char_escapes"}]},tuple_for_expression:{begin:/(\[)\p{space}?(for)\b/dgv,beginCaptures:{"1":{name:"punctuation.section.brackets.begin.hcl"},"2":{name:"keyword.control.hcl"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.brackets.end.hcl"}},patterns:[{include:"#for_expression_body"}]}},scopeName:"source.hcl.terraform",embeddedLangs:undefined,aliases:["tf","tfvars"]})
2
2
 
3
3
  export default [
4
4
  lang