@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/typst.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Typst",name:"typst",patterns:[{include:"#markup"}],repository:{arguments:{patterns:[{match:/\b[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*(?=:)/dgv,name:"variable.parameter.typst"},{include:"#code"}]},code:{patterns:[{include:"#common"},{begin:/\{/dgv,captures:{"0":{name:"punctuation.definition.block.code.typst"}},end:/\}/dgv,name:"meta.block.code.typst",patterns:[{include:"#code"}]},{begin:/\[/dgv,captures:{"0":{name:"punctuation.definition.block.content.typst"}},end:/\]/dgv,name:"meta.block.content.typst",patterns:[{include:"#markup"}]},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.typst"}},end:/\n/dgv,name:"comment.line.double-slash.typst"},{match:/:/dgv,name:"punctuation.separator.colon.typst"},{match:/,/dgv,name:"punctuation.separator.comma.typst"},{match:/=>|\.\./dgv,name:"keyword.operator.typst"},{match:/==|!=|<=|<|>=|>/dgv,name:"keyword.operator.relational.typst"},{match:/(?:[\-\*\+\/]|)=/dgv,name:"keyword.operator.assignment.typst"},{match:/[\*\+\/]|(?<![_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*)-(?![\:almnu]_-\]*[_\p{Alpha}])/dgv,name:"keyword.operator.arithmetic.typst"},{match:/\b(and|or|not)\b/dgv,name:"keyword.operator.word.typst"},{match:/\b(let|as|in|set|show)\b/dgv,name:"keyword.other.typst"},{match:/\b(if|else)\b/dgv,name:"keyword.control.conditional.typst"},{match:/\b(for|while|break|continue)\b/dgv,name:"keyword.control.loop.typst"},{match:/\b(import|include|export)\b/dgv,name:"keyword.control.import.typst"},{match:/\b(return)\b/dgv,name:"keyword.control.flow.typst"},{include:"#constants"},{match:/\b[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*!?(?=[\(\[])/dgv,name:"entity.name.function.typst"},{match:/(?<=\bshow\p{space}*)\b[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*(?=\p{space}*[\.\:])/dgv,name:"entity.name.function.typst"},{begin:/(?<=\b[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*!?)\(/dgv,captures:{"0":{name:"punctuation.definition.group.typst"}},end:/\)/dgv,patterns:[{include:"#arguments"}]},{match:/\b[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*\b/dgv,name:"variable.other.typst"},{begin:/\(/dgv,captures:{"0":{name:"punctuation.definition.group.typst"}},end:/\)|(?=;)/dgv,name:"meta.group.typst",patterns:[{include:"#code"}]}]},comments:{patterns:[{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.typst"}},end:/\*\//dgv,name:"comment.block.typst",patterns:[{include:"#comments"}]},{begin:/(?<!:)\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.typst"}},end:/\n/dgv,name:"comment.line.double-slash.typst",patterns:[{include:"#comments"}]}]},common:{patterns:[{include:"#comments"}]},constants:{patterns:[{match:/\bnone\b/dgv,name:"constant.language.none.typst"},{match:/\bauto\b/dgv,name:"constant.language.auto.typst"},{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.typst"},{match:/\b(\p{Nd}*)?\.?\p{Nd}+([Ee][\-\+]?\p{Nd}+)?(mm|pt|cm|in|em)\b/dgv,name:"constant.numeric.length.typst"},{match:/\b(\p{Nd}*)?\.?\p{Nd}+([Ee][\-\+]?\p{Nd}+)?(rad|deg)\b/dgv,name:"constant.numeric.angle.typst"},{match:/\b(\p{Nd}*)?\.?\p{Nd}+([Ee][\-\+]?\p{Nd}+)?%/dgv,name:"constant.numeric.percentage.typst"},{match:/\b(\p{Nd}*)?\.?\p{Nd}+([Ee][\-\+]?\p{Nd}+)?fr/dgv,name:"constant.numeric.fr.typst"},{match:/\b\p{Nd}+\b/dgv,name:"constant.numeric.integer.typst"},{match:/\b(\p{Nd}*)?\.?\p{Nd}+([Ee][\-\+]?\p{Nd}+)?\b/dgv,name:"constant.numeric.float.typst"},{begin:/"/dgv,captures:{"0":{name:"punctuation.definition.string.typst"}},end:/"/dgv,name:"string.quoted.double.typst",patterns:[{match:/\\(["\\nrt]|u\{?[0-9A-Za-z]*\}?)/dgv,name:"constant.character.escape.string.typst"}]},{begin:/\$/dgv,captures:{"0":{name:"punctuation.definition.string.math.typst"}},end:/\$/dgv,name:"string.other.math.typst"}]},markup:{patterns:[{include:"#common"},{match:/\\([\]\#-\/\=\[\\_\`\{\}\~]|u\{[0-9A-Za-z]*\}?)/dgv,name:"constant.character.escape.content.typst"},{match:/\\/dgv,name:"punctuation.definition.linebreak.typst"},{match:/~/dgv,name:"punctuation.definition.nonbreaking-space.typst"},{match:/-\?/dgv,name:"punctuation.definition.shy.typst"},{match:/---/dgv,name:"punctuation.definition.em-dash.typst"},{match:/--/dgv,name:"punctuation.definition.en-dash.typst"},{match:/\.\.\./dgv,name:"punctuation.definition.ellipsis.typst"},{match:/:([0-9A-Za-z]+:)+/dgv,name:"constant.symbol.typst"},{begin:/(^\*|\*(?=\n?$)|((?<=[_[^\p{L}\p{M}\p{N}\p{Pc}]])\*)|(\*(?=[_[^\p{L}\p{M}\p{N}\p{Pc}]])))/dgv,captures:{"0":{name:"punctuation.definition.bold.typst"}},end:/(^\*|\*(?=\n?$)|((?<=[_[^\p{L}\p{M}\p{N}\p{Pc}]])\*)|(\*(?=[_[^\p{L}\p{M}\p{N}\p{Pc}]])))|\n|(?=\])/dgv,name:"markup.bold.typst",patterns:[{include:"#markup"}]},{begin:/(^_|_(?=\n?$)|((?<=[_[^\p{L}\p{M}\p{N}\p{Pc}]])_)|(_(?=[_[^\p{L}\p{M}\p{N}\p{Pc}]])))/dgv,captures:{"0":{name:"punctuation.definition.italic.typst"}},end:/(^_|_(?=\n?$)|((?<=[_[^\p{L}\p{M}\p{N}\p{Pc}]])_)|(_(?=[_[^\p{L}\p{M}\p{N}\p{Pc}]])))|\n|(?=\])/dgv,name:"markup.italic.typst",patterns:[{include:"#markup"}]},{match:/https?:\/\/[\#\%\&'\+\,\.-9\;\=\?A-Za-z\~]*/dgv,name:"markup.underline.link.typst"},{begin:/`{3,}/dgv,captures:{"0":{name:"punctuation.definition.raw.typst"}},end:/\x00/dgv,name:"markup.raw.block.typst"},{begin:/`/dgv,captures:{"0":{name:"punctuation.definition.raw.typst"}},end:/`/dgv,name:"markup.raw.inline.typst"},{begin:/\$/dgv,captures:{"0":{name:"punctuation.definition.string.math.typst"}},end:/\$/dgv,name:"string.other.math.typst"},{begin:/^\p{space}*=+\p{space}+/dgv,beginCaptures:{"0":{name:"punctuation.definition.heading.typst"}},contentName:"entity.name.section.typst",end:/\n|(?=<)/dgv,name:"markup.heading.typst",patterns:[{include:"#markup"}]},{match:/^\p{space}*-\p{space}+/dgv,name:"punctuation.definition.list.unnumbered.typst"},{match:/^\p{space}*([0-9]*\.|\+)\p{space}+/dgv,name:"punctuation.definition.list.numbered.typst"},{captures:{"1":{name:"punctuation.definition.list.description.typst"},"2":{name:"markup.list.term.typst"}},match:/^\p{space}*(\/)\p{space}+([^\:]*:)/dgv},{captures:{"1":{name:"punctuation.definition.label.typst"}},match:/<[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*>/dgv,name:"entity.other.label.typst"},{captures:{"1":{name:"punctuation.definition.reference.typst"}},match:/(@)[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*/dgv,name:"entity.other.reference.typst"},{begin:/(#)(let|set|show)\b/dgv,beginCaptures:{"0":{name:"keyword.other.typst"},"1":{name:"punctuation.definition.keyword.typst"}},end:/\n|(;)|(?=\])/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.typst"}},patterns:[{include:"#code"}]},{captures:{"1":{name:"punctuation.definition.keyword.typst"}},match:/(#)(as|in)\b/dgv,name:"keyword.other.typst"},{begin:/((#)if|(?<=([\]\}])\p{space}*)else)\b/dgv,beginCaptures:{"0":{name:"keyword.control.conditional.typst"},"2":{name:"punctuation.definition.keyword.typst"}},end:/\n|(?=\])|(?<=[\]\}])/dgv,patterns:[{include:"#code"}]},{begin:/(#)(for|while)\b/dgv,beginCaptures:{"0":{name:"keyword.control.loop.typst"},"1":{name:"punctuation.definition.keyword.typst"}},end:/\n|(?=\])|(?<=[\]\}])/dgv,patterns:[{include:"#code"}]},{captures:{"1":{name:"punctuation.definition.keyword.typst"}},match:/(#)(break|continue)\b/dgv,name:"keyword.control.loop.typst"},{begin:/(#)(import|include|export)\b/dgv,beginCaptures:{"0":{name:"keyword.control.import.typst"},"1":{name:"punctuation.definition.keyword.typst"}},end:/\n|(;)|(?=\])/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.typst"}},patterns:[{include:"#code"}]},{captures:{"1":{name:"punctuation.definition.keyword.typst"}},match:/(#)(return)\b/dgv,name:"keyword.control.flow.typst"},{captures:{"2":{name:"punctuation.definition.function.typst"}},match:/((#)[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*!?)(?=[\(\[])/dgv,name:"entity.name.function.typst"},{begin:/(?<=#[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*!?)\(/dgv,captures:{"0":{name:"punctuation.definition.group.typst"}},end:/\)/dgv,patterns:[{include:"#arguments"}]},{captures:{"1":{name:"punctuation.definition.variable.typst"}},match:/(#)[_\p{Alpha}][\-\._\p{Alpha}\p{Nd}]*/dgv,name:"entity.other.interpolated.typst"},{begin:/#/dgv,end:/\p{space}/dgv,name:"meta.block.content.typst",patterns:[{include:"#code"}]}]}},scopeName:"source.typst",embeddedLangs:undefined,aliases:["typ"]})
1
+ const lang = Object.freeze({displayName:"Typst",name:"typst",patterns:[{include:"#markup"}],repository:{arguments:{patterns:[{match:/\b[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*(?=:)/dgv,name:"variable.parameter.typst"},{include:"#code"}]},code:{patterns:[{include:"#common"},{begin:/\{/dgv,captures:{"0":{name:"punctuation.definition.block.code.typst"}},end:/\}/dgv,name:"meta.block.code.typst",patterns:[{include:"#code"}]},{begin:/\[/dgv,captures:{"0":{name:"punctuation.definition.block.content.typst"}},end:/\]/dgv,name:"meta.block.content.typst",patterns:[{include:"#markup"}]},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.typst"}},end:/\n/dgv,name:"comment.line.double-slash.typst"},{match:/:/dgv,name:"punctuation.separator.colon.typst"},{match:/,/dgv,name:"punctuation.separator.comma.typst"},{match:/=>|\.\./dgv,name:"keyword.operator.typst"},{match:/==|!=|<=?|>=?/dgv,name:"keyword.operator.relational.typst"},{match:/(?:[\-\*\+]|\/?)=/dgv,name:"keyword.operator.assignment.typst"},{match:/[\*\+\/]|(?<![_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*)-(?![\:almnu]_-\]*[_\p{Alpha}])/dgv,name:"keyword.operator.arithmetic.typst"},{match:/\b(and|or|not)\b/dgv,name:"keyword.operator.word.typst"},{match:/\b(let|as|in|set|show)\b/dgv,name:"keyword.other.typst"},{match:/\b(if|else)\b/dgv,name:"keyword.control.conditional.typst"},{match:/\b(for|while|break|continue)\b/dgv,name:"keyword.control.loop.typst"},{match:/\b(import|include|export)\b/dgv,name:"keyword.control.import.typst"},{match:/\b(return)\b/dgv,name:"keyword.control.flow.typst"},{include:"#constants"},{match:/\b[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*!?(?=[\(\[])/dgv,name:"entity.name.function.typst"},{match:/(?<=\bshow\p{space}*)\b[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*(?=\p{space}*[\.\:])/dgv,name:"entity.name.function.typst"},{begin:/(?<=\b[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*!?)\(/dgv,captures:{"0":{name:"punctuation.definition.group.typst"}},end:/\)/dgv,patterns:[{include:"#arguments"}]},{match:/\b[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*\b/dgv,name:"variable.other.typst"},{begin:/\(/dgv,captures:{"0":{name:"punctuation.definition.group.typst"}},end:/\)|(?=;)/dgv,name:"meta.group.typst",patterns:[{include:"#code"}]}]},comments:{patterns:[{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.typst"}},end:/\*\//dgv,name:"comment.block.typst",patterns:[{include:"#comments"}]},{begin:/(?<!:)\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.typst"}},end:/\n/dgv,name:"comment.line.double-slash.typst",patterns:[{include:"#comments"}]}]},common:{patterns:[{include:"#comments"}]},constants:{patterns:[{match:/\bnone\b/dgv,name:"constant.language.none.typst"},{match:/\bauto\b/dgv,name:"constant.language.auto.typst"},{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.typst"},{match:/\b(\p{Nd}*)?\.?\p{Nd}+([Ee][\-\+]?\p{Nd}+)?(mm|pt|cm|in|em)\b/dgv,name:"constant.numeric.length.typst"},{match:/\b(\p{Nd}*)?\.?\p{Nd}+([Ee][\-\+]?\p{Nd}+)?(rad|deg)\b/dgv,name:"constant.numeric.angle.typst"},{match:/\b(\p{Nd}*)?\.?\p{Nd}+([Ee][\-\+]?\p{Nd}+)?%/dgv,name:"constant.numeric.percentage.typst"},{match:/\b(\p{Nd}*)?\.?\p{Nd}+([Ee][\-\+]?\p{Nd}+)?fr/dgv,name:"constant.numeric.fr.typst"},{match:/\b\p{Nd}+\b/dgv,name:"constant.numeric.integer.typst"},{match:/\b(\p{Nd}*)?\.?\p{Nd}+([Ee][\-\+]?\p{Nd}+)?\b/dgv,name:"constant.numeric.float.typst"},{begin:/"/dgv,captures:{"0":{name:"punctuation.definition.string.typst"}},end:/"/dgv,name:"string.quoted.double.typst",patterns:[{match:/\\(["\\nrt]|u\{?[0-9A-Za-z]*\}?)/dgv,name:"constant.character.escape.string.typst"}]},{begin:/\$/dgv,captures:{"0":{name:"punctuation.definition.string.math.typst"}},end:/\$/dgv,name:"string.other.math.typst"}]},markup:{patterns:[{include:"#common"},{match:/\\([\]\#-\/\=\[\\_\`\{\}\~]|u\{[0-9A-Za-z]*\}?)/dgv,name:"constant.character.escape.content.typst"},{match:/\\/dgv,name:"punctuation.definition.linebreak.typst"},{match:/~/dgv,name:"punctuation.definition.nonbreaking-space.typst"},{match:/-\?/dgv,name:"punctuation.definition.shy.typst"},{match:/---/dgv,name:"punctuation.definition.em-dash.typst"},{match:/--/dgv,name:"punctuation.definition.en-dash.typst"},{match:/\.\.\./dgv,name:"punctuation.definition.ellipsis.typst"},{match:/:([0-9A-Za-z]+:)+/dgv,name:"constant.symbol.typst"},{begin:/(^\*|\*(?=\n?$)|((?<=[_[^\p{L}\p{M}\p{N}\p{Pc}]])\*)|(\*(?=[_[^\p{L}\p{M}\p{N}\p{Pc}]])))/dgv,captures:{"0":{name:"punctuation.definition.bold.typst"}},end:/(^\*|\*(?=\n?$)|((?<=[_[^\p{L}\p{M}\p{N}\p{Pc}]])\*)|(\*(?=[_[^\p{L}\p{M}\p{N}\p{Pc}]])))|\n|(?=\])/dgv,name:"markup.bold.typst",patterns:[{include:"#markup"}]},{begin:/(^_|_(?=\n?$)|((?<=[_[^\p{L}\p{M}\p{N}\p{Pc}]])_)|(_(?=[_[^\p{L}\p{M}\p{N}\p{Pc}]])))/dgv,captures:{"0":{name:"punctuation.definition.italic.typst"}},end:/(^_|_(?=\n?$)|((?<=[_[^\p{L}\p{M}\p{N}\p{Pc}]])_)|(_(?=[_[^\p{L}\p{M}\p{N}\p{Pc}]])))|\n|(?=\])/dgv,name:"markup.italic.typst",patterns:[{include:"#markup"}]},{match:/https?:\/\/[\#\%\&'\+\,\.-9\;\=\?A-Za-z\~]*/dgv,name:"markup.underline.link.typst"},{begin:/`{3,}/dgv,captures:{"0":{name:"punctuation.definition.raw.typst"}},end:/\x00/dgv,name:"markup.raw.block.typst"},{begin:/`/dgv,captures:{"0":{name:"punctuation.definition.raw.typst"}},end:/`/dgv,name:"markup.raw.inline.typst"},{begin:/\$/dgv,captures:{"0":{name:"punctuation.definition.string.math.typst"}},end:/\$/dgv,name:"string.other.math.typst"},{begin:/^\p{space}*=+\p{space}+/dgv,beginCaptures:{"0":{name:"punctuation.definition.heading.typst"}},contentName:"entity.name.section.typst",end:/\n|(?=<)/dgv,name:"markup.heading.typst",patterns:[{include:"#markup"}]},{match:/^\p{space}*-\p{space}+/dgv,name:"punctuation.definition.list.unnumbered.typst"},{match:/^\p{space}*([0-9]*\.|\+)\p{space}+/dgv,name:"punctuation.definition.list.numbered.typst"},{captures:{"1":{name:"punctuation.definition.list.description.typst"},"2":{name:"markup.list.term.typst"}},match:/^\p{space}*(\/)\p{space}+([^\:]*:)/dgv},{captures:{"1":{name:"punctuation.definition.label.typst"}},match:/<[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*>/dgv,name:"entity.other.label.typst"},{captures:{"1":{name:"punctuation.definition.reference.typst"}},match:/(@)[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*/dgv,name:"entity.other.reference.typst"},{begin:/(#)(let|set|show)\b/dgv,beginCaptures:{"0":{name:"keyword.other.typst"},"1":{name:"punctuation.definition.keyword.typst"}},end:/\n|(;)|(?=\])/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.typst"}},patterns:[{include:"#code"}]},{captures:{"1":{name:"punctuation.definition.keyword.typst"}},match:/(#)(as|in)\b/dgv,name:"keyword.other.typst"},{begin:/((#)if|(?<=([\]\}])\p{space}*)else)\b/dgv,beginCaptures:{"0":{name:"keyword.control.conditional.typst"},"2":{name:"punctuation.definition.keyword.typst"}},end:/\n|(?=\])|(?<=[\]\}])/dgv,patterns:[{include:"#code"}]},{begin:/(#)(for|while)\b/dgv,beginCaptures:{"0":{name:"keyword.control.loop.typst"},"1":{name:"punctuation.definition.keyword.typst"}},end:/\n|(?=\])|(?<=[\]\}])/dgv,patterns:[{include:"#code"}]},{captures:{"1":{name:"punctuation.definition.keyword.typst"}},match:/(#)(break|continue)\b/dgv,name:"keyword.control.loop.typst"},{begin:/(#)(import|include|export)\b/dgv,beginCaptures:{"0":{name:"keyword.control.import.typst"},"1":{name:"punctuation.definition.keyword.typst"}},end:/\n|(;)|(?=\])/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.typst"}},patterns:[{include:"#code"}]},{captures:{"1":{name:"punctuation.definition.keyword.typst"}},match:/(#)(return)\b/dgv,name:"keyword.control.flow.typst"},{captures:{"2":{name:"punctuation.definition.function.typst"}},match:/((#)[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*!?)(?=[\(\[])/dgv,name:"entity.name.function.typst"},{begin:/(?<=#[_\p{Alpha}][\-_\p{Alpha}\p{Nd}]*!?)\(/dgv,captures:{"0":{name:"punctuation.definition.group.typst"}},end:/\)/dgv,patterns:[{include:"#arguments"}]},{captures:{"1":{name:"punctuation.definition.variable.typst"}},match:/(#)[_\p{Alpha}][\-\._\p{Alpha}\p{Nd}]*/dgv,name:"entity.other.interpolated.typst"},{begin:/#/dgv,end:/\p{space}/dgv,name:"meta.block.content.typst",patterns:[{include:"#code"}]}]}},scopeName:"source.typst",embeddedLangs:undefined,aliases:["typ"]})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/v.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"V",fileTypes:[".v",".vh",".vsh",".vv","v.mod"],name:"v",patterns:[{include:"#comments"},{include:"#function-decl"},{include:"#as-is"},{include:"#attributes"},{include:"#assignment"},{include:"#module-decl"},{include:"#import-decl"},{include:"#hash-decl"},{include:"#brackets"},{include:"#builtin-fix"},{include:"#escaped-fix"},{include:"#operators"},{include:"#function-limited-overload-decl"},{include:"#function-extend-decl"},{include:"#function-exist"},{include:"#generic"},{include:"#constants"},{include:"#type"},{include:"#enum"},{include:"#interface"},{include:"#struct"},{include:"#keywords"},{include:"#storage"},{include:"#numbers"},{include:"#strings"},{include:"#types"},{include:"#punctuations"},{include:"#variable-assign"},{include:"#function-decl"}],repository:{"as-is":{begin:/\p{space}+([ai]s)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.$1.v"}},end:/([\.\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.alias.v"}}},assignment:{captures:{"1":{patterns:[{include:"#operators"}]}},match:/\p{space}+([\-\%\&\*\+\/\:\^\|]?=)\p{space}+/dgv,name:"meta.definition.variable.v"},attributes:{captures:{"1":{name:"meta.function.attribute.v"},"2":{name:"punctuation.definition.begin.bracket.square.v"},"3":{name:"storage.modifier.attribute.v"},"4":{name:"punctuation.definition.end.bracket.square.v"}},match:/^\p{space}*((\[)(deprecated|unsafe|console|heap|manualfree|typedef|live|inline|flag|ref_only|direct_array_access|callconv)(\]))/dgv,name:"meta.definition.attribute.v"},brackets:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.bracket.curly.begin.v"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.bracket.curly.end.v"}},patterns:[{include:"$self"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.bracket.round.begin.v"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.bracket.round.end.v"}},patterns:[{include:"$self"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.bracket.square.begin.v"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.bracket.square.end.v"}},patterns:[{include:"$self"}]}]},"builtin-fix":{patterns:[{patterns:[{match:/(const)(?=\p{space}*\()/dgv,name:"storage.modifier.v"},{match:/\b(fn|type|enum|struct|union|interface|map|assert|sizeof|typeof|__offsetof)\b(?=\p{space}*\()/dgv,name:"keyword.$1.v"}]},{patterns:[{match:/(\$(?:if|else))(?=\p{space}*\()/dgv,name:"keyword.control.v"},{match:/\b(as|in|is|or|break|continue|default|unsafe|match|if|else|for|go|spawn|goto|defer|return|shared|select|rlock|lock|atomic|asm)\b(?=\p{space}*\()/dgv,name:"keyword.control.v"}]},{patterns:[{captures:{"1":{name:"storage.type.numeric.v"}},match:/(?<![^\n])(i?(?:8|16|nt|64|128)|u?(?:16|32|64|128)|f?(?:32|64))(?=\p{space}*\()/dgv,name:"meta.expr.numeric.cast.v"},{captures:{"1":{name:"storage.type.$1.v"}},match:/(bool|byte|byteptr|charptr|voidptr|string|rune|size_t|[iu]size)(?=\p{space}*\()/dgv,name:"meta.expr.bool.cast.v"}]}]},comments:{patterns:[{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.v"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.v"}},name:"comment.block.documentation.v",patterns:[{include:"#comments"}]},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.v"}},end:/(?=\n?$)/dgv,name:"comment.line.double-slash.v"}]},constants:{match:/\b(true|false|none)\b/dgv,name:"constant.language.v"},enum:{captures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"storage.type.enum.v"},"3":{name:"entity.name.enum.v"}},match:/^\p{space}*(?:(pub)?\p{space}+)?(enum)\p{space}+(?:[\p{L}\p{M}\p{N}\p{Pc}]+\.)?([\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.definition.enum.v"},"function-decl":{captures:{"1":{name:"storage.modifier.v"},"2":{name:"keyword.fn.v"},"3":{name:"entity.name.function.v"},"4":{patterns:[{include:"#generic"}]}},match:/^(\bpub\b\p{space}+)?\b(fn)\b\p{space}+(?:\([^\)]+\)\p{space}+)?(?:C\.)?([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*((?<=[\+\p{L}\p{M}\p{N}\p{Pc}\p{space}])(<)([\p{L}\p{M}\p{N}\p{Pc}]+)(>))?/dgv,name:"meta.definition.function.v"},"function-exist":{captures:{"0":{name:"meta.function.call.v"},"1":{patterns:[{include:"#illegal-name"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.v"}]},"2":{patterns:[{include:"#generic"}]}},match:/([\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}]+)(>))?(?=\p{space}*\()/dgv,name:"meta.support.function.v"},"function-extend-decl":{captures:{"1":{name:"storage.modifier.v"},"2":{name:"keyword.fn.v"},"3":{name:"punctuation.definition.bracket.round.begin.v"},"4":{patterns:[{include:"#brackets"},{include:"#storage"},{include:"#generic"},{include:"#types"},{include:"#punctuation"}]},"5":{name:"punctuation.definition.bracket.round.end.v"},"6":{patterns:[{include:"#illegal-name"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.v"}]},"7":{patterns:[{include:"#generic"}]}},match:/^\p{space}*(pub)?\p{space}*(fn)\p{space}*(\()([^\)]*)(\))\p{space}*(?:C\.)?([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*((?<=[\+\p{L}\p{M}\p{N}\p{Pc}\p{space}])(<)([\p{L}\p{M}\p{N}\p{Pc}]+)(>))?/dgv,name:"meta.definition.function.v"},"function-limited-overload-decl":{captures:{"1":{name:"storage.modifier.v"},"2":{name:"keyword.fn.v"},"3":{name:"punctuation.definition.bracket.round.begin.v"},"4":{patterns:[{include:"#brackets"},{include:"#storage"},{include:"#generic"},{include:"#types"},{include:"#punctuation"}]},"5":{name:"punctuation.definition.bracket.round.end.v"},"6":{patterns:[{include:"#operators"}]},"7":{name:"punctuation.definition.bracket.round.begin.v"},"8":{patterns:[{include:"#brackets"},{include:"#storage"},{include:"#generic"},{include:"#types"},{include:"#punctuation"}]},"9":{name:"punctuation.definition.bracket.round.end.v"},"10":{patterns:[{include:"#illegal-name"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.v"}]}},match:/^\p{space}*(pub)?\p{space}*(fn)\p{space}*(\()([^\)]*)(\))\p{space}*([\-\*\+\/])?\p{space}*(\()([^\)]*)(\))\p{space}*(?:C\.)?([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"meta.definition.function.v"},generic:{patterns:[{captures:{"1":{name:"punctuation.definition.bracket.angle.begin.v"},"2":{patterns:[{include:"#illegal-name"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.generic.v"}]},"3":{name:"punctuation.definition.bracket.angle.end.v"}},match:/(?<=[\+\p{L}\p{M}\p{N}\p{Pc}\p{space}])(<)([\p{L}\p{M}\p{N}\p{Pc}]+)(>)/dgv,name:"meta.definition.generic.v"}]},"hash-decl":{begin:/^\p{space}*(#)/dgv,end:/(?=\n?$)/dgv,name:"markup.bold.v"},"illegal-name":{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"invalid.illegal.v"},"import-decl":{begin:/^\p{space}*(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.import.v"}},end:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{"1":{name:"entity.name.import.v"}},name:"meta.import.v"},interface:{captures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"keyword.interface.v"},"3":{patterns:[{include:"#illegal-name"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.interface.v"}]}},match:/^\p{space}*(?:(pub)?\p{space}+)?(interface)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.definition.interface.v"},keywords:{patterns:[{match:/(\$(?:if|else))/dgv,name:"keyword.control.v"},{match:/(?<!@)\b(as|it|is|in|or|break|continue|default|unsafe|match|if|else|for|go|spawn|goto|defer|return|shared|select|rlock|lock|atomic|asm)\b/dgv,name:"keyword.control.v"},{match:/(?<!@)\b(fn|type|typeof|enum|struct|interface|map|assert|sizeof|__offsetof)\b/dgv,name:"keyword.$1.v"}]},"module-decl":{begin:/^\p{space}*(module)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.module.v"}},end:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{"1":{name:"entity.name.module.v"}},name:"meta.module.v"},numbers:{patterns:[{match:/([0-9]+(_?))+(\.)([0-9]+[Ee][\-\+]?[0-9]+)/dgv,name:"constant.numeric.exponential.v"},{match:/([0-9]+(_?))+(\.)([0-9]+)/dgv,name:"constant.numeric.float.v"},{match:/0b(?:[01]+_?)+/dgv,name:"constant.numeric.binary.v"},{match:/0o(?:[0-7]+_?)+/dgv,name:"constant.numeric.octal.v"},{match:/0x(?:\p{AHex}+_?)+/dgv,name:"constant.numeric.hex.v"},{match:/(?:[0-9]+_?)+/dgv,name:"constant.numeric.integer.v"}]},operators:{patterns:[{match:/([\-\%\*\+\/]|\+\+|--|>>|<<)/dgv,name:"keyword.operator.arithmetic.v"},{match:/(==|!=|[\<\>]|>=|<=)/dgv,name:"keyword.operator.relation.v"},{match:/((?::||[\-\%\&\*\+\/\^\|\~]|&&|\|\||>>|<<)=)/dgv,name:"keyword.operator.assignment.v"},{match:/([\&\^\|\~]|<(?!<)|>(?!>))/dgv,name:"keyword.operator.bitwise.v"},{match:/(&&|\|\||!)/dgv,name:"keyword.operator.logical.v"},{match:/\?/dgv,name:"keyword.operator.optional.v"}]},punctuation:{patterns:[{match:/\./dgv,name:"punctuation.delimiter.period.dot.v"},{match:/,/dgv,name:"punctuation.delimiter.comma.v"},{match:/:/dgv,name:"punctuation.separator.key-value.colon.v"},{match:/;/dgv,name:"punctuation.definition.other.semicolon.v"},{match:/\?/dgv,name:"punctuation.definition.other.questionmark.v"},{match:/#/dgv,name:"punctuation.hash.v"}]},punctuations:{patterns:[{match:/\./dgv,name:"punctuation.accessor.v"},{match:/,/dgv,name:"punctuation.separator.comma.v"}]},storage:{match:/\b(const|mut|pub)\b/dgv,name:"storage.modifier.v"},"string-escaped-char":{patterns:[{match:/\\([0-7]{3}|["\$'\\abfnrtv]|x\p{AHex}{2}|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.v"},{match:/\\[^"\$'0-7Uabfnrtuvx]/dgv,name:"invalid.illegal.unknown-escape.v"}]},"string-interpolation":{captures:{"1":{patterns:[{match:/\$\p{Nd}[\.\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"invalid.illegal.v"},{match:/\$([\.\p{L}\p{M}\p{N}\p{Pc}]+|\{[^\n]*?\})/dgv,name:"variable.other.interpolated.v"}]}},match:/(\$([\.\p{L}\p{M}\p{N}\p{Pc}]+|\{[^\n]*?\}))/dgv,name:"meta.string.interpolation.v"},"string-placeholder":{match:/%(\[\p{Nd}+\])?([\- \#\+0]{0,2}((\p{Nd}+|\*)?(\.?(\p{Nd}+|\*|(\[\p{Nd}+\])\*?)?(\[\p{Nd}+\])?)?))?[\%EFGTUXb-gopqstvx]/dgv,name:"constant.other.placeholder.v"},strings:{patterns:[{begin:/`/dgv,end:/`/dgv,name:"string.quoted.rune.v",patterns:[{include:"#string-escaped-char"},{include:"#string-interpolation"},{include:"#string-placeholder"}]},{begin:/(r)'/dgv,beginCaptures:{"1":{name:"storage.type.string.v"}},end:/'/dgv,name:"string.quoted.raw.v",patterns:[{include:"#string-interpolation"},{include:"#string-placeholder"}]},{begin:/(r)"/dgv,beginCaptures:{"1":{name:"storage.type.string.v"}},end:/"/dgv,name:"string.quoted.raw.v",patterns:[{include:"#string-interpolation"},{include:"#string-placeholder"}]},{begin:/(c?)'/dgv,beginCaptures:{"1":{name:"storage.type.string.v"}},end:/'/dgv,name:"string.quoted.v",patterns:[{include:"#string-escaped-char"},{include:"#string-interpolation"},{include:"#string-placeholder"}]},{begin:/(c?)"/dgv,beginCaptures:{"1":{name:"storage.type.string.v"}},end:/"/dgv,name:"string.quoted.v",patterns:[{include:"#string-escaped-char"},{include:"#string-interpolation"},{include:"#string-placeholder"}]}]},struct:{patterns:[{begin:/^\p{space}*(?:(mut|pub(?:\p{space}+mut)?|__global)\p{space}+)?(struct|union)\p{space}+([\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*|(\{)/dgv,beginCaptures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"storage.type.struct.v"},"3":{name:"entity.name.type.v"},"4":{name:"punctuation.definition.bracket.curly.begin.v"}},end:/\p{space}*|(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.bracket.curly.end.v"}},name:"meta.definition.struct.v",patterns:[{include:"#struct-access-modifier"},{captures:{"1":{name:"variable.other.property.v"},"2":{patterns:[{include:"#numbers"},{include:"#brackets"},{include:"#types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"storage.type.other.v"}]},"3":{name:"keyword.operator.assignment.v"},"4":{patterns:[{include:"$self"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\b([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\p{space}+([\\]\\&\\*\\.\\[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(?:\\p{space}*(=)\\p{space}*((?:(?=((?:[^\\n](?=(?=\\n?$)|//|/\\*))*))\\5)))?","dgv",{"hiddenCaptures":[5]})},{include:"#types"},{include:"$self"}]},{captures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"storage.type.struct.v"},"3":{name:"entity.name.struct.v"}},match:/^\p{space}*(mut|pub(?:\p{space}+mut)?|__global)\p{space}+?(struct)\p{space}+(?:\p{space}+([\.\p{L}\p{M}\p{N}\p{Pc}]+))?/dgv,name:"meta.definition.struct.v"}]},"struct-access-modifier":{captures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"punctuation.separator.struct.key-value.v"}},match:/(?<=\p{space}|^)(mut|pub(?:\p{space}+mut)?|__global)(:|\b)/dgv},type:{captures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"storage.type.type.v"},"3":{patterns:[{include:"#illegal-name"},{include:"#types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.v"}]},"4":{patterns:[{include:"#illegal-name"},{include:"#types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.v"}]}},match:/^\p{space}*(?:(pub)?\p{space}+)?(type)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+(?:[\p{L}\p{M}\p{N}\p{Pc}]+\.+)?([\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.definition.type.v"},types:{patterns:[{match:/(?<!\.)\b(i(8|16|nt|64|128)|u(8|16|32|64|128)|f(32|64))\b/dgv,name:"storage.type.numeric.v"},{match:/(?<!\.)\b(bool|byte|byteptr|charptr|voidptr|string|ustring|rune)\b/dgv,name:"storage.type.$1.v"}]},"variable-assign":{captures:{"0":{patterns:[{match:/[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.assignment.v"},{include:"#punctuation"}]}},match:/[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*(?:,\p{space}*[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)*(?=\p{space}*(?:|:)=)/dgv}},scopeName:"source.v",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"V",fileTypes:[".v",".vh",".vsh",".vv","v.mod"],name:"v",patterns:[{include:"#comments"},{include:"#function-decl"},{include:"#as-is"},{include:"#attributes"},{include:"#assignment"},{include:"#module-decl"},{include:"#import-decl"},{include:"#hash-decl"},{include:"#brackets"},{include:"#builtin-fix"},{include:"#escaped-fix"},{include:"#operators"},{include:"#function-limited-overload-decl"},{include:"#function-extend-decl"},{include:"#function-exist"},{include:"#generic"},{include:"#constants"},{include:"#type"},{include:"#enum"},{include:"#interface"},{include:"#struct"},{include:"#keywords"},{include:"#storage"},{include:"#numbers"},{include:"#strings"},{include:"#types"},{include:"#punctuations"},{include:"#variable-assign"},{include:"#function-decl"}],repository:{"as-is":{begin:/\p{space}+([ai]s)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.$1.v"}},end:/([\.\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.alias.v"}}},assignment:{captures:{"1":{patterns:[{include:"#operators"}]}},match:/\p{space}+([\-\%\&\*\+\/\:\^\|]?=)\p{space}+/dgv,name:"meta.definition.variable.v"},attributes:{captures:{"1":{name:"meta.function.attribute.v"},"2":{name:"punctuation.definition.begin.bracket.square.v"},"3":{name:"storage.modifier.attribute.v"},"4":{name:"punctuation.definition.end.bracket.square.v"}},match:/^\p{space}*((\[)(deprecated|unsafe|console|heap|manualfree|typedef|live|inline|flag|ref_only|direct_array_access|callconv)(\]))/dgv,name:"meta.definition.attribute.v"},brackets:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.bracket.curly.begin.v"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.bracket.curly.end.v"}},patterns:[{include:"$self"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.bracket.round.begin.v"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.bracket.round.end.v"}},patterns:[{include:"$self"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.bracket.square.begin.v"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.bracket.square.end.v"}},patterns:[{include:"$self"}]}]},"builtin-fix":{patterns:[{patterns:[{match:/(const)(?=\p{space}*\()/dgv,name:"storage.modifier.v"},{match:/\b(fn|type|enum|struct|union|interface|map|assert|sizeof|typeof|__offsetof)\b(?=\p{space}*\()/dgv,name:"keyword.$1.v"}]},{patterns:[{match:/(\$(?:if|else))(?=\p{space}*\()/dgv,name:"keyword.control.v"},{match:/\b(as|in|is|or|break|continue|default|unsafe|match|if|else|for|go|spawn|goto|defer|return|shared|select|rlock|lock|atomic|asm)\b(?=\p{space}*\()/dgv,name:"keyword.control.v"}]},{patterns:[{captures:{"1":{name:"storage.type.numeric.v"}},match:/(?<![^\n])(i?(?:8|16|nt|64|128)|u?(?:16|32|64|128)|f?(?:32|64))(?=\p{space}*\()/dgv,name:"meta.expr.numeric.cast.v"},{captures:{"1":{name:"storage.type.$1.v"}},match:/(bool|byte|byteptr|charptr|voidptr|string|rune|size_t|[iu]size)(?=\p{space}*\()/dgv,name:"meta.expr.bool.cast.v"}]}]},comments:{patterns:[{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.v"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.v"}},name:"comment.block.documentation.v",patterns:[{include:"#comments"}]},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.v"}},end:/(?=\n?$)/dgv,name:"comment.line.double-slash.v"}]},constants:{match:/\b(true|false|none)\b/dgv,name:"constant.language.v"},enum:{captures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"storage.type.enum.v"},"3":{name:"entity.name.enum.v"}},match:/^\p{space}*(?:(pub)?\p{space}+)?(enum)\p{space}+(?:[\p{L}\p{M}\p{N}\p{Pc}]+\.)?([\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.definition.enum.v"},"function-decl":{captures:{"1":{name:"storage.modifier.v"},"2":{name:"keyword.fn.v"},"3":{name:"entity.name.function.v"},"4":{patterns:[{include:"#generic"}]}},match:/^(\bpub\b\p{space}+)?\b(fn)\b\p{space}+(?:\([^\)]+\)\p{space}+)?(?:C\.)?([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*((?<=[\+\p{L}\p{M}\p{N}\p{Pc}\p{space}])(<)([\p{L}\p{M}\p{N}\p{Pc}]+)(>))?/dgv,name:"meta.definition.function.v"},"function-exist":{captures:{"0":{name:"meta.function.call.v"},"1":{patterns:[{include:"#illegal-name"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.v"}]},"2":{patterns:[{include:"#generic"}]}},match:/([\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}]+)(>))?(?=\p{space}*\()/dgv,name:"meta.support.function.v"},"function-extend-decl":{captures:{"1":{name:"storage.modifier.v"},"2":{name:"keyword.fn.v"},"3":{name:"punctuation.definition.bracket.round.begin.v"},"4":{patterns:[{include:"#brackets"},{include:"#storage"},{include:"#generic"},{include:"#types"},{include:"#punctuation"}]},"5":{name:"punctuation.definition.bracket.round.end.v"},"6":{patterns:[{include:"#illegal-name"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.v"}]},"7":{patterns:[{include:"#generic"}]}},match:/^\p{space}*(pub)?\p{space}*(fn)\p{space}*(\()([^\)]*)(\))\p{space}*(?:C\.)?([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*((?<=[\+\p{L}\p{M}\p{N}\p{Pc}\p{space}])(<)([\p{L}\p{M}\p{N}\p{Pc}]+)(>))?/dgv,name:"meta.definition.function.v"},"function-limited-overload-decl":{captures:{"1":{name:"storage.modifier.v"},"2":{name:"keyword.fn.v"},"3":{name:"punctuation.definition.bracket.round.begin.v"},"4":{patterns:[{include:"#brackets"},{include:"#storage"},{include:"#generic"},{include:"#types"},{include:"#punctuation"}]},"5":{name:"punctuation.definition.bracket.round.end.v"},"6":{patterns:[{include:"#operators"}]},"7":{name:"punctuation.definition.bracket.round.begin.v"},"8":{patterns:[{include:"#brackets"},{include:"#storage"},{include:"#generic"},{include:"#types"},{include:"#punctuation"}]},"9":{name:"punctuation.definition.bracket.round.end.v"},"10":{patterns:[{include:"#illegal-name"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.v"}]}},match:/^\p{space}*(pub)?\p{space}*(fn)\p{space}*(\()([^\)]*)(\))\p{space}*([\-\*\+\/])?\p{space}*(\()([^\)]*)(\))\p{space}*(?:C\.)?([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"meta.definition.function.v"},generic:{patterns:[{captures:{"1":{name:"punctuation.definition.bracket.angle.begin.v"},"2":{patterns:[{include:"#illegal-name"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.generic.v"}]},"3":{name:"punctuation.definition.bracket.angle.end.v"}},match:/(?<=[\+\p{L}\p{M}\p{N}\p{Pc}\p{space}])(<)([\p{L}\p{M}\p{N}\p{Pc}]+)(>)/dgv,name:"meta.definition.generic.v"}]},"hash-decl":{begin:/^\p{space}*(#)/dgv,end:/(?=\n?$)/dgv,name:"markup.bold.v"},"illegal-name":{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"invalid.illegal.v"},"import-decl":{begin:/^\p{space}*(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.import.v"}},end:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{"1":{name:"entity.name.import.v"}},name:"meta.import.v"},interface:{captures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"keyword.interface.v"},"3":{patterns:[{include:"#illegal-name"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.interface.v"}]}},match:/^\p{space}*(?:(pub)?\p{space}+)?(interface)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.definition.interface.v"},keywords:{patterns:[{match:/(\$(?:if|else))/dgv,name:"keyword.control.v"},{match:/(?<!@)\b(as|it|is|in|or|break|continue|default|unsafe|match|if|else|for|go|spawn|goto|defer|return|shared|select|rlock|lock|atomic|asm)\b/dgv,name:"keyword.control.v"},{match:/(?<!@)\b(fn|type|typeof|enum|struct|interface|map|assert|sizeof|__offsetof)\b/dgv,name:"keyword.$1.v"}]},"module-decl":{begin:/^\p{space}*(module)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.module.v"}},end:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{"1":{name:"entity.name.module.v"}},name:"meta.module.v"},numbers:{patterns:[{match:/([0-9]+(_?))+(\.)([0-9]+[Ee][\-\+]?[0-9]+)/dgv,name:"constant.numeric.exponential.v"},{match:/([0-9]+(_?))+(\.)([0-9]+)/dgv,name:"constant.numeric.float.v"},{match:/0b(?:[01]+_?)+/dgv,name:"constant.numeric.binary.v"},{match:/0o(?:[0-7]+_?)+/dgv,name:"constant.numeric.octal.v"},{match:/0x(?:\p{AHex}+_?)+/dgv,name:"constant.numeric.hex.v"},{match:/(?:[0-9]+_?)+/dgv,name:"constant.numeric.integer.v"}]},operators:{patterns:[{match:/([\-\%\*\+\/]|\+\+|--|>>|<<)/dgv,name:"keyword.operator.arithmetic.v"},{match:/(==|!=|[\<\>]|>=|<=)/dgv,name:"keyword.operator.relation.v"},{match:/((?::?|[\-\%\&\*\+\/\^\|\~]|&&|\|\||>>|<<)=)/dgv,name:"keyword.operator.assignment.v"},{match:/([\&\^\|\~]|<(?!<)|>(?!>))/dgv,name:"keyword.operator.bitwise.v"},{match:/(&&|\|\||!)/dgv,name:"keyword.operator.logical.v"},{match:/\?/dgv,name:"keyword.operator.optional.v"}]},punctuation:{patterns:[{match:/\./dgv,name:"punctuation.delimiter.period.dot.v"},{match:/,/dgv,name:"punctuation.delimiter.comma.v"},{match:/:/dgv,name:"punctuation.separator.key-value.colon.v"},{match:/;/dgv,name:"punctuation.definition.other.semicolon.v"},{match:/\?/dgv,name:"punctuation.definition.other.questionmark.v"},{match:/#/dgv,name:"punctuation.hash.v"}]},punctuations:{patterns:[{match:/\./dgv,name:"punctuation.accessor.v"},{match:/,/dgv,name:"punctuation.separator.comma.v"}]},storage:{match:/\b(const|mut|pub)\b/dgv,name:"storage.modifier.v"},"string-escaped-char":{patterns:[{match:/\\([0-7]{3}|["\$'\\abfnrtv]|x\p{AHex}{2}|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.v"},{match:/\\[^"\$'0-7Uabfnrtuvx]/dgv,name:"invalid.illegal.unknown-escape.v"}]},"string-interpolation":{captures:{"1":{patterns:[{match:/\$\p{Nd}[\.\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"invalid.illegal.v"},{match:/\$([\.\p{L}\p{M}\p{N}\p{Pc}]+|\{[^\n]*?\})/dgv,name:"variable.other.interpolated.v"}]}},match:/(\$([\.\p{L}\p{M}\p{N}\p{Pc}]+|\{[^\n]*?\}))/dgv,name:"meta.string.interpolation.v"},"string-placeholder":{match:/%(\[\p{Nd}+\])?([\- \#\+0]{0,2}((\p{Nd}+|\*)?(\.?(\p{Nd}+|\*|(\[\p{Nd}+\])\*?)?(\[\p{Nd}+\])?)?))?[\%EFGTUXb-gopqstvx]/dgv,name:"constant.other.placeholder.v"},strings:{patterns:[{begin:/`/dgv,end:/`/dgv,name:"string.quoted.rune.v",patterns:[{include:"#string-escaped-char"},{include:"#string-interpolation"},{include:"#string-placeholder"}]},{begin:/(r)'/dgv,beginCaptures:{"1":{name:"storage.type.string.v"}},end:/'/dgv,name:"string.quoted.raw.v",patterns:[{include:"#string-interpolation"},{include:"#string-placeholder"}]},{begin:/(r)"/dgv,beginCaptures:{"1":{name:"storage.type.string.v"}},end:/"/dgv,name:"string.quoted.raw.v",patterns:[{include:"#string-interpolation"},{include:"#string-placeholder"}]},{begin:/(c?)'/dgv,beginCaptures:{"1":{name:"storage.type.string.v"}},end:/'/dgv,name:"string.quoted.v",patterns:[{include:"#string-escaped-char"},{include:"#string-interpolation"},{include:"#string-placeholder"}]},{begin:/(c?)"/dgv,beginCaptures:{"1":{name:"storage.type.string.v"}},end:/"/dgv,name:"string.quoted.v",patterns:[{include:"#string-escaped-char"},{include:"#string-interpolation"},{include:"#string-placeholder"}]}]},struct:{patterns:[{begin:/^\p{space}*(?:(mut|pub(?:\p{space}+mut)?|__global)\p{space}+)?(struct|union)\p{space}+([\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*|(\{)/dgv,beginCaptures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"storage.type.struct.v"},"3":{name:"entity.name.type.v"},"4":{name:"punctuation.definition.bracket.curly.begin.v"}},end:/\p{space}*|(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.bracket.curly.end.v"}},name:"meta.definition.struct.v",patterns:[{include:"#struct-access-modifier"},{captures:{"1":{name:"variable.other.property.v"},"2":{patterns:[{include:"#numbers"},{include:"#brackets"},{include:"#types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"storage.type.other.v"}]},"3":{name:"keyword.operator.assignment.v"},"4":{patterns:[{include:"$self"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\b([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\p{space}+([\\]\\&\\*\\.\\[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)(?:\\p{space}*(=)\\p{space}*((?:(?=((?:[^\\n](?=(?=\\n?$)|//|/\\*))*))\\5)))?","dgv",{"hiddenCaptures":[5]})},{include:"#types"},{include:"$self"}]},{captures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"storage.type.struct.v"},"3":{name:"entity.name.struct.v"}},match:/^\p{space}*(mut|pub(?:\p{space}+mut)?|__global)\p{space}+?(struct)\p{space}+(?:\p{space}+([\.\p{L}\p{M}\p{N}\p{Pc}]+))?/dgv,name:"meta.definition.struct.v"}]},"struct-access-modifier":{captures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"punctuation.separator.struct.key-value.v"}},match:/(?<=\p{space}|^)(mut|pub(?:\p{space}+mut)?|__global)(:|\b)/dgv},type:{captures:{"1":{name:"storage.modifier.$1.v"},"2":{name:"storage.type.type.v"},"3":{patterns:[{include:"#illegal-name"},{include:"#types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.v"}]},"4":{patterns:[{include:"#illegal-name"},{include:"#types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.v"}]}},match:/^\p{space}*(?:(pub)?\p{space}+)?(type)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+(?:[\p{L}\p{M}\p{N}\p{Pc}]+\.+)?([\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.definition.type.v"},types:{patterns:[{match:/(?<!\.)\b(i(8|16|nt|64|128)|u(8|16|32|64|128)|f(32|64))\b/dgv,name:"storage.type.numeric.v"},{match:/(?<!\.)\b(bool|byte|byteptr|charptr|voidptr|string|ustring|rune)\b/dgv,name:"storage.type.$1.v"}]},"variable-assign":{captures:{"0":{patterns:[{match:/[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.assignment.v"},{include:"#punctuation"}]}},match:/[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*(?:,\p{space}*[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)*(?=\p{space}*:??=)/dgv}},scopeName:"source.v",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/vala.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Vala",fileTypes:["vala","vapi","gs"],name:"vala",patterns:[{include:"#code"}],repository:{code:{patterns:[{include:"#comments"},{include:"#constants"},{include:"#strings"},{include:"#keywords"},{include:"#types"},{include:"#functions"},{include:"#variables"}]},comments:{patterns:[{captures:{"0":{name:"punctuation.definition.comment.vala"}},match:/\/\*\*\//dgv,name:"comment.block.empty.vala"},{include:"text.html.javadoc"},{include:"#comments-inline"}]},"comments-inline":{patterns:[{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.vala"}},end:/\*\//dgv,name:"comment.block.vala"},{captures:{"1":{name:"comment.line.double-slash.vala"},"2":{name:"punctuation.definition.comment.vala"}},match:/\p{space}*((\/\/)[^\n]*(?=\n?$)\n?)/dgv}]},constants:{patterns:[{match:/\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)([DFLUdflu]|UL|ul)?\b/dgv,name:"constant.numeric.vala"},{match:/\b([A-Z][0-9A-Z_]+)\b/dgv,name:"variable.other.constant.vala"}]},functions:{patterns:[{match:/([\p{L}\p{M}\p{N}\p{Pc}]+)(?=\p{space}*(<[\.\p{space}\p{L}\p{M}\p{N}\p{Pc}]+>\p{space}*)?\()/dgv,name:"entity.name.function.vala"}]},keywords:{patterns:[{match:/(?<=^|[^\.\@\p{L}\p{M}\p{N}\p{Pc}])(as|do|if|in|is|not|or|and|for|get|new|out|ref|set|try|var|base|case|else|enum|lock|null|this|true|void|weak|async|break|catch|class|const|false|owned|throw|using|while|with|yield|delete|extern|inline|params|public|return|sealed|signal|sizeof|static|struct|switch|throws|typeof|unlock|default|dynamic|ensures|finally|foreach|private|unowned|virtual|abstract|continue|delegate|internal|override|requires|volatile|construct|interface|namespace|protected|errordomain)\b/dgv,name:"keyword.vala"},{match:/(?<=^|[^\.\@\p{L}\p{M}\p{N}\p{Pc}])(bool|double|float|unichar|unichar2|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|string16|string32|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64|va_list|time_t)\b/dgv,name:"keyword.vala"},{match:/(#(?:if|elif|else|endif))/dgv,name:"keyword.vala"}]},strings:{patterns:[{begin:/"""/dgv,end:/"""/dgv,name:"string.quoted.triple.vala"},{begin:/@"/dgv,end:/"/dgv,name:"string.quoted.interpolated.vala",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vala"},{match:/\$[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"constant.character.escape.vala"},{match:/\$\(([^\(\)]|\(([^\(\)]|\([^\)]*\))*\))*\)/dgv,name:"constant.character.escape.vala"}]},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.vala",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vala"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.vala",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vala"}]},{match:/\/((\\\/)|([^\/]))*\/(?=\p{space}*[\n\)\,\.\;])/dgv,name:"string.regexp.vala"}]},types:{patterns:[{match:/(?<=^|[^\.\@\p{L}\p{M}\p{N}\p{Pc}])(bool|double|float|unichar|unichar2|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|string16|string32|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64|va_list|time_t)\b/dgv,name:"storage.type.primitive.vala"},{match:/\b([A-Z]+[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.vala"}]},variables:{patterns:[{match:/\b([_a-z]+[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"variable.other.vala"}]}},scopeName:"source.vala",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Vala",fileTypes:["vala","vapi","gs"],name:"vala",patterns:[{include:"#code"}],repository:{code:{patterns:[{include:"#comments"},{include:"#constants"},{include:"#strings"},{include:"#keywords"},{include:"#types"},{include:"#functions"},{include:"#variables"}]},comments:{patterns:[{captures:{"0":{name:"punctuation.definition.comment.vala"}},match:/\/\*\*\//dgv,name:"comment.block.empty.vala"},{include:"text.html.javadoc"},{include:"#comments-inline"}]},"comments-inline":{patterns:[{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.vala"}},end:/\*\//dgv,name:"comment.block.vala"},{captures:{"1":{name:"comment.line.double-slash.vala"},"2":{name:"punctuation.definition.comment.vala"}},match:/\p{space}*((\/\/)[^\n]*(?=\n?$)\n?)/dgv}]},constants:{patterns:[{match:/\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)([DFLUdflu]|UL|ul)?\b/dgv,name:"constant.numeric.vala"},{match:/\b([A-Z][0-9A-Z_]+)\b/dgv,name:"variable.other.constant.vala"}]},functions:{patterns:[{match:/([\p{L}\p{M}\p{N}\p{Pc}]+)(?=\p{space}*(<[\.\p{space}\p{L}\p{M}\p{N}\p{Pc}]+>\p{space}*)?\()/dgv,name:"entity.name.function.vala"}]},keywords:{patterns:[{match:/(?<=^|[^\.\@\p{L}\p{M}\p{N}\p{Pc}])(as|do|if|in|is|not|or|and|for|get|new|out|ref|set|try|var|base|case|else|enum|lock|null|this|true|void|weak|async|break|catch|class|const|false|owned|throw|using|while|with|yield|delete|extern|inline|params|public|return|sealed|signal|sizeof|static|struct|switch|throws|typeof|unlock|default|dynamic|ensures|finally|foreach|private|unowned|virtual|abstract|continue|delegate|internal|override|requires|volatile|construct|interface|namespace|protected|errordomain)\b/dgv,name:"keyword.vala"},{match:/(?<=^|[^\.\@\p{L}\p{M}\p{N}\p{Pc}])(bool|double|float|unichar2??|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|string16|string32|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64|va_list|time_t)\b/dgv,name:"keyword.vala"},{match:/(#(?:if|elif|else|endif))/dgv,name:"keyword.vala"}]},strings:{patterns:[{begin:/"""/dgv,end:/"""/dgv,name:"string.quoted.triple.vala"},{begin:/@"/dgv,end:/"/dgv,name:"string.quoted.interpolated.vala",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vala"},{match:/\$[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"constant.character.escape.vala"},{match:/\$\(([^\(\)]|\(([^\(\)]|\([^\)]*\))*\))*\)/dgv,name:"constant.character.escape.vala"}]},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.vala",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vala"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.vala",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vala"}]},{match:/\/((\\\/)|([^\/]))*\/(?=\p{space}*[\n\)\,\.\;])/dgv,name:"string.regexp.vala"}]},types:{patterns:[{match:/(?<=^|[^\.\@\p{L}\p{M}\p{N}\p{Pc}])(bool|double|float|unichar2??|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|string16|string32|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64|va_list|time_t)\b/dgv,name:"storage.type.primitive.vala"},{match:/\b([A-Z]+[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.vala"}]},variables:{patterns:[{match:/\b([_a-z]+[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"variable.other.vala"}]}},scopeName:"source.vala",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/vb.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Visual Basic",name:"vb",patterns:[{match:/\n/dgv,name:"meta.ending-space"},{include:"#round-brackets"},{begin:/^(?=\t)/dgv,end:/(?=[^\t])/dgv,name:"meta.leading-space",patterns:[{captures:{"1":{name:"meta.odd-tab.tabs"},"2":{name:"meta.even-tab.tabs"}},match:/(\t)(\t)?/dgv}]},{begin:/^(?= )/dgv,end:/(?=[^ ])/dgv,name:"meta.leading-space",patterns:[{captures:{"1":{name:"meta.odd-tab.spaces"},"2":{name:"meta.even-tab.spaces"}},match:/( )( )?/dgv}]},{captures:{"1":{name:"storage.type.function.asp"},"2":{name:"entity.name.function.asp"},"3":{name:"punctuation.definition.parameters.asp"},"4":{name:"variable.parameter.function.asp"},"5":{name:"punctuation.definition.parameters.asp"}},match:/^\p{space}*((?:[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn]|[Ssſ][Uu][Bb]))\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\()([^\)]*)(\))[^\n]*\n?/dgv,name:"meta.function.asp"},{begin:/(^[\t ]+)?(?=')/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.asp"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.asp"}},end:/\n/dgv,name:"comment.line.apostrophe.asp"}]},{match:/\b(If|Then|Else|ElseIf|Else If|End If|While|Wend|For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf)\b/dgiv,name:"keyword.control.asp"},{match:/\b(Mod|And|Not|Or|Xor|as)\b/dgiv,name:"keyword.operator.asp"},{captures:{"1":{name:"storage.type.asp"},"2":{name:"variable.other.bfeac.asp"},"3":{name:"meta.separator.comma.asp"}},match:/(dim)\p{space}*\b([7A-Z_a-z][0-9A-Z_a-z]*?)\b\p{space}*(,?)/dgiv,name:"variable.other.dim.asp"},{match:/\p{space}*\b(Call|Class|Const|Dim|Redim|Function|Sub|Private Sub|Public Sub|End Sub|End Function|End Class|End Property|Public Property|Private Property|Set|Let|Get|New|Randomize|Option Explicit|On Error Resume Next|On Error GoTo)\b\p{space}*/dgiv,name:"storage.type.asp"},{match:/\b(Private|Public|Default)\b/dgiv,name:"storage.modifier.asp"},{match:/\p{space}*\b(Empty|False|Nothing|Null|True)\b/dgiv,name:"constant.language.asp"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.asp"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.asp"}},name:"string.quoted.double.asp",patterns:[{match:/""/dgv,name:"constant.character.escape.apostrophe.asp"}]},{captures:{"1":{name:"punctuation.definition.variable.asp"}},match:/(\$)[7A-Z_a-z][0-9A-Z_a-z]*?\b\p{space}*/dgv,name:"variable.other.asp"},{match:/\b(Application|ObjectContext|Request|Response|Server|Session)\b/dgiv,name:"support.class.asp"},{match:/\b(Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables)\b/dgiv,name:"support.class.collection.asp"},{match:/\b(TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout)\b/dgiv,name:"support.constant.asp"},{match:/\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\b/dgiv,name:"support.function.asp"},{match:/\b(Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart)\b/dgiv,name:"support.function.event.asp"},{match:/(?<=as )\b([7A-Z_a-z][0-9A-Z_a-z]*?)\b/dgiv,name:"support.type.vb.asp"},{match:/\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Item|Items|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Time|Timer|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\b/dgiv,name:"support.function.vb.asp"},{match:/-?\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\b/dgv,name:"constant.numeric.asp"},{match:/\b(vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray)\b/dgiv,name:"support.type.vb.asp"},{captures:{"1":{name:"entity.name.function.asp"}},match:/\b([7A-Z_a-z][0-9A-Z_a-z]*?)\b(?=\(\)?)/dgiv,name:"support.function.asp"},{match:/((?<=([\-\&\(\+\,\/\<\=\>\\]))\p{space}*\b([7A-Z_a-z][0-9A-Z_a-z]*?)\b(?!([\(\.]))|\b([7A-Z_a-z][0-9A-Z_a-z]*?)\b(?=\p{space}*([\-\&\(\)\+\/\<\=\>\\])))/dgiv,name:"variable.other.asp"},{match:/[\!\$\%\&\*]|--|-|\+\+|[\+\~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|[\!\<\>]|&&|\|\||\?:|\*=|\/=|%=|\+=|-=|&=|\^=|\b(in|instanceof|new|delete|typeof|void)\b/dgv,name:"keyword.operator.js"}],repository:{"round-brackets":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.round-brackets.begin.asp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.round-brackets.end.asp"}},name:"meta.round-brackets",patterns:[{include:"source.asp.vb.net"}]}},scopeName:"source.asp.vb.net",embeddedLangs:undefined,aliases:["cmd"]})
3
+ const lang = Object.freeze({displayName:"Visual Basic",name:"vb",patterns:[{match:/\n/dgv,name:"meta.ending-space"},{include:"#round-brackets"},{begin:/^(?=\t)/dgv,end:/(?=[^\t])/dgv,name:"meta.leading-space",patterns:[{captures:{"1":{name:"meta.odd-tab.tabs"},"2":{name:"meta.even-tab.tabs"}},match:/(\t)(\t)?/dgv}]},{begin:/^(?= )/dgv,end:/(?=[^ ])/dgv,name:"meta.leading-space",patterns:[{captures:{"1":{name:"meta.odd-tab.spaces"},"2":{name:"meta.even-tab.spaces"}},match:/( )( )?/dgv}]},{captures:{"1":{name:"storage.type.function.asp"},"2":{name:"entity.name.function.asp"},"3":{name:"punctuation.definition.parameters.asp"},"4":{name:"variable.parameter.function.asp"},"5":{name:"punctuation.definition.parameters.asp"}},match:/^\p{space}*((?:[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn]|[Ssſ][Uu][Bb]))\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\()([^\)]*)(\))[^\n]*\n?/dgv,name:"meta.function.asp"},{begin:/(^[\t ]+)?(?=')/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.asp"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.asp"}},end:/\n/dgv,name:"comment.line.apostrophe.asp"}]},{match:/\b(If|Then|Else|ElseIf|Else If|End If|While|Wend|For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf)\b/dgiv,name:"keyword.control.asp"},{match:/\b(Mod|And|Not|Or|Xor|as)\b/dgiv,name:"keyword.operator.asp"},{captures:{"1":{name:"storage.type.asp"},"2":{name:"variable.other.bfeac.asp"},"3":{name:"meta.separator.comma.asp"}},match:/(dim)\p{space}*\b([7A-Z_a-z][0-9A-Z_a-z]*?)\b\p{space}*(,?)/dgiv,name:"variable.other.dim.asp"},{match:/\p{space}*\b(Call|Class|Const|Dim|Redim|Function|Sub|Private Sub|Public Sub|End Sub|End Function|End Class|End Property|Public Property|Private Property|Set|Let|Get|New|Randomize|Option Explicit|On Error Resume Next|On Error GoTo)\b\p{space}*/dgiv,name:"storage.type.asp"},{match:/\b(Private|Public|Default)\b/dgiv,name:"storage.modifier.asp"},{match:/\p{space}*\b(Empty|False|Nothing|Null|True)\b/dgiv,name:"constant.language.asp"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.asp"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.asp"}},name:"string.quoted.double.asp",patterns:[{match:/""/dgv,name:"constant.character.escape.apostrophe.asp"}]},{captures:{"1":{name:"punctuation.definition.variable.asp"}},match:/(\$)[7A-Z_a-z][0-9A-Z_a-z]*?\b\p{space}*/dgv,name:"variable.other.asp"},{match:/\b(Application|ObjectContext|Request|Response|Server|Session)\b/dgiv,name:"support.class.asp"},{match:/\b(Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables)\b/dgiv,name:"support.class.collection.asp"},{match:/\b(TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout)\b/dgiv,name:"support.constant.asp"},{match:/\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\b/dgiv,name:"support.function.asp"},{match:/\b(Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart)\b/dgiv,name:"support.function.event.asp"},{match:/(?<=as )\b([7A-Z_a-z][0-9A-Z_a-z]*?)\b/dgiv,name:"support.type.vb.asp"},{match:/\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Items??|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Timer??|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\b/dgiv,name:"support.function.vb.asp"},{match:/-?\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\b/dgv,name:"constant.numeric.asp"},{match:/\b(vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray)\b/dgiv,name:"support.type.vb.asp"},{captures:{"1":{name:"entity.name.function.asp"}},match:/\b([7A-Z_a-z][0-9A-Z_a-z]*?)\b(?=\(\)?)/dgiv,name:"support.function.asp"},{match:/((?<=([\-\&\(\+\,\/\<\=\>\\]))\p{space}*\b([7A-Z_a-z][0-9A-Z_a-z]*?)\b(?!([\(\.]))|\b([7A-Z_a-z][0-9A-Z_a-z]*?)\b(?=\p{space}*([\-\&\(\)\+\/\<\=\>\\])))/dgiv,name:"variable.other.asp"},{match:/[\!\$\%\&\*]|--?|\+\+|[\+\~]|===?|=|!==??|<=|>=|<<=|>>=|>>>=|<>|[\!\<\>]|&&|\|\||\?:|\*=|\/=|%=|\+=|-=|&=|\^=|\b(in|instanceof|new|delete|typeof|void)\b/dgv,name:"keyword.operator.js"}],repository:{"round-brackets":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.round-brackets.begin.asp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.round-brackets.end.asp"}},name:"meta.round-brackets",patterns:[{include:"source.asp.vb.net"}]}},scopeName:"source.asp.vb.net",embeddedLangs:undefined,aliases:["cmd"]})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/vhdl.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"VHDL",fileTypes:["vhd","vhdl","vho","vht"],name:"vhdl",patterns:[{include:"#block_processing"},{include:"#cleanup"}],repository:{architecture_pattern:{patterns:[{begin:/\b([Aa][Rr][Cc][Hh][Ii][Tt][Ee][Cc][Tt][Uu][Rr][Ee])\p{space}+(([A-z][0-9A-z]*)|([^\n]+))(?=\p{space})\p{space}+([Oo][Ff])\p{space}+(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))(?=\p{space}*[Ii][Ssſ])\b/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.type.architecture.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"},"7":{name:"entity.name.type.entity.reference.vhdl"},"8":{name:"invalid.illegal.invalid.identifier.vhdl"}},end:/\b([Ee][Nn][Dd])(\p{space}+([Aa][Rr][Cc][Hh][Ii][Tt][Ee][Cc][Tt][Uu][Rr][Ee]))?(\p{space}+((\3)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.type.architecture.end.vhdl"},"7":{name:"invalid.illegal.mismatched.identifier.vhdl"}},name:"support.block.architecture",patterns:[{include:"#block_pattern"},{include:"#function_definition_pattern"},{include:"#procedure_definition_pattern"},{include:"#component_pattern"},{include:"#if_pattern"},{include:"#process_pattern"},{include:"#type_pattern"},{include:"#record_pattern"},{include:"#for_pattern"},{include:"#entity_instantiation_pattern"},{include:"#component_instantiation_pattern"},{include:"#cleanup"}]}]},attribute_list:{patterns:[{begin:/'\(/dgv,beginCaptures:{"0":{name:"punctuation.vhdl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_list"},{include:"#cleanup"}]}]},block_pattern:{patterns:[{begin:/^\p{space}*(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?(\p{space}*[Bb][Ll][Oo][Cc][KKk])/dgv,beginCaptures:{"2":{name:"meta.block.block.name"},"3":{name:"keyword.language.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/(end\p{space}+block)(\p{space}+(((?!))|([^\n]+?)))?(?=\p{space}*;)/dgiv,endCaptures:{"1":{name:"keyword.language.vhdl"},"2":{name:"meta.block.block.end"},"5":{name:"invalid.illegal.mismatched.identifier.vhdl"}},name:"meta.block.block",patterns:[{include:"#control_patterns"},{include:"#cleanup"}]}]},block_processing:{patterns:[{include:"#package_pattern"},{include:"#package_body_pattern"},{include:"#entity_pattern"},{include:"#architecture_pattern"}]},case_pattern:{patterns:[{begin:/^\p{space}*((([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))\p{space}*:\p{space}*)?\b([Cc][Aa][Ssſ][Ee])\b/dgv,beginCaptures:{"3":{name:"entity.name.tag.case.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}*(\p{space}+(([Cc][Aa][Ssſ][Ee])|([^\n]*?)))(\p{space}+((\2)|([^\n]*?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"4":{name:"keyword.language.vhdl"},"5":{name:"invalid.illegal.case.required.vhdl"},"8":{name:"entity.name.tag.case.end.vhdl"},"9":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#cleanup"}]}]},cleanup:{patterns:[{include:"#comments"},{include:"#constants_numeric"},{include:"#strings"},{include:"#attribute_list"},{include:"#syntax_highlighting"}]},comments:{patterns:[{match:/--[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.double-dash.vhdl"}]},component_instantiation_pattern:{patterns:[{begin:/^\p{space}*([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*([A-Za-z][0-9A-Z_a-z]*)\b(?=\p{space}*((?=\n?$)|generic|port))/dgv,beginCaptures:{"1":{name:"entity.name.section.component_instantiation.vhdl"},"2":{name:"punctuation.vhdl"},"3":{name:"entity.name.tag.component.reference.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_list"},{include:"#cleanup"}]}]},component_pattern:{patterns:[{begin:/^\p{space}*\b([Cc][Oo][Mm][Pp][Oo][Nn][Ee][Nn][Tt])\p{space}+(([A-Z_a-z][0-9A-Z_a-z]*)\p{space}*|([^\n]+?))(?=\b(?:[Ii][Ssſ]|[Pp][Oo][Rr][Tt])\b|(?=\n?$)|--)(\b([Ii][Ssſ]\b))?/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.type.component.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"6":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}+(([Cc][Oo][Mm][Pp][Oo][Nn][Ee][Nn][Tt]\b)|([^\n]+?))(?=\p{space}*|;)(\p{space}+((\3)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"4":{name:"invalid.illegal.component.keyword.required.vhdl"},"7":{name:"entity.name.type.component.end.vhdl"},"8":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#generic_list_pattern"},{include:"#port_list_pattern"},{include:"#comments"}]}]},constants_numeric:{patterns:[{match:/\b([\-\+]?[_\p{Nd}]+\.[_\p{Nd}]+([Ee][\-\+]?[_\p{Nd}]+)?)\b/dgv,name:"constant.numeric.floating_point.vhdl"},{match:/\b\p{Nd}+#[_\p{AHex}]+#\b/dgv,name:"constant.numeric.base_pound_number_pound.vhdl"},{match:/\b[_\p{Nd}]+([Ee][_\p{Nd}]+)?\b/dgv,name:"constant.numeric.integer.vhdl"},{match:/[Xx]"[\-HLUWXZ_hluwxz\p{AHex}]+"/dgv,name:"constant.numeric.quoted.double.string.hex.vhdl"},{match:/[Oo]"[\-0-7HLUWXZ_hluwxz]+"/dgv,name:"constant.numeric.quoted.double.string.octal.vhdl"},{match:/[Bb]?"[\-01HLUWXZ_hluwxz]+"/dgv,name:"constant.numeric.quoted.double.string.binary.vhdl"},{captures:{"1":{name:"invalid.illegal.quoted.double.string.vhdl"}},match:/([BOXbox]"[^\n]+?")/dgv,name:"constant.numeric.quoted.double.string.illegal.vhdl"},{match:/'[\-01HLUWXZhluwxz]'/dgv,name:"constant.numeric.quoted.single.std_logic"}]},control_patterns:{patterns:[{include:"#case_pattern"},{include:"#if_pattern"},{include:"#for_pattern"},{include:"#while_pattern"},{include:"#loop_pattern"}]},entity_instantiation_pattern:{patterns:[{begin:/^\p{space}*([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*(([Uu][Ssſ][Ee])\p{space}+)?([Ee][Nn][Tt][Ii][Tt][Yy])\p{space}+((([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))(\.))?(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))(?=\p{space}*(\(|(?=\n?$)|(?:[Pp][Oo][Rr][Tt]|[Gg][Ee][Nn][Ee][Rr][Ii][Cc])))(\p{space}*(\()\p{space}*(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))(?=\p{space}*\))\p{space}*(\)))?/dgv,beginCaptures:{"1":{name:"entity.name.section.entity_instantiation.vhdl"},"2":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"},"5":{name:"keyword.language.vhdl"},"8":{name:"entity.name.tag.library.reference.vhdl"},"9":{name:"invalid.illegal.invalid.identifier.vhdl"},"10":{name:"punctuation.vhdl"},"12":{name:"entity.name.tag.entity.reference.vhdl"},"13":{name:"invalid.illegal.invalid.identifier.vhdl"},"16":{name:"punctuation.vhdl"},"18":{name:"entity.name.tag.architecture.reference.vhdl"},"19":{name:"invalid.illegal.invalid.identifier.vhdl"},"21":{name:"punctuation.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_list"},{include:"#cleanup"}]}]},entity_pattern:{patterns:[{begin:/^\p{space}*([Ee][Nn][Tt][Ii][Tt][Yy]\b)\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]+?))(?=\p{space})/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.type.entity.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"}},end:/\b([Ee][Nn][Dd]\b)(\p{space}+([Ee][Nn][Tt][Ii][Tt][Yy]))?(\p{space}+((\3)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.type.entity.end.vhdl"},"7":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#comments"},{include:"#generic_list_pattern"},{include:"#port_list_pattern"},{include:"#cleanup"}]}]},for_pattern:{patterns:[{begin:/^\p{space}*(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?(?![Ww][Aa][Ii][Tt]\p{space}*)\b([Ff][Oo][Rr])\b(?!\p{space}*[Aa][Ll][Ll])/dgv,beginCaptures:{"2":{name:"entity.name.tag.for.generate.begin.vhdl"},"3":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}+(((?:[Gg][Ee][Nn][Ee][Rr][Aa][Tt][Ee]|[Ll][Oo][Oo][Pp]))|(\P{space}+))\b(\p{space}+((\2)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"4":{name:"invalid.illegal.loop.or.generate.required.vhdl"},"7":{name:"entity.name.tag.for.generate.end.vhdl"},"8":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#entity_instantiation_pattern"},{include:"#component_pattern"},{include:"#component_instantiation_pattern"},{include:"#process_pattern"},{include:"#cleanup"}]}]},function_definition_pattern:{patterns:[{begin:/^\p{space}*((?:[Ii][Mm][Pp][Uu][Rr][Ee])?\p{space}*[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|("\P{space}+")|(\\[^\n]+\\)|([^\n]+?))(?=\p{space}*(\(|\b[Rr][Ee][Tt][Uu][Rr][Nn]\b))/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.function.function.begin.vhdl"},"4":{name:"entity.name.function.function.begin.vhdl"},"5":{name:"entity.name.function.function.begin.vhdl"},"6":{name:"invalid.illegal.invalid.identifier.vhdl"}},end:/^\p{space}*([Ee][Nn][Dd])(\p{space}+([Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn]))?(\p{space}+((\3|(?!)|(?!))|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.function.function.end.vhdl"},"7":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#parenthetical_list"},{include:"#type_pattern"},{include:"#record_pattern"},{include:"#cleanup"}]}]},function_prototype_pattern:{patterns:[{begin:/^\p{space}*((?:[Ii][Mm][Pp][Uu][Rr][Ee])?\p{space}*[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|("\P{space}+")|(\\[^\n]+\\)|([^\n]+?))(?=\p{space}*(\(|\b[Rr][Ee][Tt][Uu][Rr][Nn]\b))/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.function.function.prototype.vhdl"},"4":{name:"entity.name.function.function.prototype.vhdl"},"5":{name:"entity.name.function.function.prototype.vhdl"},"6":{name:"invalid.illegal.function.name.vhdl"}},end:/(?<=;)/dgv,patterns:[{begin:/\breturn(?=\p{space}+[^\;]+\p{space}*;)/dgiv,beginCaptures:{"0":{name:"keyword.language.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.function_prototype.vhdl"}},patterns:[{include:"#parenthetical_list"},{include:"#cleanup"}]},{include:"#parenthetical_list"},{include:"#cleanup"}]}]},generic_list_pattern:{patterns:[{begin:/\bgeneric\b/dgiv,beginCaptures:{"0":{name:"keyword.language.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_list"}]}]},if_pattern:{patterns:[{begin:/(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?\b([Ii][Ff])\b/dgv,beginCaptures:{"2":{name:"entity.name.tag.if.generate.begin.vhdl"},"3":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/\b(end)\p{space}+((((?:generate|if))|(\P{space}+))\b(\p{space}+(((?!))|([^\n]+?)))?)?(?=\p{space}*;)/dgiv,endCaptures:{"1":{name:"keyword.language.vhdl"},"4":{name:"keyword.language.vhdl"},"5":{name:"invalid.illegal.if.or.generate.required.vhdl"},"8":{name:"entity.name.tag.if.generate.end.vhdl"},"9":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#process_pattern"},{include:"#entity_instantiation_pattern"},{include:"#component_pattern"},{include:"#component_instantiation_pattern"},{include:"#cleanup"}]}]},keywords:{patterns:[{match:/'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance|instance_name|last|last_value|left|leftof|length|low|path|path_name|pos|pred|quiet|range|reverse|reverse_range|right|rightof|simple|simple_name|stable|succ|transaction|val|value)\b/dgiv,name:"keyword.attributes.vhdl"},{match:/\b(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|context|deallocate|disconnect|downto|else|elsif|end|entity|exit|file|for|force|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|protected|pure|range|record|register|reject|release|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)\b/dgiv,name:"keyword.language.vhdl"},{match:/\b(?:std|ieee|work|standard|textio|std_logic_1164|std_logic_arith|std_logic_misc|std_logic_signed|std_logic_textio|std_logic_unsigned|numeric_bit|numeric_std|math_complex|math_real|vital_primitives|vital_timing)\b/dgiv,name:"standard.library.language.vhdl"},{match:/([\-\+]|<=|=|=>|:=|>=|[\&\/\<\>\|]|(\*{1,2}))/dgv,name:"keyword.operator.vhdl"}]},loop_pattern:{patterns:[{begin:/^\p{space}*(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?\b([Ll][Oo][Oo][Pp])\b/dgv,beginCaptures:{"2":{name:"entity.name.tag.loop.begin.vhdl"},"3":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}+(([Ll][Oo][Oo][Pp])|(\P{space}+))\b(\p{space}+((\2)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"4":{name:"invalid.illegal.loop.keyword.required.vhdl"},"7":{name:"entity.name.tag.loop.end.vhdl"},"8":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#cleanup"}]}]},package_body_pattern:{patterns:[{begin:/\b([Pp][Aa][Cc][KKk][Aa][Gg][Ee])\p{space}+([Bb][Oo][Dd][Yy])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]+?))\p{space}+([Ii][Ssſ])\b/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"2":{name:"keyword.language.vhdl"},"4":{name:"entity.name.section.package_body.begin.vhdl"},"5":{name:"invalid.illegal.invalid.identifier.vhdl"},"6":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd]\b)(\p{space}+([Pp][Aa][Cc][KKk][Aa][Gg][Ee])\p{space}+([Bb][Oo][Dd][Yy]))?(\p{space}+((\4)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"4":{name:"keyword.language.vhdl"},"7":{name:"entity.name.section.package_body.end.vhdl"},"8":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#protected_body_pattern"},{include:"#function_definition_pattern"},{include:"#procedure_definition_pattern"},{include:"#type_pattern"},{include:"#subtype_pattern"},{include:"#record_pattern"},{include:"#cleanup"}]}]},package_pattern:{patterns:[{begin:/\b([Pp][Aa][Cc][KKk][Aa][Gg][Ee])\p{space}+(?![Bb][Oo][Dd][Yy])(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]+?))\p{space}+([Ii][Ssſ])\b/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.section.package.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd]\b)(\p{space}+([Pp][Aa][Cc][KKk][Aa][Gg][Ee]))?(\p{space}+((\2)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.section.package.end.vhdl"},"7":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#protected_pattern"},{include:"#function_prototype_pattern"},{include:"#procedure_prototype_pattern"},{include:"#type_pattern"},{include:"#subtype_pattern"},{include:"#record_pattern"},{include:"#component_pattern"},{include:"#cleanup"}]}]},parenthetical_list:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.vhdl"}},end:/(?<=\))/dgv,patterns:[{begin:/(?=["'0-9A-Za-z])/dgv,end:/([\)\,\;])/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},name:"source.vhdl",patterns:[{include:"#comments"},{include:"#parenthetical_pair"},{include:"#cleanup"}]},{match:/\)/dgv,name:"invalid.illegal.unexpected.parenthesis.vhdl"},{include:"#cleanup"}]}]},parenthetical_pair:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.vhdl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_pair"},{include:"#cleanup"}]}]},port_list_pattern:{patterns:[{begin:/\bport\b/dgiv,beginCaptures:{"0":{name:"keyword.language.vhdl"}},end:/(?<=\))\p{space}*;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_list"}]}]},procedure_definition_pattern:{patterns:[{begin:/^\p{space}*([Pp][Rr][Oo][Cc][Ee][Dd][Uu][Rr][Ee])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|("\P{space}+")|([^\n]+?))(?=\p{space}*(\(|[Ii][Ssſ]))/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.function.procedure.begin.vhdl"},"4":{name:"entity.name.function.procedure.begin.vhdl"},"5":{name:"invalid.illegal.invalid.identifier.vhdl"}},end:/^\p{space}*([Ee][Nn][Dd])(\p{space}+([Pp][Rr][Oo][Cc][Ee][Dd][Uu][Rr][Ee]))?(\p{space}+((\3|(?!))|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.function.procedure.end.vhdl"},"7":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#parenthetical_list"},{include:"#control_patterns"},{include:"#type_pattern"},{include:"#record_pattern"},{include:"#cleanup"}]}]},procedure_prototype_pattern:{patterns:[{begin:/\b([Pp][Rr][Oo][Cc][Ee][Dd][Uu][Rr][Ee])\p{space}+(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))(?=\p{space}*([\(\;]))/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.function.procedure.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctual.vhdl"}},patterns:[{include:"#parenthetical_list"}]}]},process_pattern:{patterns:[{begin:/^\p{space}*(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?((?:postponed\p{space}+)?[Pp][Rr][Oo][Cc][Ee][Ssſ][Ssſ]\b)/dgv,beginCaptures:{"2":{name:"entity.name.section.process.begin.vhdl"},"3":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/([Ee][Nn][Dd])(\p{space}+((?:postponed\p{space}+)?[Pp][Rr][Oo][Cc][Ee][Ssſ][Ssſ]))(\p{space}+((\2)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.section.process.end.vhdl"},"7":{name:"invalid.illegal.invalid.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#cleanup"}]}]},protected_body_pattern:{patterns:[{begin:/\b([Tt][Yy][Pp][Ee])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]+?))\p{space}+\b([Ii][Ssſ]\p{space}+[Pp][Rr][Oo][Tt][Ee][Cc][Tt][Ee][Dd]\p{space}+[Bb][Oo][Dd][Yy])\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.section.protected_body.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"}},end:/\b(end\p{space}+protected\p{space}+body)(\p{space}+(((?!))|([^\n]+?)))?(?=\p{space}*;)/dgiv,endCaptures:{"1":{name:"keyword.language.vhdl"},"4":{name:"entity.name.section.protected_body.end.vhdl"},"5":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#function_definition_pattern"},{include:"#procedure_definition_pattern"},{include:"#type_pattern"},{include:"#subtype_pattern"},{include:"#record_pattern"},{include:"#cleanup"}]}]},protected_pattern:{patterns:[{begin:/\b([Tt][Yy][Pp][Ee])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]+?))\p{space}+\b([Ii][Ssſ]\p{space}+[Pp][Rr][Oo][Tt][Ee][Cc][Tt][Ee][Dd])\p{space}+(?![Bb][Oo][Dd][Yy])/dgv,beginCaptures:{"1":{name:"keyword.language.vhdls"},"3":{name:"entity.name.section.protected.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"}},end:/\b(end\p{space}+protected)(\p{space}+(((?!))|([^\n]+?)))?(?!body)(?=\p{space}*;)/dgiv,endCaptures:{"1":{name:"keyword.language.vhdl"},"4":{name:"entity.name.section.protected.end.vhdl"},"5":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#function_prototype_pattern"},{include:"#procedure_prototype_pattern"},{include:"#type_pattern"},{include:"#subtype_pattern"},{include:"#record_pattern"},{include:"#component_pattern"},{include:"#cleanup"}]}]},punctuation:{patterns:[{match:/([\(\)\,\.\:\;])/dgv,name:"punctuation.vhdl"}]},record_pattern:{patterns:[{begin:/\brecord\b/dgiv,beginCaptures:{"0":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}+([Rr][Ee][Cc][Oo][Rr][Dd])(\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]*?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"2":{name:"keyword.language.vhdl"},"5":{name:"entity.name.type.record.vhdl"},"6":{name:"invalid.illegal.invalid.identifier.vhdl"}},patterns:[{include:"#cleanup"}]},{include:"#cleanup"}]},strings:{patterns:[{match:/'[^\n]'/dgv,name:"string.quoted.single.vhdl"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.vhdl",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vhdl"}]},{begin:/\\/dgv,end:/\\/dgv,name:"string.other.backslash.vhdl"}]},subtype_pattern:{patterns:[{begin:/\b([Ssſ][Uu][Bb][Tt][Yy][Pp][Ee])\p{space}+(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))\p{space}+([Ii][Ssſ])\b/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.type.subtype.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#cleanup"}]}]},support_constants:{patterns:[{match:/\bmath_(?:1_over_e|1_over_pi|1_over_sqrt_2|2_pi|3_pi_over_2|deg_to_rad|e|log10_of_e|log2_of_e|log_of_10|log_of_2|pi|pi_over_2|pi_over_3|pi_over_4|rad_to_deg|sqrt_2|sqrt_pi)\b/dgiv,name:"support.constant.ieee.math_real.vhdl"},{match:/\b(?:math_cbase_1|math_cbase_j|math_czero|positive_real|principal_value)\b/dgiv,name:"support.constant.ieee.math_complex.vhdl"},{match:/\b(?:true|false)\b/dgiv,name:"support.constant.std.standard.vhdl"}]},support_functions:{patterns:[{match:/\b(?:finish|stop|resolution_limit)\b/dgiv,name:"support.function.std.env.vhdl"},{match:/\b(?:readline|read|writeline|write|endfile|endline)\b/dgiv,name:"support.function.std.textio.vhdl"},{match:/\b(?:rising_edge|falling_edge|to_bit|to_bitvector|to_stdulogic|to_stdlogicvector|to_stdulogicvector|is_x)\b/dgiv,name:"support.function.ieee.std_logic_1164.vhdl"},{match:/\b(?:shift_left|shift_right|rotate_left|rotate_right|resize|to_integer|to_unsigned|to_signed)\b/dgiv,name:"support.function.ieee.numeric_std.vhdl"},{match:/\b(?:arccos(h?)|arcsin(h?)|arctan|arctanh|cbrt|ceil|cos|cosh|exp|floor|log10|log2|log|realmax|realmin|round|sign|sin|sinh|sqrt|tan|tanh|trunc)\b/dgiv,name:"support.function.ieee.math_real.vhdl"},{match:/\b(?:arg|cmplx|complex_to_polar|conj|get_principal_value|polar_to_complex)\b/dgiv,name:"support.function.ieee.math_complex.vhdl"}]},support_types:{patterns:[{match:/\b(?:boolean|bit|character|severity_level|integer|real|time|delay_length|now|natural|positive|string|bit_vector|file_open_kind|file_open_status|fs|ps|ns|us|ms|sec|min|hr|severity_level|note|warning|error|failure)\b/dgiv,name:"support.type.std.standard.vhdl"},{match:/\b(?:line|text|side|width|input|output)\b/dgiv,name:"support.type.std.textio.vhdl"},{match:/\bstd_(?:|u)logic(?:|_vector)\b/dgiv,name:"support.type.ieee.std_logic_1164.vhdl"},{match:/\b(?:|un)signed\b/dgiv,name:"support.type.ieee.numeric_std.vhdl"},{match:/\bcomplex(?:|_polar)\b/dgiv,name:"support.type.ieee.math_complex.vhdl"}]},syntax_highlighting:{patterns:[{include:"#keywords"},{include:"#punctuation"},{include:"#support_constants"},{include:"#support_types"},{include:"#support_functions"}]},type_pattern:{patterns:[{begin:/\b([Tt][Yy][Pp][Ee])\p{space}+(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))((?=\p{space}*;)|(\p{space}+([Ii][Ssſ])))\b/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.type.type.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"7":{name:"keyword.language.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#record_pattern"},{include:"#cleanup"}]}]},while_pattern:{patterns:[{begin:/^\p{space}*(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?\b([Ww][Hh][Ii][Ll][Ee])\b/dgv,beginCaptures:{"2":{name:""},"3":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}+(([Ll][Oo][Oo][Pp])|(\P{space}+))\b(\p{space}+((\2)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"4":{name:"invalid.illegal.loop.keyword.required.vhdl"},"7":{name:"entity.name.tag.while.loop.vhdl"},"8":{name:"invalid.illegal.mismatched.identifier"}},patterns:[{include:"#control_patterns"},{include:"#cleanup"}]}]}},scopeName:"source.vhdl",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"VHDL",fileTypes:["vhd","vhdl","vho","vht"],name:"vhdl",patterns:[{include:"#block_processing"},{include:"#cleanup"}],repository:{architecture_pattern:{patterns:[{begin:/\b([Aa][Rr][Cc][Hh][Ii][Tt][Ee][Cc][Tt][Uu][Rr][Ee])\p{space}+(([A-z][0-9A-z]*)|([^\n]+))(?=\p{space})\p{space}+([Oo][Ff])\p{space}+(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))(?=\p{space}*[Ii][Ssſ])\b/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.type.architecture.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"},"7":{name:"entity.name.type.entity.reference.vhdl"},"8":{name:"invalid.illegal.invalid.identifier.vhdl"}},end:/\b([Ee][Nn][Dd])(\p{space}+([Aa][Rr][Cc][Hh][Ii][Tt][Ee][Cc][Tt][Uu][Rr][Ee]))?(\p{space}+((\3)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.type.architecture.end.vhdl"},"7":{name:"invalid.illegal.mismatched.identifier.vhdl"}},name:"support.block.architecture",patterns:[{include:"#block_pattern"},{include:"#function_definition_pattern"},{include:"#procedure_definition_pattern"},{include:"#component_pattern"},{include:"#if_pattern"},{include:"#process_pattern"},{include:"#type_pattern"},{include:"#record_pattern"},{include:"#for_pattern"},{include:"#entity_instantiation_pattern"},{include:"#component_instantiation_pattern"},{include:"#cleanup"}]}]},attribute_list:{patterns:[{begin:/'\(/dgv,beginCaptures:{"0":{name:"punctuation.vhdl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_list"},{include:"#cleanup"}]}]},block_pattern:{patterns:[{begin:/^\p{space}*(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?(\p{space}*[Bb][Ll][Oo][Cc][KKk])/dgv,beginCaptures:{"2":{name:"meta.block.block.name"},"3":{name:"keyword.language.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/(end\p{space}+block)(\p{space}+(((?!))|([^\n]+?)))?(?=\p{space}*;)/dgiv,endCaptures:{"1":{name:"keyword.language.vhdl"},"2":{name:"meta.block.block.end"},"5":{name:"invalid.illegal.mismatched.identifier.vhdl"}},name:"meta.block.block",patterns:[{include:"#control_patterns"},{include:"#cleanup"}]}]},block_processing:{patterns:[{include:"#package_pattern"},{include:"#package_body_pattern"},{include:"#entity_pattern"},{include:"#architecture_pattern"}]},case_pattern:{patterns:[{begin:/^\p{space}*((([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))\p{space}*:\p{space}*)?\b([Cc][Aa][Ssſ][Ee])\b/dgv,beginCaptures:{"3":{name:"entity.name.tag.case.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}*(\p{space}+(([Cc][Aa][Ssſ][Ee])|([^\n]*?)))(\p{space}+((\2)|([^\n]*?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"4":{name:"keyword.language.vhdl"},"5":{name:"invalid.illegal.case.required.vhdl"},"8":{name:"entity.name.tag.case.end.vhdl"},"9":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#cleanup"}]}]},cleanup:{patterns:[{include:"#comments"},{include:"#constants_numeric"},{include:"#strings"},{include:"#attribute_list"},{include:"#syntax_highlighting"}]},comments:{patterns:[{match:/--[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.double-dash.vhdl"}]},component_instantiation_pattern:{patterns:[{begin:/^\p{space}*([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*([A-Za-z][0-9A-Z_a-z]*)\b(?=\p{space}*((?=\n?$)|generic|port))/dgv,beginCaptures:{"1":{name:"entity.name.section.component_instantiation.vhdl"},"2":{name:"punctuation.vhdl"},"3":{name:"entity.name.tag.component.reference.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_list"},{include:"#cleanup"}]}]},component_pattern:{patterns:[{begin:/^\p{space}*\b([Cc][Oo][Mm][Pp][Oo][Nn][Ee][Nn][Tt])\p{space}+(([A-Z_a-z][0-9A-Z_a-z]*)\p{space}*|([^\n]+?))(?=\b(?:[Ii][Ssſ]|[Pp][Oo][Rr][Tt])\b|(?=\n?$)|--)(\b([Ii][Ssſ]\b))?/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.type.component.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"6":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}+(([Cc][Oo][Mm][Pp][Oo][Nn][Ee][Nn][Tt]\b)|([^\n]+?))(?=\p{space}*|;)(\p{space}+((\3)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"4":{name:"invalid.illegal.component.keyword.required.vhdl"},"7":{name:"entity.name.type.component.end.vhdl"},"8":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#generic_list_pattern"},{include:"#port_list_pattern"},{include:"#comments"}]}]},constants_numeric:{patterns:[{match:/\b([\-\+]?[_\p{Nd}]+\.[_\p{Nd}]+([Ee][\-\+]?[_\p{Nd}]+)?)\b/dgv,name:"constant.numeric.floating_point.vhdl"},{match:/\b\p{Nd}+#[_\p{AHex}]+#\b/dgv,name:"constant.numeric.base_pound_number_pound.vhdl"},{match:/\b[_\p{Nd}]+([Ee][_\p{Nd}]+)?\b/dgv,name:"constant.numeric.integer.vhdl"},{match:/[Xx]"[\-HLUWXZ_hluwxz\p{AHex}]+"/dgv,name:"constant.numeric.quoted.double.string.hex.vhdl"},{match:/[Oo]"[\-0-7HLUWXZ_hluwxz]+"/dgv,name:"constant.numeric.quoted.double.string.octal.vhdl"},{match:/[Bb]?"[\-01HLUWXZ_hluwxz]+"/dgv,name:"constant.numeric.quoted.double.string.binary.vhdl"},{captures:{"1":{name:"invalid.illegal.quoted.double.string.vhdl"}},match:/([BOXbox]"[^\n]+?")/dgv,name:"constant.numeric.quoted.double.string.illegal.vhdl"},{match:/'[\-01HLUWXZhluwxz]'/dgv,name:"constant.numeric.quoted.single.std_logic"}]},control_patterns:{patterns:[{include:"#case_pattern"},{include:"#if_pattern"},{include:"#for_pattern"},{include:"#while_pattern"},{include:"#loop_pattern"}]},entity_instantiation_pattern:{patterns:[{begin:/^\p{space}*([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*(([Uu][Ssſ][Ee])\p{space}+)?([Ee][Nn][Tt][Ii][Tt][Yy])\p{space}+((([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))(\.))?(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))(?=\p{space}*(\(|(?=\n?$)|(?:[Pp][Oo][Rr][Tt]|[Gg][Ee][Nn][Ee][Rr][Ii][Cc])))(\p{space}*(\()\p{space}*(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))(?=\p{space}*\))\p{space}*(\)))?/dgv,beginCaptures:{"1":{name:"entity.name.section.entity_instantiation.vhdl"},"2":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"},"5":{name:"keyword.language.vhdl"},"8":{name:"entity.name.tag.library.reference.vhdl"},"9":{name:"invalid.illegal.invalid.identifier.vhdl"},"10":{name:"punctuation.vhdl"},"12":{name:"entity.name.tag.entity.reference.vhdl"},"13":{name:"invalid.illegal.invalid.identifier.vhdl"},"16":{name:"punctuation.vhdl"},"18":{name:"entity.name.tag.architecture.reference.vhdl"},"19":{name:"invalid.illegal.invalid.identifier.vhdl"},"21":{name:"punctuation.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_list"},{include:"#cleanup"}]}]},entity_pattern:{patterns:[{begin:/^\p{space}*([Ee][Nn][Tt][Ii][Tt][Yy]\b)\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]+?))(?=\p{space})/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.type.entity.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"}},end:/\b([Ee][Nn][Dd]\b)(\p{space}+([Ee][Nn][Tt][Ii][Tt][Yy]))?(\p{space}+((\3)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.type.entity.end.vhdl"},"7":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#comments"},{include:"#generic_list_pattern"},{include:"#port_list_pattern"},{include:"#cleanup"}]}]},for_pattern:{patterns:[{begin:/^\p{space}*(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?(?![Ww][Aa][Ii][Tt]\p{space}*)\b([Ff][Oo][Rr])\b(?!\p{space}*[Aa][Ll][Ll])/dgv,beginCaptures:{"2":{name:"entity.name.tag.for.generate.begin.vhdl"},"3":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}+(((?:[Gg][Ee][Nn][Ee][Rr][Aa][Tt][Ee]|[Ll][Oo][Oo][Pp]))|(\P{space}+))\b(\p{space}+((\2)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"4":{name:"invalid.illegal.loop.or.generate.required.vhdl"},"7":{name:"entity.name.tag.for.generate.end.vhdl"},"8":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#entity_instantiation_pattern"},{include:"#component_pattern"},{include:"#component_instantiation_pattern"},{include:"#process_pattern"},{include:"#cleanup"}]}]},function_definition_pattern:{patterns:[{begin:/^\p{space}*((?:[Ii][Mm][Pp][Uu][Rr][Ee])?\p{space}*[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|("\P{space}+")|(\\[^\n]+\\)|([^\n]+?))(?=\p{space}*(\(|\b[Rr][Ee][Tt][Uu][Rr][Nn]\b))/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.function.function.begin.vhdl"},"4":{name:"entity.name.function.function.begin.vhdl"},"5":{name:"entity.name.function.function.begin.vhdl"},"6":{name:"invalid.illegal.invalid.identifier.vhdl"}},end:/^\p{space}*([Ee][Nn][Dd])(\p{space}+([Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn]))?(\p{space}+((\3|(?!)|(?!))|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.function.function.end.vhdl"},"7":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#parenthetical_list"},{include:"#type_pattern"},{include:"#record_pattern"},{include:"#cleanup"}]}]},function_prototype_pattern:{patterns:[{begin:/^\p{space}*((?:[Ii][Mm][Pp][Uu][Rr][Ee])?\p{space}*[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|("\P{space}+")|(\\[^\n]+\\)|([^\n]+?))(?=\p{space}*(\(|\b[Rr][Ee][Tt][Uu][Rr][Nn]\b))/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.function.function.prototype.vhdl"},"4":{name:"entity.name.function.function.prototype.vhdl"},"5":{name:"entity.name.function.function.prototype.vhdl"},"6":{name:"invalid.illegal.function.name.vhdl"}},end:/(?<=;)/dgv,patterns:[{begin:/\breturn(?=\p{space}+[^\;]+\p{space}*;)/dgiv,beginCaptures:{"0":{name:"keyword.language.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.function_prototype.vhdl"}},patterns:[{include:"#parenthetical_list"},{include:"#cleanup"}]},{include:"#parenthetical_list"},{include:"#cleanup"}]}]},generic_list_pattern:{patterns:[{begin:/\bgeneric\b/dgiv,beginCaptures:{"0":{name:"keyword.language.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_list"}]}]},if_pattern:{patterns:[{begin:/(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?\b([Ii][Ff])\b/dgv,beginCaptures:{"2":{name:"entity.name.tag.if.generate.begin.vhdl"},"3":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/\b(end)\p{space}+((((?:generate|if))|(\P{space}+))\b(\p{space}+(((?!))|([^\n]+?)))?)?(?=\p{space}*;)/dgiv,endCaptures:{"1":{name:"keyword.language.vhdl"},"4":{name:"keyword.language.vhdl"},"5":{name:"invalid.illegal.if.or.generate.required.vhdl"},"8":{name:"entity.name.tag.if.generate.end.vhdl"},"9":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#process_pattern"},{include:"#entity_instantiation_pattern"},{include:"#component_pattern"},{include:"#component_instantiation_pattern"},{include:"#cleanup"}]}]},keywords:{patterns:[{match:/'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance|instance_name|last|last_value|left|leftof|length|low|path|path_name|pos|pred|quiet|range|reverse|reverse_range|right|rightof|simple|simple_name|stable|succ|transaction|val|value)\b/dgiv,name:"keyword.attributes.vhdl"},{match:/\b(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|context|deallocate|disconnect|downto|else|elsif|end|entity|exit|file|for|force|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|protected|pure|range|record|register|reject|release|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)\b/dgiv,name:"keyword.language.vhdl"},{match:/\b(?:std|ieee|work|standard|textio|std_logic_1164|std_logic_arith|std_logic_misc|std_logic_signed|std_logic_textio|std_logic_unsigned|numeric_bit|numeric_std|math_complex|math_real|vital_primitives|vital_timing)\b/dgiv,name:"standard.library.language.vhdl"},{match:/([\-\+]|<=|=>??|:=|>=|[\&\/\<\>\|]|(\*{1,2}))/dgv,name:"keyword.operator.vhdl"}]},loop_pattern:{patterns:[{begin:/^\p{space}*(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?\b([Ll][Oo][Oo][Pp])\b/dgv,beginCaptures:{"2":{name:"entity.name.tag.loop.begin.vhdl"},"3":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}+(([Ll][Oo][Oo][Pp])|(\P{space}+))\b(\p{space}+((\2)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"4":{name:"invalid.illegal.loop.keyword.required.vhdl"},"7":{name:"entity.name.tag.loop.end.vhdl"},"8":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#cleanup"}]}]},package_body_pattern:{patterns:[{begin:/\b([Pp][Aa][Cc][KKk][Aa][Gg][Ee])\p{space}+([Bb][Oo][Dd][Yy])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]+?))\p{space}+([Ii][Ssſ])\b/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"2":{name:"keyword.language.vhdl"},"4":{name:"entity.name.section.package_body.begin.vhdl"},"5":{name:"invalid.illegal.invalid.identifier.vhdl"},"6":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd]\b)(\p{space}+([Pp][Aa][Cc][KKk][Aa][Gg][Ee])\p{space}+([Bb][Oo][Dd][Yy]))?(\p{space}+((\4)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"4":{name:"keyword.language.vhdl"},"7":{name:"entity.name.section.package_body.end.vhdl"},"8":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#protected_body_pattern"},{include:"#function_definition_pattern"},{include:"#procedure_definition_pattern"},{include:"#type_pattern"},{include:"#subtype_pattern"},{include:"#record_pattern"},{include:"#cleanup"}]}]},package_pattern:{patterns:[{begin:/\b([Pp][Aa][Cc][KKk][Aa][Gg][Ee])\p{space}+(?![Bb][Oo][Dd][Yy])(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]+?))\p{space}+([Ii][Ssſ])\b/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.section.package.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd]\b)(\p{space}+([Pp][Aa][Cc][KKk][Aa][Gg][Ee]))?(\p{space}+((\2)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.section.package.end.vhdl"},"7":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#protected_pattern"},{include:"#function_prototype_pattern"},{include:"#procedure_prototype_pattern"},{include:"#type_pattern"},{include:"#subtype_pattern"},{include:"#record_pattern"},{include:"#component_pattern"},{include:"#cleanup"}]}]},parenthetical_list:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.vhdl"}},end:/(?<=\))/dgv,patterns:[{begin:/(?=["'0-9A-Za-z])/dgv,end:/([\)\,\;])/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},name:"source.vhdl",patterns:[{include:"#comments"},{include:"#parenthetical_pair"},{include:"#cleanup"}]},{match:/\)/dgv,name:"invalid.illegal.unexpected.parenthesis.vhdl"},{include:"#cleanup"}]}]},parenthetical_pair:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.vhdl"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_pair"},{include:"#cleanup"}]}]},port_list_pattern:{patterns:[{begin:/\bport\b/dgiv,beginCaptures:{"0":{name:"keyword.language.vhdl"}},end:/(?<=\))\p{space}*;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#parenthetical_list"}]}]},procedure_definition_pattern:{patterns:[{begin:/^\p{space}*([Pp][Rr][Oo][Cc][Ee][Dd][Uu][Rr][Ee])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|("\P{space}+")|([^\n]+?))(?=\p{space}*(\(|[Ii][Ssſ]))/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.function.procedure.begin.vhdl"},"4":{name:"entity.name.function.procedure.begin.vhdl"},"5":{name:"invalid.illegal.invalid.identifier.vhdl"}},end:/^\p{space}*([Ee][Nn][Dd])(\p{space}+([Pp][Rr][Oo][Cc][Ee][Dd][Uu][Rr][Ee]))?(\p{space}+((\3|(?!))|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.function.procedure.end.vhdl"},"7":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#parenthetical_list"},{include:"#control_patterns"},{include:"#type_pattern"},{include:"#record_pattern"},{include:"#cleanup"}]}]},procedure_prototype_pattern:{patterns:[{begin:/\b([Pp][Rr][Oo][Cc][Ee][Dd][Uu][Rr][Ee])\p{space}+(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))(?=\p{space}*([\(\;]))/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.function.procedure.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctual.vhdl"}},patterns:[{include:"#parenthetical_list"}]}]},process_pattern:{patterns:[{begin:/^\p{space}*(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?((?:postponed\p{space}+)?[Pp][Rr][Oo][Cc][Ee][Ssſ][Ssſ]\b)/dgv,beginCaptures:{"2":{name:"entity.name.section.process.begin.vhdl"},"3":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/([Ee][Nn][Dd])(\p{space}+((?:postponed\p{space}+)?[Pp][Rr][Oo][Cc][Ee][Ssſ][Ssſ]))(\p{space}+((\2)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"6":{name:"entity.name.section.process.end.vhdl"},"7":{name:"invalid.illegal.invalid.identifier.vhdl"}},patterns:[{include:"#control_patterns"},{include:"#cleanup"}]}]},protected_body_pattern:{patterns:[{begin:/\b([Tt][Yy][Pp][Ee])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]+?))\p{space}+\b([Ii][Ssſ]\p{space}+[Pp][Rr][Oo][Tt][Ee][Cc][Tt][Ee][Dd]\p{space}+[Bb][Oo][Dd][Yy])\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.section.protected_body.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"}},end:/\b(end\p{space}+protected\p{space}+body)(\p{space}+(((?!))|([^\n]+?)))?(?=\p{space}*;)/dgiv,endCaptures:{"1":{name:"keyword.language.vhdl"},"4":{name:"entity.name.section.protected_body.end.vhdl"},"5":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#function_definition_pattern"},{include:"#procedure_definition_pattern"},{include:"#type_pattern"},{include:"#subtype_pattern"},{include:"#record_pattern"},{include:"#cleanup"}]}]},protected_pattern:{patterns:[{begin:/\b([Tt][Yy][Pp][Ee])\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]+?))\p{space}+\b([Ii][Ssſ]\p{space}+[Pp][Rr][Oo][Tt][Ee][Cc][Tt][Ee][Dd])\p{space}+(?![Bb][Oo][Dd][Yy])/dgv,beginCaptures:{"1":{name:"keyword.language.vhdls"},"3":{name:"entity.name.section.protected.begin.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"}},end:/\b(end\p{space}+protected)(\p{space}+(((?!))|([^\n]+?)))?(?!body)(?=\p{space}*;)/dgiv,endCaptures:{"1":{name:"keyword.language.vhdl"},"4":{name:"entity.name.section.protected.end.vhdl"},"5":{name:"invalid.illegal.mismatched.identifier.vhdl"}},patterns:[{include:"#function_prototype_pattern"},{include:"#procedure_prototype_pattern"},{include:"#type_pattern"},{include:"#subtype_pattern"},{include:"#record_pattern"},{include:"#component_pattern"},{include:"#cleanup"}]}]},punctuation:{patterns:[{match:/([\(\)\,\.\:\;])/dgv,name:"punctuation.vhdl"}]},record_pattern:{patterns:[{begin:/\brecord\b/dgiv,beginCaptures:{"0":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}+([Rr][Ee][Cc][Oo][Rr][Dd])(\p{space}+(([A-Za-z][A-Z_a-z\p{Nd}]*)|([^\n]*?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"2":{name:"keyword.language.vhdl"},"5":{name:"entity.name.type.record.vhdl"},"6":{name:"invalid.illegal.invalid.identifier.vhdl"}},patterns:[{include:"#cleanup"}]},{include:"#cleanup"}]},strings:{patterns:[{match:/'[^\n]'/dgv,name:"string.quoted.single.vhdl"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.vhdl",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vhdl"}]},{begin:/\\/dgv,end:/\\/dgv,name:"string.other.backslash.vhdl"}]},subtype_pattern:{patterns:[{begin:/\b([Ssſ][Uu][Bb][Tt][Yy][Pp][Ee])\p{space}+(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))\p{space}+([Ii][Ssſ])\b/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.type.subtype.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"5":{name:"keyword.language.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#cleanup"}]}]},support_constants:{patterns:[{match:/\bmath_(?:1_over_e|1_over_pi|1_over_sqrt_2|2_pi|3_pi_over_2|deg_to_rad|e|log10_of_e|log2_of_e|log_of_10|log_of_2|pi|pi_over_2|pi_over_3|pi_over_4|rad_to_deg|sqrt_2|sqrt_pi)\b/dgiv,name:"support.constant.ieee.math_real.vhdl"},{match:/\b(?:math_cbase_1|math_cbase_j|math_czero|positive_real|principal_value)\b/dgiv,name:"support.constant.ieee.math_complex.vhdl"},{match:/\b(?:true|false)\b/dgiv,name:"support.constant.std.standard.vhdl"}]},support_functions:{patterns:[{match:/\b(?:finish|stop|resolution_limit)\b/dgiv,name:"support.function.std.env.vhdl"},{match:/\b(?:readline|read|writeline|write|endfile|endline)\b/dgiv,name:"support.function.std.textio.vhdl"},{match:/\b(?:rising_edge|falling_edge|to_bit|to_bitvector|to_stdulogic|to_stdlogicvector|to_stdulogicvector|is_x)\b/dgiv,name:"support.function.ieee.std_logic_1164.vhdl"},{match:/\b(?:shift_left|shift_right|rotate_left|rotate_right|resize|to_integer|to_unsigned|to_signed)\b/dgiv,name:"support.function.ieee.numeric_std.vhdl"},{match:/\b(?:arccos(h?)|arcsin(h?)|arctanh??|cbrt|ceil|cosh??|exp|floor|log10|log2?|realmax|realmin|round|sign|sinh??|sqrt|tanh??|trunc)\b/dgiv,name:"support.function.ieee.math_real.vhdl"},{match:/\b(?:arg|cmplx|complex_to_polar|conj|get_principal_value|polar_to_complex)\b/dgiv,name:"support.function.ieee.math_complex.vhdl"}]},support_types:{patterns:[{match:/\b(?:boolean|bit|character|severity_level|integer|real|time|delay_length|now|natural|positive|string|bit_vector|file_open_kind|file_open_status|fs|ps|ns|us|ms|sec|min|hr|severity_level|note|warning|error|failure)\b/dgiv,name:"support.type.std.standard.vhdl"},{match:/\b(?:line|text|side|width|input|output)\b/dgiv,name:"support.type.std.textio.vhdl"},{match:/\bstd_u??logic(?:|_vector)\b/dgiv,name:"support.type.ieee.std_logic_1164.vhdl"},{match:/\b(?:|un)signed\b/dgiv,name:"support.type.ieee.numeric_std.vhdl"},{match:/\bcomplex(?:|_polar)\b/dgiv,name:"support.type.ieee.math_complex.vhdl"}]},syntax_highlighting:{patterns:[{include:"#keywords"},{include:"#punctuation"},{include:"#support_constants"},{include:"#support_types"},{include:"#support_functions"}]},type_pattern:{patterns:[{begin:/\b([Tt][Yy][Pp][Ee])\p{space}+(([A-Za-z][0-9A-Z_a-z]*)|([^\n]+?))((?=\p{space}*;)|(\p{space}+([Ii][Ssſ])))\b/dgv,beginCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"entity.name.type.type.vhdl"},"4":{name:"invalid.illegal.invalid.identifier.vhdl"},"7":{name:"keyword.language.vhdl"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.vhdl"}},patterns:[{include:"#record_pattern"},{include:"#cleanup"}]}]},while_pattern:{patterns:[{begin:/^\p{space}*(([A-Za-z][0-9A-Z_a-z]*)\p{space}*(:)\p{space}*)?\b([Ww][Hh][Ii][Ll][Ee])\b/dgv,beginCaptures:{"2":{name:""},"3":{name:"punctuation.vhdl"},"4":{name:"keyword.language.vhdl"}},end:/\b([Ee][Nn][Dd])\p{space}+(([Ll][Oo][Oo][Pp])|(\P{space}+))\b(\p{space}+((\2)|([^\n]+?)))?(?=\p{space}*;)/dgv,endCaptures:{"1":{name:"keyword.language.vhdl"},"3":{name:"keyword.language.vhdl"},"4":{name:"invalid.illegal.loop.keyword.required.vhdl"},"7":{name:"entity.name.tag.while.loop.vhdl"},"8":{name:"invalid.illegal.mismatched.identifier"}},patterns:[{include:"#control_patterns"},{include:"#cleanup"}]}]}},scopeName:"source.vhdl",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/viml.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Vim Script",name:"viml",patterns:[{include:"#comment"},{include:"#constant"},{include:"#entity"},{include:"#keyword"},{include:"#punctuation"},{include:"#storage"},{include:"#strings"},{include:"#support"},{include:"#variable"},{include:"#syntax"},{include:"#commands"},{include:"#option"},{include:"#map"}],repository:{commands:{patterns:[{match:/\bcom([\!\p{space}])/dgv,name:"storage.other.command.viml"},{match:/\bau([\!\p{space}])/dgv,name:"storage.other.command.viml"},{match:/-bang/dgv,name:"storage.other.command.bang.viml"},{match:/-nargs=[\*\+0-9]+/dgv,name:"storage.other.command.args.viml"},{match:/-complete=\P{space}+/dgv,name:"storage.other.command.completion.viml"},{begin:/(aug(roup)?)/dgv,end:/(augroup\p{space}END|(?=\n?$))/dgv,name:"support.function.augroup.viml"}]},comment:{patterns:[{begin:/((\p{space}+)?""")/dgv,end:/^(?!")/dgv,name:"comment.block.documentation.viml"},{match:/^"\p{space}vim:[^\n]*/dgv,name:"comment.block.modeline.viml"},{begin:/(\p{space}+"\p{space}+)(?!")/dgv,end:/(?=\n?$)/dgv,name:"comment.line.viml",patterns:[{match:/\{\{\{\p{Nd}?(?=\n?$)/dgv,name:"comment.line.foldmarker.viml"},{match:/\}\}\}\p{Nd}?/dgv,name:"comment.line.foldmarker.viml"}]},{begin:/^(\p{space}+)?"/dgv,end:/(?=\n?$)/dgv,name:"comment.line.viml",patterns:[{match:/\{\{\{\p{Nd}?(?=\n?$)/dgv,name:"comment.line.foldmarker.viml"},{match:/\}\}\}\p{Nd}?/dgv,name:"comment.line.foldmarker.viml"}]}]},constant:{patterns:[{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.viml"},{match:/\b([0-9]+)\b/dgv,name:"constant.numeric.viml"}]},entity:{patterns:[{match:/(([abgs]:)?[\#\.0-9A-Z_a-z]{2,})\b(?=\()/dgv,name:"entity.name.function.viml"}]},keyword:{patterns:[{match:/\b(if|while|for|return|au(g(?:|roup))|else(if|)?|do|in)\b/dgv,name:"keyword.control.viml"},{match:/\b(end(?:|if|for|while))\p{space}|(?=\n?$)/dgv,name:"keyword.control.viml"},{match:/\b(break|continue|try|catch|endtry|finally|finish|throw|range)\b/dgv,name:"keyword.control.viml"},{match:/\b(fun|func|function|endfunction|endfunc)\b/dgv,name:"keyword.function.viml"},{match:/\b(normal|silent)\b/dgv,name:"keyword.other.viml"},{include:"#operators"}]},map:{patterns:[{begin:/(<)/dgv,beginCaptures:{"1":{name:"punctuation.definition.map.viml"}},end:/([\>\p{space}])/dgv,endCaptures:{"1":{name:"punctuation.definition.map.viml"}},patterns:[{match:/(?<=:\p{space})([^\n]+)/dgv,name:"constant.character.map.rhs.viml"},{match:/(bang|buffer|expr|nop|plug|sid|silent)/dgiv,name:"constant.character.map.special.viml"},{match:/([acdms]-[\p{L}\p{M}\p{N}\p{Pc}])/dgiv,name:"constant.character.map.key.viml"},{match:/(F[0-9]+)/dgiv,name:"constant.character.map.key.fn.viml"},{match:/(bs|bar|cr|del|down|esc|left|right|space|tab|up|leader)/dgiv,name:"constant.character.map.viml"}]},{match:/\b(([cinostvx]?(nore)?map))\b/dgv,name:"storage.type.map.viml"}]},operators:{patterns:[{match:/([\!\#\+\=\?\\\~])/dgv,name:"keyword.operator.viml"},{match:/ ([\-\.\:]|[\&\|]{2})( |(?=\n?$))/dgv,name:"keyword.operator.viml"},{match:/(\.{3})/dgv,name:"keyword.operator.viml"},{match:/( [\<\>] )/dgv,name:"keyword.operator.viml"},{match:/(>=)/dgv,name:"keyword.operator.viml"}]},option:{patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("&?\\b(al|aleph|anti|antialias|arab|arabic|arshape|arabicshape|ari|allowrevins|akm|altkeymap|ambw|ambiwidth|acd|autochdir|ai|autoindent|ar|autoread|aw|autowrite|awa|autowriteall|bg|background|bs|backspace|bk|backup|bkc|backupcopy|bdir|backupdir|bex|backupext|bsk|backupskip|bdlay|balloondelay|beval|ballooneval|bevalterm|balloonevalterm|bexpr|balloonexpr|bo|belloff|bin|binary|bomb|brk|breakat|bri|breakindent|briopt|breakindentopt|bsdir|browsedir|bh|bufhidden|bl|buflisted|bt|buftype|cmp|casemap|cd|cdpath|cedit|ccv|charconvert|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|cb|clipboard|ch|cmdheight|cwh|cmdwinheight|cc|colorcolumn|co|columns|com|comments|cms|commentstring|cp|compatible|cpt|complete|cocu|concealcursor|cole|conceallevel|cfu|completefunc|cot|completeopt|cf|confirm|ci|copyindent|cpo|cpoptions|cm|cryptmethod|cspc|cscopepathcomp|csprg|cscopeprg|csqf|cscopequickfix|csre|cscoperelative|cst|cscopetag|csto|cscopetagorder|csverb|cscopeverbose|crb|cursorbind|cuc|cursorcolumn|cul|cursorline|debug|def|define|deco|delcombine|dict|dictionary|diff|dex|diffexpr|dip|diffopt|dg|digraph|dir|directory|dy|display|ead|eadirection|ed|edcompatible|emo|emoji|enc|encoding|eol|endofline|ea|equalalways|ep|equalprg|eb|errorbells|ef|errorfile|efm|errorformat|ek|esckeys|ei|eventignore|et|expandtab|ex|exrc|fenc|fileencoding|fencs|fileencodings|ff|fileformat|ffs|fileformats|fic|fileignorecase|ft|filetype|fcs|fillchars|fixeol|fixendofline|fk|fkmap|fcl|foldclose|fdc|foldcolumn|fen|foldenable|fde|foldexpr|fdi|foldignore|fdl|foldlevel|fdls|foldlevelstart|fmr|foldmarker|fdm|foldmethod|fml|foldminlines|fdn|foldnestmax|fdo|foldopen|fdt|foldtext|fex|formatexpr|fo|formatoptions|flp|formatlistpat|fp|formatprg|fs|fsync|gd|gdefault|gfm|grepformat|gp|grepprg|gcr|guicursor|gfn|guifont|gfs|guifontset|gfw|guifontwide|ghr|guiheadroom|go|guioptions|guipty|gtl|guitablabel|gtt|guitabtooltip|hf|helpfile|hh|helpheight|hlg|helplang|hid|hidden|hl|highlight|hi|history|hk|hkmap|hkp|hkmapp|hls|hlsearch|icon|iconstring|ic|ignorecase|imaf|imactivatefunc|imak|imactivatekey|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|imsf|imstatusfunc|imst|imstyle|inc|include|inex|includeexpr|is|incsearch|inde|indentexpr|indk|indentkeys|inf|infercase|im|insertmode|isf|isfname|isi|isident|isk|iskeyword|isp|isprint|js|joinspaces|key|kmp|keymap|km|keymodel|kp|keywordprg|lmap|langmap|lm|langmenu|lnr|langnoremap|lrm|langremap|ls|laststatus|lz|lazyredraw|lbr|linebreak|lines|lsp|linespace|lisp|lw|lispwords|list|lcs|listchars|lpl|loadplugins|luadll|macatsui|magic|mef|makeef|menc|makeencoding|mp|makeprg|mps|matchpairs|mat|matchtime|mco|maxcombine|mfd|maxfuncdepth|mmd|maxmapdepth|mm|maxmem|mmp|maxmempattern|mmt|maxmemtot|mis|menuitems|msm|mkspellmem|ml|modeline|mls|modelines|ma|modifiable|mod|modified|more|mouse|mousef|mousefocus|mh|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mzschemedll|mzschemegcdll|mzq|mzquantum|nf|nrformats|nu|number|nuw|numberwidth|ofu|omnifunc|odev|opendevice|opfunc|operatorfunc|pp|packpath|para|paragraphs|paste|pt|pastetoggle|pex|patchexpr|pm|patchmode|pa|path|perldll|pi|preserveindent|pvh|previewheight|pvw|previewwindow|pdev|printdevice|penc|printencoding|pexpr|printexpr|pfn|printfont|pheader|printheader|pmbcs|printmbcharset|pmbfn|printmbfont|popt|printoptions|prompt|ph|pumheight|pythonthreedll|pythondll|pyx|pyxversion|qe|quoteescape|ro|readonly|rdt|redrawtime|re|regexpengine|rnu|relativenumber|remap|rop|renderoptions|report|rs|restorescreen|ri|revins|rl|rightleft|rlc|rightleftcmd|rubydll|ru|ruler|ruf|rulerformat|rtp|runtimepath|scr|scroll|scb|scrollbind|sj|scrolljump|so|scrolloff|sbo|scrollopt|sect|sections|secure|sel|selection|slm|selectmode|ssop|sessionoptions|sh|shell|shcf|shellcmdflag|sp|shellpipe|shq|shellquote|srr|shellredir|ssl|shellslash|stmp|shelltemp|st|shelltype|sxq|shellxquote|sxe|shellxescape|sr|shiftround|sw|shiftwidth|shm|shortmess|sn|shortname|sbr|showbreak|sc|showcmd|sft|showfulltag|sm|showmatch|smd|showmode|stal|showtabline|ss|sidescroll|siso|sidescrolloff|scl|signcolumn|scs|smartcase|si|smartindent|sta|smarttab|sts|softtabstop|spell|spc|spellcapcheck|spf|spellfile|spl|spelllang|sps|spellsuggest|sb|splitbelow|spr|splitright|sol|startofline|stl|statusline|su|suffixes|sua|suffixesadd|swf|swapfile|sws|swapsync|swb|switchbuf|smc|synmaxcol|syn|syntax|tal|tabline|tpm|tabpagemax|ts|tabstop|tbs|tagbsearch|tc|tagcase|tl|taglength|tr|tagrelative|tag|tags|tgst|tagstack|tcldll|term|tbidi|termbidi|tenc|termencoding|tgc|termguicolors|tk|termkey|tms|termsize|terse|ta|textauto|tx|textmode|tw|textwidth|tsr|thesaurus|top|tildeop|to|timeout|tm|timeoutlen|title|titlelen|titleold|titlestring|tb|toolbar|tbis|toolbariconsize|ttimeout|ttm|ttimeoutlen|tbi|ttybuiltin|tf|ttyfast|ttym|ttymouse|tsl|ttyscroll|tty|ttytype|udir|undodir|udf|undofile|ul|undolevels|ur|undoreload|uc|updatecount|ut|updatetime|vbs|verbose|vfile|verbosefile|vdir|viewdir|vop|viewoptions|vi|viminfo|vif|viminfofile|ve|virtualedit|vb|visualbell|warn|wiv|weirdinvert|ww|whichwrap|wc|wildchar|wcm|wildcharm|wig|wildignore|wic|wildignorecase|wmnu|wildmenu|wim|wildmode|wop|wildoptions|wak|winaltkeys|wi|window|wh|winheight|wfh|winfixheight|wfw|winfixwidth|wmh|winminheight|wmw|winminwidth|winptydll|wiw|winwidth|wrap|wm|wrapmargin|ws|wrapscan|write|wa|writeany|wb|writebackup|wd|writedelay)\\b","dgv",{"lazyCompile":true}),name:"support.type.option.viml"},{match:/*@__PURE__*/ new EmulatedRegExp("&?\\b(aleph|allowrevins|altkeymap|ambiwidth|autochdir|arabic|arabicshape|autoindent|autoread|autowrite|autowriteall|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|belloff|binary|bomb|breakat|breakindent|breakindentopt|browsedir|bufhidden|buflisted|buftype|casemap|cdpath|cedit|charconvert|cindent|cinkeys|cinoptions|cinwords|clipboard|cmdheight|cmdwinheight|colorcolumn|columns|comments|commentstring|complete|completefunc|completeopt|concealcursor|conceallevel|confirm|copyindent|cpoptions|cscopepathcomp|cscopeprg|cscopequickfix|cscoperelative|cscopetag|cscopetagorder|cscopeverbose|cursorbind|cursorcolumn|cursorline|debug|define|delcombine|dictionary|diff|diffexpr|diffopt|digraph|directory|display|eadirection|encoding|endofline|equalalways|equalprg|errorbells|errorfile|errorformat|eventignore|expandtab|exrc|fileencoding|fileencodings|fileformat|fileformats|fileignorecase|filetype|fillchars|fixendofline|fkmap|foldclose|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldopen|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fsync|gdefault|grepformat|grepprg|guicursor|guifont|guifontset|guifontwide|guioptions|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hidden|hlsearch|history|hkmap|hkmapp|icon|iconstring|ignorecase|imcmdline|imdisable|iminsert|imsearch|include|includeexpr|incsearch|indentexpr|indentkeys|infercase|insertmode|isfname|isident|iskeyword|isprint|joinspaces|keymap|keymodel|keywordprg|langmap|langmenu|langremap|laststatus|lazyredraw|linebreak|lines|linespace|lisp|lispwords|list|listchars|loadplugins|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|menuitems|mkspellmem|modeline|modelines|modifiable|modified|more|mouse|mousefocus|mousehide|mousemodel|mouseshape|mousetime|nrformats|number|numberwidth|omnifunc|opendevice|operatorfunc|packpath|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|perldll|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pumheight|pythondll|pythonthreedll|quoteescape|readonly|redrawtime|regexpengine|relativenumber|remap|report|revins|rightleft|rightleftcmd|rubydll|ruler|rulerformat|runtimepath|scroll|scrollbind|scrolljump|scrolloff|scrollopt|sections|secure|selection|selectmode|sessionoptions|shada|shell|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shellxescape|shellxquote|shiftround|shiftwidth|shortmess|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|sidescroll|sidescrolloff|signcolumn|smartcase|smartindent|smarttab|softtabstop|spell|spellcapcheck|spellfile|spelllang|spellsuggest|splitbelow|splitright|startofline|statusline|suffixes|suffixesadd|swapfile|switchbuf|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|tagcase|taglength|tagrelative|tags|tagstack|term|termbidi|terse|textwidth|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|ttimeout|ttimeoutlen|ttytype|undodir|undofile|undolevels|undoreload|updatecount|updatetime|verbose|verbosefile|viewdir|viewoptions|virtualedit|visualbell|warn|whichwrap|wildchar|wildcharm|wildignore|wildignorecase|wildmenu|wildmode|wildoptions|winaltkeys|window|winheight|winfixheight|winfixwidth|winminheight|winminwidth|winwidth|wrap|wrapmargin|wrapscan|write|writeany|writebackup|writedelay)\\b","dgv",{"lazyCompile":true}),name:"support.type.option.viml"},{match:/&?\b(al|ari|akm|ambw|acd|arab|arshape|ai|ar|aw|awa|bg|bs|bk|bkc|bdir|bex|bsk|bdlay|beval|bexpr|bo|bin|bomb|brk|bri|briopt|bsdir|bh|bl|bt|cmp|cd|cedit|ccv|cin|cink|cino|cinw|cb|ch|cwh|cc|co|com|cms|cpt|cfu|cot|cocu|cole|cf|ci|cpo|cspc|csprg|csqf|csre|cst|csto|cpo|crb|cuc|cul|debug|def|deco|dict|diff|dex|dip|dg|dir|dy|ead|enc|eol|ea|ep|eb|ef|efm|ei|et|ex|fenc|fencs|ff|ffs|fic|ft|fcs|fixeol|fk|fcl|fdc|fen|fde|fdi|fdl|fdls|fmr|fdm|fml|fdn|fdo|fdt|fex|flp|fo|fp|fs|gd|gfm|gp|gcr|gfn|gfs|gfw|go|gtl|gtt|hf|hh|hlg|hid|hls|hi|hk|hkp|icon|iconstring|ic|imc|imd|imi|ims|inc|inex|is|inde|indk|inf|im|isf|isi|isk|isp|js|kmp|km|kp|lmap|lm|lrm|ls|lz|lbr|lines|lsp|lisp|lw|list|lcs|lpl|magic|mef|mp|mps|mat|mco|mfd|mmd|mm|mmp|mmt|mis|msm|ml|mls|ma|mod|more|mouse|mousef|mh|mousem|mouses|mouset|nf|nu|nuw|ofu|odev|opfunc|pp|para|paste|pt|pex|pm|pa|perldll|pi|pvh|pvw|pdev|penc|pexpr|pfn|pheader|pmbcs|pmbfn|popt|prompt|ph|pythondll|pythonthreedlll|qe|ro|rdt|re|rnu|remap|report|ri|rl|rlc|rubydll|ru|ruf|rtp|scr|scb|sj|so|sbo|sect|secure|sel|slm|ssop|sd|sh|shcf|sp|shq|srr|ssl|stmp|sxe|sxq|sr|sw|shm|sbr|sc|sft|sm|smd|stal|ss|siso|scl|scs|si|sta|sts|spell|spc|spf|spl|sps|sb|spr|sol|stl|su|sua|swf|swb|smc|syn|tal|tpm|ts|tbs|tc|tl|tr|tag|tgst|term|tbidi|terse|tw|tsr|top|to|tm|title|titlelen|titleold|titlestring|ttimeout|ttm|tty|udir|udf|ul|ur|uc|ut|vbs|vfile|vdir|vop|ve|vb|warn|ww|wc|wcm|wig|wic|wmnu|wim|wop|wak|wi|wh|wfh|wfw|wmh|wmw|wiw|wrap|wm|ws|write|wa|wb|wd)\b/dgv,name:"support.type.option.shortname.viml"},{match:/\b(no(?:anti|antialias|arab|arabic|arshape|arabicshape|ari|allowrevins|akm|altkeymap|acd|autochdir|ai|autoindent|ar|autoread|aw|autowrite|awa|autowriteall|bk|backup|beval|ballooneval|bevalterm|balloonevalterm|bin|binary|bomb|bri|breakindent|bl|buflisted|cin|cindent|cp|compatible|cf|confirm|ci|copyindent|csre|cscoperelative|cst|cscopetag|csverb|cscopeverbose|crb|cursorbind|cuc|cursorcolumn|cul|cursorline|deco|delcombine|diff|dg|digraph|ed|edcompatible|emo|emoji|eol|endofline|ea|equalalways|eb|errorbells|ek|esckeys|et|expandtab|ex|exrc|fic|fileignorecase|fixeol|fixendofline|fk|fkmap|fen|foldenable|fs|fsync|gd|gdefault|guipty|hid|hidden|hk|hkmap|hkp|hkmapp|hls|hlsearch|icon|ic|ignorecase|imc|imcmdline|imd|imdisable|is|incsearch|inf|infercase|im|insertmode|js|joinspaces|lnr|langnoremap|lrm|langremap|lz|lazyredraw|lbr|linebreak|lisp|list|lpl|loadplugins|macatsui|magic|ml|modeline|ma|modifiable|mod|modified|more|mousef|mousefocus|mh|mousehide|nu|number|odev|opendevice|paste|pi|preserveindent|pvw|previewwindow|prompt|ro|readonly|rnu|relativenumber|rs|restorescreen|ri|revins|rl|rightleft|ru|ruler|scb|scrollbind|secure|ssl|shellslash|stmp|shelltemp|sr|shiftround|sn|shortname|sc|showcmd|sft|showfulltag|sm|showmatch|smd|showmode|scs|smartcase|si|smartindent|sta|smarttab|spell|sb|splitbelow|spr|splitright|sol|startofline|swf|swapfile|tbs|tagbsearch|tr|tagrelative|tgst|tagstack|tbidi|termbidi|tgc|termguicolors|terse|ta|textauto|tx|textmode|top|tildeop|to|timeout|title|ttimeout|tbi|ttybuiltin|tf|ttyfast|udf|undofile|vb|visualbell|warn|wiv|weirdinvert|wic|wildignorecase|wmnu|wildmenu|wfh|winfixheight|wfw|winfixwidth|wrapscan|wrap|ws|write|wa|writeany|wb|writebackup))\b/dgv,name:"support.type.option.off.viml"}]},punctuation:{patterns:[{match:/([\(\)])/dgv,name:"punctuation.parens.viml"},{match:/(,)/dgv,name:"punctuation.comma.viml"}]},storage:{patterns:[{match:/\b(call|let|unlet)\b/dgv,name:"storage.viml"},{match:/\b(a(?:bort|utocmd))\b/dgv,name:"storage.viml"},{match:/\b(set(l(?:|ocal))?)\b/dgv,name:"storage.viml"},{match:/\b(com(mand)?)\b/dgv,name:"storage.viml"},{match:/\b(color(scheme)?)\b/dgv,name:"storage.viml"},{match:/\b(Plug(?:|in))\b/dgv,name:"storage.plugin.viml"}]},strings:{patterns:[{begin:/"/dgv,end:/("|(?=\n?$))/dgv,name:"string.quoted.double.viml",patterns:[]},{begin:/'/dgv,end:/('|(?=\n?$))/dgv,name:"string.quoted.single.viml",patterns:[]},{match:/\/(\\\\|\\\/|[^\n\/])*\//dgv,name:"string.regexp.viml"}]},support:{patterns:[{match:/(add|call|delete|empty|extend|get|has|isdirectory|join|printf)(?=\()/dgv,name:"support.function.viml"},{match:/\b(echo(m|hl)?|exe(cute)?|redir|redraw|sleep|so(urce)?|wincmd|setf)\b/dgv,name:"support.function.viml"},{match:/(v:(beval_col|beval_bufnr|beval_lnum|beval_text|beval_winnr|char|charconvert_from|charconvert_to|cmdarg|cmdbang|count|count1|ctype|dying|errmsg|exception|fcs_reason|fcs_choice|fname_in|fname_out|fname_new|fname_diff|folddashes|foldlevel|foldend|foldstart|insertmode|key|lang|lc_time|lnum|mouse_win|mouse_lnum|mouse_col|oldfiles|operator|prevcount|profiling|progname|register|scrollstart|servername|searchforward|shell_error|statusmsg|swapname|swapchoice|swapcommand|termresponse|this_session|throwpoint|val|version|warningmsg|windowid))/dgv,name:"support.type.builtin.vim-variable.viml"},{match:/(&(cpo|isk|omnifunc|paste|previewwindow|rtp|tags|term|wrap))/dgv,name:"support.type.builtin.viml"},{match:/(&(shell(cmdflag|redir)?))/dgv,name:"support.type.builtin.viml"},{match:/<args>/dgv,name:"support.variable.args.viml"},{match:/\b(None|ErrorMsg|WarningMsg)\b/dgv,name:"support.type.syntax.viml"},{match:/\b(BufNewFile|BufReadPre|BufRead|BufReadPost|BufReadCmd|FileReadPre|FileReadPost|FileReadCmd|FilterReadPre|FilterReadPost|StdinReadPre|StdinReadPost|BufWrite|BufWritePre|BufWritePost|BufWriteCmd|FileWritePre|FileWritePost|FileWriteCmd|FileAppendPre|FileAppendPost|FileAppendCmd|FilterWritePre|FilterWritePost|BufAdd|BufCreate|BufDelete|BufWipeout|BufFilePre|BufFilePost|BufEnter|BufLeave|BufWinEnter|BufWinLeave|BufUnload|BufHidden|BufNew|SwapExists|TermOpen|TermClose|FileType|Syntax|OptionSet|VimEnter|GUIEnter|GUIFailed|TermResponse|QuitPre|VimLeavePre|VimLeave|DirChanged|FileChangedShell|FileChangedShellPost|FileChangedRO|ShellCmdPost|ShellFilterPost|CmdUndefined|FuncUndefined|SpellFileMissing|SourcePre|SourceCmd|VimResized|FocusGained|FocusLost|CursorHold|CursorHoldI|CursorMoved|CursorMovedI|WinNew|WinEnter|WinLeave|TabEnter|TabLeave|TabNew|TabNewEntered|TabClosed|CmdlineEnter|CmdlineLeave|CmdwinEnter|CmdwinLeave|InsertEnter|InsertChange|InsertLeave|InsertCharPre|TextYankPost|TextChanged|TextChangedI|ColorScheme|RemoteReply|QuickFixCmdPre|QuickFixCmdPost|SessionLoadPost|MenuPopup|CompleteDone|User)\b/dgv,name:"support.type.event.viml"},{match:/\b(Comment|Constant|String|Character|Number|Boolean|Float|Identifier|Function|Statement|Conditional|Repeat|Label|Operator|Keyword|Exception|PreProc|Include|Define|Macro|PreCondit|Type|StorageClass|Structure|Typedef|Special|SpecialChar|Tag|Delimiter|SpecialComment|Debug|Underlined|Ignore|Error|Todo)\b/dgv,name:"support.type.syntax-group.viml"}]},syntax:{patterns:[{match:/syn(tax)? case (ignore|match)/dgv,name:"keyword.control.syntax.viml"},{match:/syn(tax)? (clear|enable|include|off|on|manual|sync)/dgv,name:"keyword.control.syntax.viml"},{match:/\b(contained|display|excludenl|fold|keepend|oneline|skipnl|skipwhite|transparent)\b/dgv,name:"keyword.other.syntax.viml"},{match:/\b(add|containedin|contains|matchgroup|nextgroup)=/dgv,name:"keyword.other.syntax.viml"},{captures:{"1":{name:"keyword.other.syntax-range.viml"},"3":{name:"string.regexp.viml"}},match:/((start|skip|end)=)(\+\P{space}+\+\p{space})?/dgv},{captures:{"0":{name:"support.type.syntax.viml"},"1":{name:"storage.syntax.viml"},"3":{name:"variable.other.syntax-scope.viml"},"4":{name:"storage.modifier.syntax.viml"}},match:/(syn(?:|tax))\p{space}+(cluster|keyword|match|region)(\p{space}+[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)(contained)?/dgv,patterns:[]},{captures:{"1":{name:"storage.highlight.viml"},"2":{name:"storage.modifier.syntax.viml"},"3":{name:"support.function.highlight.viml"},"4":{name:"variable.other.viml"},"5":{name:"variable.other.viml"}},match:/(hi(?:|ghlight))\p{space}+(def(?:|ault))\p{space}+(link)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,patterns:[]}]},variable:{patterns:[{match:/https?:\/\/\P{space}+/dgv,name:"variable.other.link.viml"},{match:/(?<=\()([A-Za-z]+)(?=\))/dgv,name:"variable.parameter.viml"},{match:/\b([abgls]:[\#\.0-9A-Z_a-z]+)\b(?!\()/dgv,name:"variable.other.viml"}]}},scopeName:"source.viml",embeddedLangs:undefined,aliases:["vim","vimscript"]})
3
+ const lang = Object.freeze({displayName:"Vim Script",name:"viml",patterns:[{include:"#comment"},{include:"#constant"},{include:"#entity"},{include:"#keyword"},{include:"#punctuation"},{include:"#storage"},{include:"#strings"},{include:"#support"},{include:"#variable"},{include:"#syntax"},{include:"#commands"},{include:"#option"},{include:"#map"}],repository:{commands:{patterns:[{match:/\bcom([\!\p{space}])/dgv,name:"storage.other.command.viml"},{match:/\bau([\!\p{space}])/dgv,name:"storage.other.command.viml"},{match:/-bang/dgv,name:"storage.other.command.bang.viml"},{match:/-nargs=[\*\+0-9]+/dgv,name:"storage.other.command.args.viml"},{match:/-complete=\P{space}+/dgv,name:"storage.other.command.completion.viml"},{begin:/(aug(roup)?)/dgv,end:/(augroup\p{space}END|(?=\n?$))/dgv,name:"support.function.augroup.viml"}]},comment:{patterns:[{begin:/((\p{space}+)?""")/dgv,end:/^(?!")/dgv,name:"comment.block.documentation.viml"},{match:/^"\p{space}vim:[^\n]*/dgv,name:"comment.block.modeline.viml"},{begin:/(\p{space}+"\p{space}+)(?!")/dgv,end:/(?=\n?$)/dgv,name:"comment.line.viml",patterns:[{match:/\{\{\{\p{Nd}?(?=\n?$)/dgv,name:"comment.line.foldmarker.viml"},{match:/\}\}\}\p{Nd}?/dgv,name:"comment.line.foldmarker.viml"}]},{begin:/^(\p{space}+)?"/dgv,end:/(?=\n?$)/dgv,name:"comment.line.viml",patterns:[{match:/\{\{\{\p{Nd}?(?=\n?$)/dgv,name:"comment.line.foldmarker.viml"},{match:/\}\}\}\p{Nd}?/dgv,name:"comment.line.foldmarker.viml"}]}]},constant:{patterns:[{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.viml"},{match:/\b([0-9]+)\b/dgv,name:"constant.numeric.viml"}]},entity:{patterns:[{match:/(([abgs]:)?[\#\.0-9A-Z_a-z]{2,})\b(?=\()/dgv,name:"entity.name.function.viml"}]},keyword:{patterns:[{match:/\b(if|while|for|return|au(g(?:|roup))|else(if|)?|do|in)\b/dgv,name:"keyword.control.viml"},{match:/\b(end(?:|if|for|while))\p{space}|(?=\n?$)/dgv,name:"keyword.control.viml"},{match:/\b(break|continue|try|catch|endtry|finally|finish|throw|range)\b/dgv,name:"keyword.control.viml"},{match:/\b(func??|function|endfunction|endfunc)\b/dgv,name:"keyword.function.viml"},{match:/\b(normal|silent)\b/dgv,name:"keyword.other.viml"},{include:"#operators"}]},map:{patterns:[{begin:/(<)/dgv,beginCaptures:{"1":{name:"punctuation.definition.map.viml"}},end:/([\>\p{space}])/dgv,endCaptures:{"1":{name:"punctuation.definition.map.viml"}},patterns:[{match:/(?<=:\p{space})([^\n]+)/dgv,name:"constant.character.map.rhs.viml"},{match:/(bang|buffer|expr|nop|plug|sid|silent)/dgiv,name:"constant.character.map.special.viml"},{match:/([acdms]-[\p{L}\p{M}\p{N}\p{Pc}])/dgiv,name:"constant.character.map.key.viml"},{match:/(F[0-9]+)/dgiv,name:"constant.character.map.key.fn.viml"},{match:/(bs|bar|cr|del|down|esc|left|right|space|tab|up|leader)/dgiv,name:"constant.character.map.viml"}]},{match:/\b(([cinostvx]?(nore)?map))\b/dgv,name:"storage.type.map.viml"}]},operators:{patterns:[{match:/([\!\#\+\=\?\\\~])/dgv,name:"keyword.operator.viml"},{match:/ ([\-\.\:]|[\&\|]{2})( |(?=\n?$))/dgv,name:"keyword.operator.viml"},{match:/(\.{3})/dgv,name:"keyword.operator.viml"},{match:/( [\<\>] )/dgv,name:"keyword.operator.viml"},{match:/(>=)/dgv,name:"keyword.operator.viml"}]},option:{patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("&?\\b(al|aleph|anti|antialias|arab|arabic|arshape|arabicshape|ari|allowrevins|akm|altkeymap|ambw|ambiwidth|acd|autochdir|ai|autoindent|ar|autoread|aw|autowrite|awa|autowriteall|bg|background|bs|backspace|bk|backup|bkc|backupcopy|bdir|backupdir|bex|backupext|bsk|backupskip|bdlay|balloondelay|beval|ballooneval|bevalterm|balloonevalterm|bexpr|balloonexpr|bo|belloff|bin|binary|bomb|brk|breakat|bri|breakindent|briopt|breakindentopt|bsdir|browsedir|bh|bufhidden|bl|buflisted|bt|buftype|cmp|casemap|cd|cdpath|cedit|ccv|charconvert|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|cb|clipboard|ch|cmdheight|cwh|cmdwinheight|cc|colorcolumn|co|columns|com|comments|cms|commentstring|cp|compatible|cpt|complete|cocu|concealcursor|cole|conceallevel|cfu|completefunc|cot|completeopt|cf|confirm|ci|copyindent|cpo|cpoptions|cm|cryptmethod|cspc|cscopepathcomp|csprg|cscopeprg|csqf|cscopequickfix|csre|cscoperelative|cst|cscopetag|csto|cscopetagorder|csverb|cscopeverbose|crb|cursorbind|cuc|cursorcolumn|cul|cursorline|debug|def|define|deco|delcombine|dict|dictionary|diff|dex|diffexpr|dip|diffopt|dg|digraph|dir|directory|dy|display|ead|eadirection|ed|edcompatible|emo|emoji|enc|encoding|eol|endofline|ea|equalalways|ep|equalprg|eb|errorbells|ef|errorfile|efm|errorformat|ek|esckeys|ei|eventignore|et|expandtab|ex|exrc|fenc|fileencoding|fencs|fileencodings|ff|fileformat|ffs|fileformats|fic|fileignorecase|ft|filetype|fcs|fillchars|fixeol|fixendofline|fk|fkmap|fcl|foldclose|fdc|foldcolumn|fen|foldenable|fde|foldexpr|fdi|foldignore|fdl|foldlevel|fdls|foldlevelstart|fmr|foldmarker|fdm|foldmethod|fml|foldminlines|fdn|foldnestmax|fdo|foldopen|fdt|foldtext|fex|formatexpr|fo|formatoptions|flp|formatlistpat|fp|formatprg|fs|fsync|gd|gdefault|gfm|grepformat|gp|grepprg|gcr|guicursor|gfn|guifont|gfs|guifontset|gfw|guifontwide|ghr|guiheadroom|go|guioptions|guipty|gtl|guitablabel|gtt|guitabtooltip|hf|helpfile|hh|helpheight|hlg|helplang|hid|hidden|hl|highlight|hi|history|hk|hkmap|hkp|hkmapp|hls|hlsearch|icon|iconstring|ic|ignorecase|imaf|imactivatefunc|imak|imactivatekey|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|imsf|imstatusfunc|imst|imstyle|inc|include|inex|includeexpr|is|incsearch|inde|indentexpr|indk|indentkeys|inf|infercase|im|insertmode|isf|isfname|isi|isident|isk|iskeyword|isp|isprint|js|joinspaces|key|kmp|keymap|km|keymodel|kp|keywordprg|lmap|langmap|lm|langmenu|lnr|langnoremap|lrm|langremap|ls|laststatus|lz|lazyredraw|lbr|linebreak|lines|lsp|linespace|lisp|lw|lispwords|list|lcs|listchars|lpl|loadplugins|luadll|macatsui|magic|mef|makeef|menc|makeencoding|mp|makeprg|mps|matchpairs|mat|matchtime|mco|maxcombine|mfd|maxfuncdepth|mmd|maxmapdepth|mm|maxmem|mmp|maxmempattern|mmt|maxmemtot|mis|menuitems|msm|mkspellmem|ml|modeline|mls|modelines|ma|modifiable|mod|modified|more|mousef??|mousefocus|mh|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mzschemedll|mzschemegcdll|mzq|mzquantum|nf|nrformats|nu|number|nuw|numberwidth|ofu|omnifunc|odev|opendevice|opfunc|operatorfunc|pp|packpath|para|paragraphs|paste|pt|pastetoggle|pex|patchexpr|pm|patchmode|pa|path|perldll|pi|preserveindent|pvh|previewheight|pvw|previewwindow|pdev|printdevice|penc|printencoding|pexpr|printexpr|pfn|printfont|pheader|printheader|pmbcs|printmbcharset|pmbfn|printmbfont|popt|printoptions|prompt|ph|pumheight|pythonthreedll|pythondll|pyx|pyxversion|qe|quoteescape|ro|readonly|rdt|redrawtime|re|regexpengine|rnu|relativenumber|remap|rop|renderoptions|report|rs|restorescreen|ri|revins|rl|rightleft|rlc|rightleftcmd|rubydll|ru|ruler|ruf|rulerformat|rtp|runtimepath|scr|scroll|scb|scrollbind|sj|scrolljump|so|scrolloff|sbo|scrollopt|sect|sections|secure|sel|selection|slm|selectmode|ssop|sessionoptions|sh|shell|shcf|shellcmdflag|sp|shellpipe|shq|shellquote|srr|shellredir|ssl|shellslash|stmp|shelltemp|st|shelltype|sxq|shellxquote|sxe|shellxescape|sr|shiftround|sw|shiftwidth|shm|shortmess|sn|shortname|sbr|showbreak|sc|showcmd|sft|showfulltag|sm|showmatch|smd|showmode|stal|showtabline|ss|sidescroll|siso|sidescrolloff|scl|signcolumn|scs|smartcase|si|smartindent|sta|smarttab|sts|softtabstop|spell|spc|spellcapcheck|spf|spellfile|spl|spelllang|sps|spellsuggest|sb|splitbelow|spr|splitright|sol|startofline|stl|statusline|su|suffixes|sua|suffixesadd|swf|swapfile|sws|swapsync|swb|switchbuf|smc|synmaxcol|syn|syntax|tal|tabline|tpm|tabpagemax|ts|tabstop|tbs|tagbsearch|tc|tagcase|tl|taglength|tr|tagrelative|tags??|tgst|tagstack|tcldll|term|tbidi|termbidi|tenc|termencoding|tgc|termguicolors|tk|termkey|tms|termsize|terse|ta|textauto|tx|textmode|tw|textwidth|tsr|thesaurus|top|tildeop|to|timeout|tm|timeoutlen|title|titlelen|titleold|titlestring|tb|toolbar|tbis|toolbariconsize|ttimeout|ttm|ttimeoutlen|tbi|ttybuiltin|tf|ttyfast|ttym|ttymouse|tsl|ttyscroll|tty|ttytype|udir|undodir|udf|undofile|ul|undolevels|ur|undoreload|uc|updatecount|ut|updatetime|vbs|verbose|vfile|verbosefile|vdir|viewdir|vop|viewoptions|vi|viminfo|vif|viminfofile|ve|virtualedit|vb|visualbell|warn|wiv|weirdinvert|ww|whichwrap|wc|wildchar|wcm|wildcharm|wig|wildignore|wic|wildignorecase|wmnu|wildmenu|wim|wildmode|wop|wildoptions|wak|winaltkeys|wi|window|wh|winheight|wfh|winfixheight|wfw|winfixwidth|wmh|winminheight|wmw|winminwidth|winptydll|wiw|winwidth|wrap|wm|wrapmargin|ws|wrapscan|write|wa|writeany|wb|writebackup|wd|writedelay)\\b","dgv",{"lazyCompile":true}),name:"support.type.option.viml"},{match:/*@__PURE__*/ new EmulatedRegExp("&?\\b(aleph|allowrevins|altkeymap|ambiwidth|autochdir|arabic|arabicshape|autoindent|autoread|autowrite|autowriteall|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|belloff|binary|bomb|breakat|breakindent|breakindentopt|browsedir|bufhidden|buflisted|buftype|casemap|cdpath|cedit|charconvert|cindent|cinkeys|cinoptions|cinwords|clipboard|cmdheight|cmdwinheight|colorcolumn|columns|comments|commentstring|complete|completefunc|completeopt|concealcursor|conceallevel|confirm|copyindent|cpoptions|cscopepathcomp|cscopeprg|cscopequickfix|cscoperelative|cscopetag|cscopetagorder|cscopeverbose|cursorbind|cursorcolumn|cursorline|debug|define|delcombine|dictionary|diff|diffexpr|diffopt|digraph|directory|display|eadirection|encoding|endofline|equalalways|equalprg|errorbells|errorfile|errorformat|eventignore|expandtab|exrc|fileencodings??|fileformats??|fileignorecase|filetype|fillchars|fixendofline|fkmap|foldclose|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldopen|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fsync|gdefault|grepformat|grepprg|guicursor|guifont|guifontset|guifontwide|guioptions|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hidden|hlsearch|history|hkmapp??|icon|iconstring|ignorecase|imcmdline|imdisable|iminsert|imsearch|include|includeexpr|incsearch|indentexpr|indentkeys|infercase|insertmode|isfname|isident|iskeyword|isprint|joinspaces|keymap|keymodel|keywordprg|langmap|langmenu|langremap|laststatus|lazyredraw|linebreak|lines|linespace|lisp|lispwords|list|listchars|loadplugins|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|menuitems|mkspellmem|modelines??|modifiable|modified|more|mouse|mousefocus|mousehide|mousemodel|mouseshape|mousetime|nrformats|number|numberwidth|omnifunc|opendevice|operatorfunc|packpath|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|perldll|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pumheight|pythondll|pythonthreedll|quoteescape|readonly|redrawtime|regexpengine|relativenumber|remap|report|revins|rightleft|rightleftcmd|rubydll|ruler|rulerformat|runtimepath|scroll|scrollbind|scrolljump|scrolloff|scrollopt|sections|secure|selection|selectmode|sessionoptions|shada|shell|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shellxescape|shellxquote|shiftround|shiftwidth|shortmess|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|sidescroll|sidescrolloff|signcolumn|smartcase|smartindent|smarttab|softtabstop|spell|spellcapcheck|spellfile|spelllang|spellsuggest|splitbelow|splitright|startofline|statusline|suffixes|suffixesadd|swapfile|switchbuf|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|tagcase|taglength|tagrelative|tags|tagstack|term|termbidi|terse|textwidth|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|ttimeout|ttimeoutlen|ttytype|undodir|undofile|undolevels|undoreload|updatecount|updatetime|verbose|verbosefile|viewdir|viewoptions|virtualedit|visualbell|warn|whichwrap|wildcharm??|wildignore|wildignorecase|wildmenu|wildmode|wildoptions|winaltkeys|window|winheight|winfixheight|winfixwidth|winminheight|winminwidth|winwidth|wrap|wrapmargin|wrapscan|write|writeany|writebackup|writedelay)\\b","dgv",{"lazyCompile":true}),name:"support.type.option.viml"},{match:/&?\b(al|ari|akm|ambw|acd|arab|arshape|ai|ar|awa??|bg|bs|bkc??|bdir|bex|bsk|bdlay|beval|bexpr|bo|bin|bomb|brk|bri|briopt|bsdir|bh|bl|bt|cmp|cd|cedit|ccv|cink??|cino|cinw|cb|ch|cwh|cc|com??|cms|cpt|cfu|cot|cocu|cole|cf|ci|cpo|cspc|csprg|csqf|csre|csto??|cpo|crb|cuc|cul|debug|def|deco|dict|diff|dex|dip|dg|dir|dy|ead|enc|eol|ea|ep|eb|efm??|ei|et|ex|fencs??|ffs??|fic|ft|fcs|fixeol|fk|fcl|fdc|fen|fde|fdi|fdls??|fmr|fdm|fml|fdn|fdo|fdt|fex|flp|fo|fp|fs|gd|gfm|gp|gcr|gfn|gfs|gfw|go|gtl|gtt|hf|hh|hlg|hid|hls|hi|hkp??|icon|iconstring|ic|imc|imd|imi|ims|inc|inex|is|inde|indk|inf|im|isf|isi|isk|isp|js|kmp?|kp|lmap|lm|lrm|ls|lz|lbr|lines|lsp|lisp|lw|list|lcs|lpl|magic|mef|mps??|mat|mco|mfd|mmd?|mmp|mmt|mis|msm|mls??|ma|mod|more|mousef??|mh|mousem|mouses|mouset|nf|nuw??|ofu|odev|opfunc|pp|para|paste|pt|pex|pm|pa|perldll|pi|pvh|pvw|pdev|penc|pexpr|pfn|pheader|pmbcs|pmbfn|popt|prompt|ph|pythondll|pythonthreedlll|qe|ro|rdt|re|rnu|remap|report|ri|rlc??|rubydll|ruf??|rtp|scr|scb|sj|so|sbo|sect|secure|sel|slm|ssop|sd|sh|shcf|sp|shq|srr|ssl|stmp|sxe|sxq|sr|sw|shm|sbr|sc|sft|smd??|stal|ss|siso|scl|scs|si|sta|sts|spell|spc|spf|spl|sps|sb|spr|sol|stl|sua??|swf|swb|smc|syn|tal|tpm|ts|tbs|tc|tl|tr|tag|tgst|term|tbidi|terse|tw|tsr|top?|tm|title|titlelen|titleold|titlestring|ttimeout|ttm|tty|udir|udf|ul|ur|uc|ut|vbs|vfile|vdir|vop|ve|vb|warn|ww|wcm??|wig|wic|wmnu|wim|wop|wak|wi|wh|wfh|wfw|wmh|wmw|wiw|wrap|wm|ws|write|wa|wb|wd)\b/dgv,name:"support.type.option.shortname.viml"},{match:/\b(no(?:anti|antialias|arab|arabic|arshape|arabicshape|ari|allowrevins|akm|altkeymap|acd|autochdir|ai|autoindent|ar|autoread|aw|autowrite|awa|autowriteall|bk|backup|beval|ballooneval|bevalterm|balloonevalterm|bin|binary|bomb|bri|breakindent|bl|buflisted|cin|cindent|cp|compatible|cf|confirm|ci|copyindent|csre|cscoperelative|cst|cscopetag|csverb|cscopeverbose|crb|cursorbind|cuc|cursorcolumn|cul|cursorline|deco|delcombine|diff|dg|digraph|ed|edcompatible|emo|emoji|eol|endofline|ea|equalalways|eb|errorbells|ek|esckeys|et|expandtab|ex|exrc|fic|fileignorecase|fixeol|fixendofline|fk|fkmap|fen|foldenable|fs|fsync|gd|gdefault|guipty|hid|hidden|hk|hkmap|hkp|hkmapp|hls|hlsearch|icon|ic|ignorecase|imc|imcmdline|imd|imdisable|is|incsearch|inf|infercase|im|insertmode|js|joinspaces|lnr|langnoremap|lrm|langremap|lz|lazyredraw|lbr|linebreak|lisp|list|lpl|loadplugins|macatsui|magic|ml|modeline|ma|modifiable|mod|modified|more|mousef|mousefocus|mh|mousehide|nu|number|odev|opendevice|paste|pi|preserveindent|pvw|previewwindow|prompt|ro|readonly|rnu|relativenumber|rs|restorescreen|ri|revins|rl|rightleft|ru|ruler|scb|scrollbind|secure|ssl|shellslash|stmp|shelltemp|sr|shiftround|sn|shortname|sc|showcmd|sft|showfulltag|sm|showmatch|smd|showmode|scs|smartcase|si|smartindent|sta|smarttab|spell|sb|splitbelow|spr|splitright|sol|startofline|swf|swapfile|tbs|tagbsearch|tr|tagrelative|tgst|tagstack|tbidi|termbidi|tgc|termguicolors|terse|ta|textauto|tx|textmode|top|tildeop|to|timeout|title|ttimeout|tbi|ttybuiltin|tf|ttyfast|udf|undofile|vb|visualbell|warn|wiv|weirdinvert|wic|wildignorecase|wmnu|wildmenu|wfh|winfixheight|wfw|winfixwidth|wrapscan|wrap|ws|write|wa|writeany|wb|writebackup))\b/dgv,name:"support.type.option.off.viml"}]},punctuation:{patterns:[{match:/([\(\)])/dgv,name:"punctuation.parens.viml"},{match:/(,)/dgv,name:"punctuation.comma.viml"}]},storage:{patterns:[{match:/\b(call|let|unlet)\b/dgv,name:"storage.viml"},{match:/\b(a(?:bort|utocmd))\b/dgv,name:"storage.viml"},{match:/\b(set(l(?:|ocal))?)\b/dgv,name:"storage.viml"},{match:/\b(com(mand)?)\b/dgv,name:"storage.viml"},{match:/\b(color(scheme)?)\b/dgv,name:"storage.viml"},{match:/\b(Plug(?:|in))\b/dgv,name:"storage.plugin.viml"}]},strings:{patterns:[{begin:/"/dgv,end:/("|(?=\n?$))/dgv,name:"string.quoted.double.viml",patterns:[]},{begin:/'/dgv,end:/('|(?=\n?$))/dgv,name:"string.quoted.single.viml",patterns:[]},{match:/\/(\\\\|\\\/|[^\n\/])*\//dgv,name:"string.regexp.viml"}]},support:{patterns:[{match:/(add|call|delete|empty|extend|get|has|isdirectory|join|printf)(?=\()/dgv,name:"support.function.viml"},{match:/\b(echo(m|hl)?|exe(cute)?|redir|redraw|sleep|so(urce)?|wincmd|setf)\b/dgv,name:"support.function.viml"},{match:/(v:(beval_col|beval_bufnr|beval_lnum|beval_text|beval_winnr|char|charconvert_from|charconvert_to|cmdarg|cmdbang|count1??|ctype|dying|errmsg|exception|fcs_reason|fcs_choice|fname_in|fname_out|fname_new|fname_diff|folddashes|foldlevel|foldend|foldstart|insertmode|key|lang|lc_time|lnum|mouse_win|mouse_lnum|mouse_col|oldfiles|operator|prevcount|profiling|progname|register|scrollstart|servername|searchforward|shell_error|statusmsg|swapname|swapchoice|swapcommand|termresponse|this_session|throwpoint|val|version|warningmsg|windowid))/dgv,name:"support.type.builtin.vim-variable.viml"},{match:/(&(cpo|isk|omnifunc|paste|previewwindow|rtp|tags|term|wrap))/dgv,name:"support.type.builtin.viml"},{match:/(&(shell(cmdflag|redir)?))/dgv,name:"support.type.builtin.viml"},{match:/<args>/dgv,name:"support.variable.args.viml"},{match:/\b(None|ErrorMsg|WarningMsg)\b/dgv,name:"support.type.syntax.viml"},{match:/\b(BufNewFile|BufReadPre|BufRead|BufReadPost|BufReadCmd|FileReadPre|FileReadPost|FileReadCmd|FilterReadPre|FilterReadPost|StdinReadPre|StdinReadPost|BufWrite|BufWritePre|BufWritePost|BufWriteCmd|FileWritePre|FileWritePost|FileWriteCmd|FileAppendPre|FileAppendPost|FileAppendCmd|FilterWritePre|FilterWritePost|BufAdd|BufCreate|BufDelete|BufWipeout|BufFilePre|BufFilePost|BufEnter|BufLeave|BufWinEnter|BufWinLeave|BufUnload|BufHidden|BufNew|SwapExists|TermOpen|TermClose|FileType|Syntax|OptionSet|VimEnter|GUIEnter|GUIFailed|TermResponse|QuitPre|VimLeavePre|VimLeave|DirChanged|FileChangedShell|FileChangedShellPost|FileChangedRO|ShellCmdPost|ShellFilterPost|CmdUndefined|FuncUndefined|SpellFileMissing|SourcePre|SourceCmd|VimResized|FocusGained|FocusLost|CursorHoldI??|CursorMovedI??|WinNew|WinEnter|WinLeave|TabEnter|TabLeave|TabNew|TabNewEntered|TabClosed|CmdlineEnter|CmdlineLeave|CmdwinEnter|CmdwinLeave|InsertEnter|InsertChange|InsertLeave|InsertCharPre|TextYankPost|TextChangedI??|ColorScheme|RemoteReply|QuickFixCmdPre|QuickFixCmdPost|SessionLoadPost|MenuPopup|CompleteDone|User)\b/dgv,name:"support.type.event.viml"},{match:/\b(Comment|Constant|String|Character|Number|Boolean|Float|Identifier|Function|Statement|Conditional|Repeat|Label|Operator|Keyword|Exception|PreProc|Include|Define|Macro|PreCondit|Type|StorageClass|Structure|Typedef|Special|SpecialChar|Tag|Delimiter|SpecialComment|Debug|Underlined|Ignore|Error|Todo)\b/dgv,name:"support.type.syntax-group.viml"}]},syntax:{patterns:[{match:/syn(tax)? case (ignore|match)/dgv,name:"keyword.control.syntax.viml"},{match:/syn(tax)? (clear|enable|include|off|on|manual|sync)/dgv,name:"keyword.control.syntax.viml"},{match:/\b(contained|display|excludenl|fold|keepend|oneline|skipnl|skipwhite|transparent)\b/dgv,name:"keyword.other.syntax.viml"},{match:/\b(add|containedin|contains|matchgroup|nextgroup)=/dgv,name:"keyword.other.syntax.viml"},{captures:{"1":{name:"keyword.other.syntax-range.viml"},"3":{name:"string.regexp.viml"}},match:/((start|skip|end)=)(\+\P{space}+\+\p{space})?/dgv},{captures:{"0":{name:"support.type.syntax.viml"},"1":{name:"storage.syntax.viml"},"3":{name:"variable.other.syntax-scope.viml"},"4":{name:"storage.modifier.syntax.viml"}},match:/(syn(?:|tax))\p{space}+(cluster|keyword|match|region)(\p{space}+[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)(contained)?/dgv,patterns:[]},{captures:{"1":{name:"storage.highlight.viml"},"2":{name:"storage.modifier.syntax.viml"},"3":{name:"support.function.highlight.viml"},"4":{name:"variable.other.viml"},"5":{name:"variable.other.viml"}},match:/(hi(?:|ghlight))\p{space}+(def(?:|ault))\p{space}+(link)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,patterns:[]}]},variable:{patterns:[{match:/https?:\/\/\P{space}+/dgv,name:"variable.other.link.viml"},{match:/(?<=\()([A-Za-z]+)(?=\))/dgv,name:"variable.parameter.viml"},{match:/\b([abgls]:[\#\.0-9A-Z_a-z]+)\b(?!\()/dgv,name:"variable.other.viml"}]}},scopeName:"source.viml",embeddedLangs:undefined,aliases:["vim","vimscript"]})
4
4
 
5
5
  export default [
6
6
  lang