@shikijs/langs-precompiled 2.1.0 → 2.3.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 (109) hide show
  1. package/dist/abap.mjs +3 -1
  2. package/dist/angular-ts.mjs +1 -1
  3. package/dist/apex.mjs +1 -1
  4. package/dist/apl.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/asm.mjs +1 -1
  9. package/dist/astro.mjs +1 -1
  10. package/dist/ballerina.mjs +3 -1
  11. package/dist/blade.mjs +1 -1
  12. package/dist/bsl.mjs +2 -1
  13. package/dist/c.mjs +1 -1
  14. package/dist/cadence.mjs +1 -1
  15. package/dist/cobol.mjs +2 -1
  16. package/dist/codeql.mjs +6 -2
  17. package/dist/coffee.mjs +2 -1
  18. package/dist/common-lisp.mjs +1 -1
  19. package/dist/cpp-macro.mjs +1 -1
  20. package/dist/cpp.mjs +1 -1
  21. package/dist/crystal.mjs +1 -1
  22. package/dist/css.mjs +1 -1
  23. package/dist/dax.mjs +3 -1
  24. package/dist/dream-maker.mjs +1 -1
  25. package/dist/elixir.mjs +1 -1
  26. package/dist/emacs-lisp.mjs +1 -1
  27. package/dist/erlang.mjs +1 -1
  28. package/dist/fortran-free-form.mjs +1 -1
  29. package/dist/gdscript.mjs +1 -1
  30. package/dist/gherkin.mjs +3 -1
  31. package/dist/glimmer-js.mjs +1 -1
  32. package/dist/glimmer-ts.mjs +1 -1
  33. package/dist/go.mjs +1 -1
  34. package/dist/graphql.mjs +1 -1
  35. package/dist/hack.mjs +1 -1
  36. package/dist/haml.mjs +1 -1
  37. package/dist/haskell.mjs +1 -1
  38. package/dist/html.mjs +1 -1
  39. package/dist/imba.mjs +1 -1
  40. package/dist/ini.mjs +1 -1
  41. package/dist/java.mjs +1 -1
  42. package/dist/javascript.mjs +1 -1
  43. package/dist/jsx.mjs +1 -1
  44. package/dist/julia.mjs +1 -1
  45. package/dist/kotlin.mjs +1 -1
  46. package/dist/kusto.mjs +1 -1
  47. package/dist/latex.mjs +1 -1
  48. package/dist/less.mjs +3 -1
  49. package/dist/logo.mjs +1 -1
  50. package/dist/lua.mjs +1 -1
  51. package/dist/make.mjs +1 -1
  52. package/dist/markdown-vue.mjs +1 -1
  53. package/dist/markdown.mjs +1 -1
  54. package/dist/matlab.mjs +1 -1
  55. package/dist/mdc.mjs +1 -1
  56. package/dist/mdx.mjs +1 -1
  57. package/dist/mermaid.mjs +1 -1
  58. package/dist/mipsasm.mjs +1 -1
  59. package/dist/mojo.mjs +1 -1
  60. package/dist/nginx.mjs +1 -1
  61. package/dist/nim.mjs +1 -1
  62. package/dist/nix.mjs +1 -1
  63. package/dist/nushell.mjs +1 -1
  64. package/dist/objective-c.mjs +1 -1
  65. package/dist/objective-cpp.mjs +1 -1
  66. package/dist/pascal.mjs +1 -1
  67. package/dist/perl.mjs +1 -1
  68. package/dist/php.mjs +1 -1
  69. package/dist/po.mjs +1 -1
  70. package/dist/polar.mjs +1 -1
  71. package/dist/powershell.mjs +1 -1
  72. package/dist/prolog.mjs +3 -1
  73. package/dist/pug.mjs +1 -1
  74. package/dist/python.mjs +1 -1
  75. package/dist/r.mjs +1 -1
  76. package/dist/racket.mjs +3 -1
  77. package/dist/raku.mjs +1 -1
  78. package/dist/razor.mjs +1 -1
  79. package/dist/riscv.mjs +1 -1
  80. package/dist/ruby.mjs +1 -1
  81. package/dist/sas.mjs +2 -1
  82. package/dist/scala.mjs +1 -1
  83. package/dist/scheme.mjs +1 -1
  84. package/dist/scss.mjs +1 -1
  85. package/dist/shellscript.mjs +1 -1
  86. package/dist/smalltalk.mjs +1 -1
  87. package/dist/sql.mjs +1 -1
  88. package/dist/ssh-config.mjs +1 -1
  89. package/dist/stata.mjs +2 -1
  90. package/dist/stylus.mjs +1 -1
  91. package/dist/svelte.mjs +1 -1
  92. package/dist/systemd.mjs +1 -1
  93. package/dist/templ.mjs +1 -1
  94. package/dist/tex.mjs +1 -1
  95. package/dist/toml.mjs +1 -1
  96. package/dist/tsx.mjs +1 -1
  97. package/dist/twig.mjs +1 -1
  98. package/dist/typescript.mjs +1 -1
  99. package/dist/v.mjs +1 -1
  100. package/dist/vb.mjs +1 -1
  101. package/dist/verilog.mjs +1 -1
  102. package/dist/viml.mjs +3 -1
  103. package/dist/vue-html.mjs +1 -1
  104. package/dist/vue.mjs +1 -1
  105. package/dist/vyper.mjs +1 -1
  106. package/dist/wikitext.mjs +1 -1
  107. package/dist/wolfram.mjs +1 -1
  108. package/dist/yaml.mjs +1 -1
  109. package/package.json +4 -4
package/dist/stata.mjs CHANGED
@@ -1,6 +1,7 @@
1
+ import { EmulatedRegExp } from 'oniguruma-to-es'
1
2
  import sql from './sql.mjs'
2
3
 
3
- const lang = Object.freeze({displayName:"Stata",fileTypes:["do","ado","mata"],foldingStartMarker:/\{\p{space}*(?=\n?$)/dgv,foldingStopMarker:/^\p{space}*\}/dgv,name:"stata",patterns:[{include:"#ascii-regex-functions"},{include:"#unicode-regex-functions"},{include:"#constants"},{include:"#functions"},{include:"#comments"},{include:"#subscripts"},{include:"#operators"},{include:"#macro-local"},{include:"#macro-global"},{include:"#string-compound"},{include:"#string-regular"},{include:"#builtin_variables"},{include:"#macro-commands"},{comment:"keywords that delimit flow conditionals",match:/\b(if|else if|else)\b/dgv,name:"keyword.control.conditional.stata"},{captures:{"1":{name:"storage.type.scalar.stata"}},match:/^\p{space}*(sca(lar|la|l)?(\p{space}+de(fine|fin|fi|f)?)?)\p{space}+(?!(drop|dir?|l(ist|is|i)?)\p{space}+)/dgv},{begin:/\b(mer(ge|g)?)\p{space}+(1|m|n)(:)(1|m|n)/dgv,beginCaptures:{"1":{name:"keyword.control.flow.stata"},"3":{patterns:[{include:"#constants"},{match:/m|n/dgv,name:""}]},"4":{name:"punctuation.separator.key-value"},"5":{patterns:[{include:"#constants"},{match:/m|n/dgv,name:""}]}},end:/using/dgv,patterns:[{include:"#builtin_variables"},{include:"#macro-local"},{include:"#macro-global"},{include:"#comments"}]},{captures:{"1":{name:"keyword.control.flow.stata"},"2":{patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},"3":{name:"keyword.control.flow.stata"}},match:/\b(foreach)\p{space}+((?!in|of)[^\n]+)\p{space}+(in|of var(list|lis|li|l)?|of new(list|lis|li|l)?|of num(list|lis|li|l)?)\b/dgv},{begin:/\b(foreach)\p{space}+((?!in|of)[^\n]+)\p{space}+(of loc(al|a)?|of glo(bal|ba|b)?)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.flow.stata"},"2":{patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},"3":{name:"keyword.control.flow.stata"}},end:/(?=\p{space}*\{)/dgv,patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},{begin:/\b(forvalues|forvalue|forvalu|forval|forva|forv)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.flow.stata"}},end:/\p{space}*(=)\p{space}*([^\{]+)\p{space}*|(?=\n)/dgv,endCaptures:{"1":{name:"keyword.operator.assignment.stata"},"2":{patterns:[{include:"#constants"},{include:"#operators"},{include:"#macro-local"},{include:"#macro-global"}]}},patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},{comment:"keywords that delimit loops",match:/\b(while|continue)\b/dgv,name:"keyword.control.flow.stata"},{captures:{"1":{name:"keyword.other.stata"}},comment:"keywords that haven't fit into other groups (yet).",match:/\b(as|ass|asse|asser|assert)\b/dgv},{comment:"prefixes that require a colon",match:/\b(by(sort|sor|so|s)?|statsby|rolling|bootstrap|jackknife|permute|simulate|svy|mi est(imate|imat|ima|im|i)?|nestreg|stepwise|xi|fp|mfp|vers(ion|io|i)?)\b/dgv,name:"storage.type.function.stata"},{comment:"prefixes that don't need a colon",match:/\b(qui(etly|etl|et|e)?|n(oisily|oisil|oisi|ois|oi|o)?|cap(ture|tur|tu|t)?)\b:?/dgv,name:"keyword.control.flow.stata"},{captures:{"1":{name:"storage.type.function.stata"},"3":{name:"storage.type.function.stata"},"7":{name:"entity.name.function.stata"}},match:/\p{space}*(pr(ogram|ogra|ogr|og|o)?)\p{space}+((di(r)?|drop|l(ist|is|i)?)\p{space}+)([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31})/dgv},{begin:/^\p{space}*(pr(ogram|ogra|ogr|og|o)?)\p{space}+(de(fine|fin|fi|f)?\p{space}+)?/dgv,beginCaptures:{"1":{name:"storage.type.function.stata"},"3":{name:"storage.type.function.stata"}},end:/(?=,|\n|\/)/dgv,patterns:[{include:"#macro-local"},{include:"#macro-global"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"entity.name.function.stata"},{match:/[^A-za-z_0-9\,\n\/ ]+/dgv,name:"invalid.illegal.name.stata"}]},{captures:{"1":"keyword.functions.data.stata.test"},match:/\b(form(at|a)?)\p{space}*([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31})*\p{space}*(%)(-)?(0)?([0-9]+)([^\n])([0-9]+)(e|f|g)(c)?/dgv},{include:"#braces-with-error"},{begin:/(?=syntax)/dgv,end:/\n/dgv,patterns:[{begin:/syntax/dgv,beginCaptures:{"0":{name:"keyword.functions.program.stata"}},comment:"color before the comma",end:/(?=,|\n)/dgv,patterns:[{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.block.stata"},{match:/\[/dgv,name:"punctuation.definition.parameters.begin.stata"},{match:/\]/dgv,name:"punctuation.definition.parameters.end.stata"},{match:/\b(varlist|varname|newvarlist|newvarname|namelist|name|anything)\b/dgv,name:"entity.name.type.class.stata"},{captures:{"2":{name:"entity.name.type.class.stata"},"3":{name:"keyword.operator.arithmetic.stata"}},match:/\b((if|in|using|fweight|aweight|pweight|iweight))\b(\/)?/dgv},{captures:{"1":{name:"keyword.operator.arithmetic.stata"},"2":{name:"entity.name.type.class.stata"}},match:/(\/)?(exp)/dgv},{include:"#constants"},{include:"#operators"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#builtin_variables"}]},{begin:/,/dgv,beginCaptures:{"0":{name:"punctuation.definition.variable.begin.stata"}},comment:"things to color after the comma",end:/(?=\n)/dgv,patterns:[{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.block.stata"},{begin:/([^\p{space}\[\]]+)(\()/dgv,beginCaptures:{"1":{comment:"these are the names that become macros",patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},"2":{name:"keyword.operator.parentheses.stata"}},comment:"color options with parentheses",end:/\)/dgv,endCaptures:{"0":{name:"keyword.operator.parentheses.stata"}},patterns:[{captures:{"0":{name:"support.type.stata"}},comment:"the first word is often a type",match:/\b(integer|intege|integ|inte|int|real|string|strin|stri|str)\b/dgv},{include:"#constants"},{include:"#operators"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#builtin_variables"}]},{include:"#macro-local-identifiers"},{include:"#constants"},{include:"#operators"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#builtin_variables"}]}]},{captures:{"1":{name:"keyword.functions.data.stata"}},comment:"one-word commands",match:/\b(sa(v|ve)|saveold|destring|tostring|u(se|s)?|note(s)?|form(at|a)?)\b/dgv},{comment:"programming commands",match:/\b(exit|end)\b/dgv,name:"keyword.functions.data.stata"},{captures:{"1":{name:"keyword.functions.data.stata"},"2":{patterns:[{include:"#macro-local"}]},"4":{name:"invalid.illegal.name.stata"},"5":{name:"keyword.operator.assignment.stata"}},match:/\b(replace)\p{space}+([^\=]+)\p{space}*((==)|(=))/dgv},{captures:{"1":{name:"keyword.functions.data.stata"},"3":{name:"support.type.stata"},"5":{patterns:[{include:"#reserved-names"},{include:"#macro-local"}]},"7":{name:"invalid.illegal.name.stata"},"8":{name:"keyword.operator.assignment.stata"}},match:/\b(g(enerate|enerat|enera|ener|ene|en|e)?|egen)\p{space}+((byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)\p{space}+)?([^\=\p{space}]+)\p{space}*((==)|(=))/dgv},{captures:{"1":{name:"keyword.functions.data.stata"},"3":{name:"support.type.stata"}},match:/\b(set ty(pe|p)?)\p{space}+((byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)?\p{space}+)\b/dgv},{captures:{"1":{name:"keyword.functions.data.stata"},"3":{name:"keyword.functions.data.stata"},"6":{name:"punctuation.definition.string.begin.stata"},"7":{patterns:[{include:"#string-compound"},{include:"#macro-local-escaped"},{include:"#macro-global-escaped"},{include:"#macro-local"},{include:"#macro-global"},{match:/[^\`\$]{81,}/dgv,name:"invalid.illegal.name.stata"},{match:/[^\n]/dgv,name:"string.quoted.double.compound.stata"}]},"8":{name:"punctuation.definition.string.begin.stata"}},match:/\b(la(bel|be|b)?)\p{space}+(var(iable|iabl|iab|ia|i)?)\p{space}+([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31})\p{space}+(`")([^\n]+)("')/dgv},{captures:{"1":{name:"keyword.functions.data.stata"},"3":{name:"keyword.functions.data.stata"},"6":{name:"punctuation.definition.string.begin.stata"},"7":{patterns:[{include:"#macro-local-escaped"},{include:"#macro-global-escaped"},{include:"#macro-local"},{include:"#macro-global"},{match:/[^\`\$]{81,}/dgv,name:"invalid.illegal.name.stata"},{match:/[^\n]/dgv,name:"string.quoted.double.stata"}]},"8":{name:"punctuation.definition.string.begin.stata"}},match:/\b(la(bel|be|b)?)\p{space}+(var(iable|iabl|iab|ia|i)?)\p{space}+([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31})\p{space}+(")([^\n]+)(")/dgv},{captures:{"1":{name:"keyword.functions.data.stata"},"3":{name:"keyword.functions.data.stata"}},match:/\b(la(bel|be|b)?)\p{space}+(da(ta|t)?|var(iable|iabl|iab|ia|i)?|de(f|fi|fin|fine)?|val(ues|ue|u)?|di(r)?|l(ist|is|i)?|copy|drop|save|lang(uage|uag|ua|u)?)\b/dgv},{begin:/\b(drop|keep)\b(?!\p{space}+(if|in)\b)/dgv,beginCaptures:{"1":{name:"keyword.functions.data.stata"}},end:/\n/dgv,patterns:[{match:/\b(if|in)\b/dgv,name:"invalid.illegal.name.stata"},{include:"#comments"},{include:"#macro-local"},{include:"#macro-global"},{include:"#operators"}]},{captures:{"1":{name:"keyword.functions.data.stata"},"2":{name:"keyword.functions.data.stata"}},match:/\b(drop|keep)\p{space}+(if|in)\b/dgv},{begin:/^\p{space}*mata:?\p{space}*(?=\n?$)/dgv,comment:"won't match single-line Mata statements",end:/^\p{space}*end\p{space}*(?=\n?$)\n?/dgv,name:"meta.embedded.block.mata",patterns:[{match:/(?<![^\$\p{space}])(version|pragma|if|else|for|while|do|break|continue|goto|return)(?=\p{space})/dgv,name:"keyword.control.mata"},{captures:{"1":{name:"storage.type.eltype.mata"},"4":{name:"storage.type.orgtype.mata"}},match:/\b(transmorphic|string|numeric|real|complex|(pointer(\([^\)]+\))?))\p{space}+(matrix|vector|rowvector|colvector|scalar)\b/dgv,name:"storage.type.mata"},{comment:"need to end with whitespace character here or last group doesn't match",match:/\b(transmorphic|string|numeric|real|complex|(pointer(\([^\)]+\))?))\p{space}/dgv,name:"storage.type.eltype.mata"},{match:/\b(matrix|vector|rowvector|colvector|scalar)\b/dgv,name:"storage.type.orgtype.mata"},{match:/!|\+\+|--|&|'|\?|\\|::|,|\.\.|\||=|==|>=|<=|<|>|!=|#|\+|-|\*|\^|\//dgv,name:"keyword.operator.mata"},{include:"$self"}]},{begin:/\b(odbc)\b/dgv,beginCaptures:{"0":{name:"keyword.control.flow.stata"}},end:/\n/dgv,patterns:[{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.block.stata"},{begin:/(exec?)(\(")/dgv,beginCaptures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"}},end:/"\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.stata"}},patterns:[{include:"source.sql"}]},{include:"$self"}]},{include:"#commands-other"}],repository:{"ascii-regex-character-class":{patterns:[{match:/\\[\*\+\?\-\.\^\$\|\[\]\(\)\\]/dgv,name:"constant.character.escape.backslash.stata"},{match:/\./dgv,name:"constant.character.character-class.stata"},{match:/\\[^\n]/dgv,name:"illegal.invalid.character-class.stata"},{begin:/(\[)(\^)?/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.stata"},"2":{name:"keyword.operator.negation.stata"}},end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.character-class.stata"}},name:"constant.other.character-class.set.stata",patterns:[{include:"#ascii-regex-character-class"},{captures:{"2":{name:"constant.character.escape.backslash.stata"},"4":{name:"constant.character.escape.backslash.stata"}},match:/((\\[^\n])|[^\n])-((\\[^\n])|[^\]])/dgv,name:"constant.other.character-class.range.stata"}]}]},"ascii-regex-functions":{patterns:[{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#ascii-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{name:"invalid.illegal.punctuation.stata"},"9":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexm with regular quotes i.e. \" ",match:/\b(regexm)(\()([^\,]+)(,)\p{space}*(")([^"]+)("(')?)\p{space}*(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#ascii-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexm with compound quotes",match:/\b(regexm)(\()([^\,]+)(,)\p{space}*(`")([^"]+)("')\p{space}*(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#ascii-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{name:"invalid.illegal.punctuation.stata"},"9":{patterns:[{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"10":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexr with regular quotes i.e. \" ",match:/\b(regexr)(\()([^\,]+)(,)\p{space}*(")([^"]+)("(')?)\p{space}*([^\)]*)(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#ascii-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{patterns:[{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"9":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexr with compound quotes i.e. `\"text\"' ",match:/\b(regexr)(\()([^\,]+)(,)\p{space}*(`")([^"]+)("')\p{space}*([^\)]*)(\))/dgv}]},"ascii-regex-internals":{patterns:[{match:/\^/dgv,name:"keyword.control.anchor.stata"},{comment:"matched when not a global, but must be ascii",match:/\$(?![a-zA-Z_\{])/dgv,name:"keyword.control.anchor.stata"},{match:/[\?\+\*]/dgv,name:"keyword.control.quantifier.stata"},{match:/\|/dgv,name:"keyword.control.or.stata"},{begin:/(\()(?=\?|\*|\+)/dgv,beginCaptures:{"1":{name:"keyword.operator.group.stata"}},contentName:"invalid.illegal.regexm.stata",end:/\)/dgv,endCaptures:{"0":{name:"keyword.operator.group.stata"}}},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.group.stata"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.operator.group.stata"}},patterns:[{include:"#ascii-regex-internals"}]},{include:"#ascii-regex-character-class"},{include:"#macro-local"},{include:"#macro-global"},{comment:"NOTE: Error if I have .+ No idea why but it works fine it seems with just .",match:/[^\n]/dgv,name:"string.quoted.stata"}]},"braces-with-error":{patterns:[{begin:/(\{)\p{space}*([^\n]*)(?=\n)/dgv,beginCaptures:{"1":{name:"keyword.control.block.begin.stata"},"2":{patterns:[{include:"#comments"},{match:/[^\n]+/dgv,name:"illegal.invalid.name.stata"}]}},comment:"correct with nothing else on the line but whitespace; before and after; before; after; correct",end:/^\p{space}*(\})\p{space}*(?=\n?$)|^\p{space}*([^\*"\}]+)\p{space}+(\})\p{space}*([^\*"\}\/\n]+)|^\p{space}*([^"\*\}]+)\p{space}+(\})|\p{space}*(\})\p{space}*([^"\*\}\/\n]+)|(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"keyword.control.block.end.stata"},"2":{name:"invalid.illegal.name.stata"},"3":{name:"keyword.control.block.end.stata"},"4":{name:"invalid.illegal.name.stata"},"5":{name:"invalid.illegal.name.stata"},"6":{name:"keyword.control.block.end.stata"},"7":{name:"keyword.control.block.end.stata"},"8":{name:"invalid.illegal.name.stata"},"9":{name:"keyword.control.block.end.stata"}},patterns:[{include:"$self"}]}]},"braces-without-error":{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"keyword.control.block.begin.stata"}},end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.block.end.stata"}}}]},builtin_types:{patterns:[{match:/\b(byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)\b/dgv,name:"support.type.stata"}]},builtin_variables:{patterns:[{match:/\b(_b|_coef|_cons|_n|_N|_rc|_se)\b/dgv,name:"variable.object.stata"}]},"commands-other":{patterns:[{comment:"Add on commands",match:/\b(reghdfe|ivreghdfe|ivreg2|outreg|gcollapse|gcontract|gegen|gisid|glevelsof|gquantiles)\b/dgv,name:"keyword.control.flow.stata"},{comment:"Built in commands",match:/\b(about|ac|acprplot|ado|adopath|adoupdate|alpha|ameans|an|ano|anov|anova|anova_terms|anovadef|aorder|ap|app|appe|appen|append|arch|arch_dr|arch_estat|arch_p|archlm|areg|areg_p|args|arima|arima_dr|arima_estat|arima_p|asmprobit|asmprobit_estat|asmprobit_lf|asmprobit_mfx__dlg|asmprobit_p|avplot|avplots|bcskew0|bgodfrey|binreg|bip0_lf|biplot|bipp_lf|bipr_lf|bipr_p|biprobit|bitest|bitesti|bitowt|blogit|bmemsize|boot|bootsamp|boxco_l|boxco_p|boxcox|boxcox_p|bprobit|br|break|brier|bro|brow|brows|browse|brr|brrstat|bs|bsampl_w|bsample|bsqreg|bstat|bstrap|ca|ca_estat|ca_p|cabiplot|camat|canon|canon_estat|canon_p|caprojection|cat|cc|cchart|cci|cd|censobs_table|centile|cf|char|chdir|checkdlgfiles|checkestimationsample|checkhlpfiles|checksum|chelp|ci|cii|cl|class|classutil|clear|cli|clis|clist|clog|clog_lf|clog_p|clogi|clogi_sw|clogit|clogit_lf|clogit_p|clogitp|clogl_sw|cloglog|clonevar|clslistarray|cluster|cluster_measures|cluster_stop|cluster_tree|cluster_tree_8|clustermat|cmdlog|cnr|cnre|cnreg|cnreg_p|cnreg_sw|cnsreg|codebook|collaps4|collapse|colormult_nb|colormult_nw|compare|compress|conf|confi|confir|confirm|conren|cons|const|constr|constra|constrai|constrain|constraint|contract|copy|copyright|copysource|cor|corc|corr|corr2data|corr_anti|corr_kmo|corr_smc|corre|correl|correla|correlat|correlate|corrgram|cou|coun|count|cprplot|crc|cret|cretu|cretur|creturn|cross|cs|cscript|cscript_log|csi|ct|ct_is|ctset|ctst_st|cttost|cumsp|cumul|cusum|cutil|d|datasig|datasign|datasigna|datasignat|datasignatu|datasignatur|datasignature|datetof|db|dbeta|de|dec|deco|decod|decode|deff|des|desc|descr|descri|describ|describe|dfbeta|dfgls|dfuller|di|di_g|dir|dirstats|dis|discard|disp|disp_res|disp_s|displ|displa|display|do|doe|doed|doedi|doedit|dotplot|dprobit|drawnorm|ds|ds_util|dstdize|duplicates|durbina|dwstat|dydx|ed|edi|edit|eivreg|emdef|en|enc|enco|encod|encode|eq|erase|ereg|ereg_lf|ereg_p|ereg_sw|ereghet|ereghet_glf|ereghet_glf_sh|ereghet_gp|ereghet_ilf|ereghet_ilf_sh|ereghet_ip|eret|eretu|eretur|ereturn|err|erro|error|est|est_cfexist|est_cfname|est_clickable|est_expand|est_hold|est_table|est_unhold|est_unholdok|estat|estat_default|estat_summ|estat_vce_only|esti|estimates|etodow|etof|etomdy|expand|expandcl|fac|fact|facto|factor|factor_estat|factor_p|factor_pca_rotated|factor_rotate|factormat|fcast|fcast_compute|fcast_graph|fdades|fdadesc|fdadescr|fdadescri|fdadescrib|fdadescribe|fdasav|fdasave|fdause|fh_st|file|filefilter|fillin|find_hlp_file|findfile|findit|fit|fl|fli|flis|flist|fpredict|frac_adj|frac_chk|frac_cox|frac_ddp|frac_dis|frac_dv|frac_in|frac_mun|frac_pp|frac_pq|frac_pv|frac_wgt|frac_xo|fracgen|fracplot|fracpoly|fracpred|fron_ex|fron_hn|fron_p|fron_tn|fron_tn2|frontier|ftodate|ftoe|ftomdy|ftowdate|gamhet_glf|gamhet_gp|gamhet_ilf|gamhet_ip|gamma|gamma_d2|gamma_p|gamma_sw|gammahet|gdi_hexagon|gdi_spokes|genrank|genstd|genvmean|gettoken|gladder|glim_l01|glim_l02|glim_l03|glim_l04|glim_l05|glim_l06|glim_l07|glim_l08|glim_l09|glim_l10|glim_l11|glim_l12|glim_lf|glim_mu|glim_nw1|glim_nw2|glim_nw3|glim_p|glim_v1|glim_v2|glim_v3|glim_v4|glim_v5|glim_v6|glim_v7|glm|glm_p|glm_sw|glmpred|glogit|glogit_p|gmeans|gnbre_lf|gnbreg|gnbreg_p|gomp_lf|gompe_sw|gomper_p|gompertz|gompertzhet|gomphet_glf|gomphet_glf_sh|gomphet_gp|gomphet_ilf|gomphet_ilf_sh|gomphet_ip|gphdot|gphpen|gphprint|gprefs|gprobi_p|gprobit|gr|gr7|gr_copy|gr_current|gr_db|gr_describe|gr_dir|gr_draw|gr_draw_replay|gr_drop|gr_edit|gr_editviewopts|gr_example|gr_example2|gr_export|gr_print|gr_qscheme|gr_query|gr_read|gr_rename|gr_replay|gr_save|gr_set|gr_setscheme|gr_table|gr_undo|gr_use|graph|grebar|greigen|grmeanby|gs_fileinfo|gs_filetype|gs_graphinfo|gs_stat|gsort|gwood|h|hareg|hausman|haver|he|heck_d2|heckma_p|heckman|heckp_lf|heckpr_p|heckprob|hel|help|hereg|hetpr_lf|hetpr_p|hetprob|hettest|hexdump|hilite|hist|histogram|hlogit|hlu|hmeans|hotel|hotelling|hprobit|hreg|hsearch|icd9|icd9_ff|icd9p|iis|impute|imtest|inbase|include|inf|infi|infil|infile|infix|inp|inpu|input|ins|insheet|insp|inspe|inspec|inspect|integ|inten|intreg|intreg_p|intrg2_ll|intrg_ll|intrg_ll2|ipolate|iqreg|ir|irf|irf_create|irfm|iri|is_svy|is_svysum|isid|istdize|ivprobit|ivprobit_p|ivreg|ivreg_footnote|ivtob_lf|ivtobit|ivtobit_p|jacknife|jknife|jkstat|joinby|kalarma1|kap|kapmeier|kappa|kapwgt|kdensity|ksm|ksmirnov|ktau|kwallis|labelbook|ladder|levelsof|leverage|lfit|lfit_p|li|lincom|line|linktest|lis|list|lloghet_glf|lloghet_glf_sh|lloghet_gp|lloghet_ilf|lloghet_ilf_sh|lloghet_ip|llogi_sw|llogis_p|llogist|llogistic|llogistichet|lnorm_lf|lnorm_sw|lnorma_p|lnormal|lnormalhet|lnormhet_glf|lnormhet_glf_sh|lnormhet_gp|lnormhet_ilf|lnormhet_ilf_sh|lnormhet_ip|lnskew0|loadingplot|(?<!\.)log|logi|logis_lf|logistic|logistic_p|logit|logit_estat|logit_p|loglogs|logrank|loneway|lookfor|lookup|lowess|lpredict|lrecomp|lroc|lrtest|ls|lsens|lsens_x|lstat|ltable|ltriang|lv|lvr2plot|m|ma|mac|macr|macro|makecns|man|manova|manovatest|mantel|mark|markin|markout|marksample|mat|mat_capp|mat_order|mat_put_rr|mat_rapp|mata|mata_clear|mata_describe|mata_drop|mata_matdescribe|mata_matsave|mata_matuse|mata_memory|mata_mlib|mata_mosave|mata_rename|mata_which|matalabel|matcproc|matlist|matname|matr|matri|matrix|matrix_input__dlg|matstrik|mcc|mcci|md0_|md1_|md1debug_|md2_|md2debug_|mds|mds_estat|mds_p|mdsconfig|mdslong|mdsmat|mdsshepard|mdytoe|mdytof|me_derd|mean|means|median|memory|memsize|mfp|mfx|mhelp|mhodds|minbound|mixed_ll|mixed_ll_reparm|mkassert|mkdir|mkmat|mkspline|ml|ml_adjs|ml_bhhhs|ml_c_d|ml_check|ml_clear|ml_cnt|ml_debug|ml_defd|ml_e0|ml_e0_bfgs|ml_e0_cycle|ml_e0_dfp|ml_e0i|ml_e1|ml_e1_bfgs|ml_e1_bhhh|ml_e1_cycle|ml_e1_dfp|ml_e2|ml_e2_cycle|ml_ebfg0|ml_ebfr0|ml_ebfr1|ml_ebh0q|ml_ebhh0|ml_ebhr0|ml_ebr0i|ml_ecr0i|ml_edfp0|ml_edfr0|ml_edfr1|ml_edr0i|ml_eds|ml_eer0i|ml_egr0i|ml_elf|ml_elf_bfgs|ml_elf_bhhh|ml_elf_cycle|ml_elf_dfp|ml_elfi|ml_elfs|ml_enr0i|ml_enrr0|ml_erdu0|ml_erdu0_bfgs|ml_erdu0_bhhh|ml_erdu0_bhhhq|ml_erdu0_cycle|ml_erdu0_dfp|ml_erdu0_nrbfgs|ml_exde|ml_footnote|ml_geqnr|ml_grad0|ml_graph|ml_hbhhh|ml_hd0|ml_hold|ml_init|ml_inv|ml_log|ml_max|ml_mlout|ml_mlout_8|ml_model|ml_nb0|ml_opt|ml_p|ml_plot|ml_query|ml_rdgrd|ml_repor|ml_s_e|ml_score|ml_searc|ml_technique|ml_unhold|mleval|mlf_|mlmatbysum|mlmatsum|mlog|mlogi|mlogit|mlogit_footnote|mlogit_p|mlopts|mlsum|mlvecsum|mnl0_|mor|more|mov|move|mprobit|mprobit_lf|mprobit_p|mrdu0_|mrdu1_|mvdecode|mvencode|mvreg|mvreg_estat|nbreg|nbreg_al|nbreg_lf|nbreg_p|nbreg_sw|nestreg|net|newey|newey_p|news|nl|nlcom|nlcom_p|nlexp2|nlexp2a|nlexp3|nlgom3|nlgom4|nlinit|nllog3|nllog4|nlog_rd|nlogit|nlogit_p|nlogitgen|nlogittree|nlpred|nobreak|notes_dlg|nptrend|numlabel|numlist|old_ver|olo|olog|ologi|ologi_sw|ologit|ologit_p|ologitp|on|one|onew|onewa|oneway|op_colnm|op_comp|op_diff|op_inv|op_str|opr|opro|oprob|oprob_sw|oprobi|oprobi_p|oprobit|oprobitp|opts_exclusive|order|orthog|orthpoly|ou|out|outf|outfi|outfil|outfile|outs|outsh|outshe|outshee|outsheet|ovtest|pac|palette|parse_dissim|pause|pca|pca_display|pca_estat|pca_p|pca_rotate|pcamat|pchart|pchi|pcorr|pctile|pentium|pergram|personal|peto_st|pkcollapse|pkcross|pkequiv|pkexamine|pkshape|pksumm|plugin|pnorm|poisgof|poiss_lf|poiss_sw|poisso_p|poisson|poisson_estat|post|postclose|postfile|postutil|pperron|prais|prais_e|prais_e2|prais_p|predict|predictnl|preserve|print|prob|probi|probit|probit_estat|probit_p|proc_time|procoverlay|procrustes|procrustes_estat|procrustes_p|profiler|prop|proportion|prtest|prtesti|pwcorr|pwd|qs|qby|qbys|qchi|qladder|qnorm|qqplot|qreg|qreg_c|qreg_p|qreg_sw|qu|quadchk|quantile|que|quer|query|range|ranksum|ratio|rchart|rcof|recast|recode|reg|reg3|reg3_p|regdw|regr|regre|regre_p2|regres|regres_p|regress|regress_estat|regriv_p|remap|ren|rena|renam|rename|renpfix|repeat|reshape|restore|ret|retu|retur|return|rmdir|robvar|roccomp|rocf_lf|rocfit|rocgold|rocplot|roctab|rologit|rologit_p|rot|rota|rotat|rotate|rotatemat|rreg|rreg_p|ru|run|runtest|rvfplot|rvpplot|safesum|sample|sampsi|savedresults|sc|scatter|scm_mine|sco|scob_lf|scob_p|scobi_sw|scobit|scor|score|scoreplot|scoreplot_help|scree|screeplot|screeplot_help|sdtest|sdtesti|se|search|separate|seperate|serrbar|serset|set|set_defaults|sfrancia|sh|she|shel|shell|shewhart|signestimationsample|signrank|signtest|simul|sktest|sleep|slogit|slogit_d2|slogit_p|smooth|snapspan|so|sor|sort|spearman|spikeplot|spikeplt|spline_x|split|sqreg|sqreg_p|sret|sretu|sretur|sreturn|ssc|st|st_ct|st_hc|st_hcd|st_hcd_sh|st_is|st_issys|st_note|st_promo|st_set|st_show|st_smpl|st_subid|stack|stbase|stci|stcox|stcox_estat|stcox_fr|stcox_fr_ll|stcox_p|stcox_sw|stcoxkm|stcstat|stcurv|stcurve|stdes|stem|stepwise|stfill|stgen|stir|stjoin|stmc|stmh|stphplot|stphtest|stptime|strate|streg|streg_sw|streset|sts|stset|stsplit|stsum|sttocc|sttoct|stvary|su|suest|sum|summ|summa|summar|summari|summariz|summarize|sunflower|sureg|survcurv|survsum|svar|svar_p|svmat|svy_disp|svy_dreg|svy_est|svy_est_7|svy_estat|svy_get|svy_gnbreg_p|svy_head|svy_header|svy_heckman_p|svy_heckprob_p|svy_intreg_p|svy_ivreg_p|svy_logistic_p|svy_logit_p|svy_mlogit_p|svy_nbreg_p|svy_ologit_p|svy_oprobit_p|svy_poisson_p|svy_probit_p|svy_regress_p|svy_sub|svy_sub_7|svy_x|svy_x_7|svy_x_p|svydes|svygen|svygnbreg|svyheckman|svyheckprob|svyintreg|svyintrg|svyivreg|svylc|svylog_p|svylogit|svymarkout|svymean|svymlog|svymlogit|svynbreg|svyolog|svyologit|svyoprob|svyoprobit|svyopts|svypois|svypoisson|svyprobit|svyprobt|svyprop|svyratio|svyreg|svyreg_p|svyregress|svyset|svytab|svytest|svytotal|sw|swilk|symmetry|symmi|symplot|sysdescribe|sysdir|sysuse|szroeter|ta|tab|tab1|tab2|tab_or|tabd|tabdi|tabdis|tabdisp|tabi|table|tabodds|tabstat|tabu|tabul|tabula|tabulat|tabulate|te|tes|test|testnl|testparm|teststd|tetrachoric|time_it|timer|tis|tob|tobi|tobit|tobit_p|tobit_sw|token|tokeni|tokeniz|tokenize|total|translate|translator|transmap|treat_ll|treatr_p|treatreg|trim|trnb_cons|trnb_mean|trpoiss_d2|trunc_ll|truncr_p|truncreg|tsappend|tset|tsfill|tsline|tsline_ex|tsreport|tsrevar|tsrline|tsset|tssmooth|tsunab|ttest|ttesti|tut_chk|tut_wait|tutorial|tw|tware_st|two|twoway|twoway__fpfit_serset|twoway__function_gen|twoway__histogram_gen|twoway__ipoint_serset|twoway__ipoints_serset|twoway__kdensity_gen|twoway__lfit_serset|twoway__normgen_gen|twoway__pci_serset|twoway__qfit_serset|twoway__scatteri_serset|twoway__sunflower_gen|twoway_ksm_serset|ty|typ|type|typeof|unab|unabbrev|unabcmd|update|uselabel|var|var_mkcompanion|var_p|varbasic|varfcast|vargranger|varirf|varirf_add|varirf_cgraph|varirf_create|varirf_ctable|varirf_describe|varirf_dir|varirf_drop|varirf_erase|varirf_graph|varirf_ograph|varirf_rename|varirf_set|varirf_table|varlmar|varnorm|varsoc|varstable|varstable_w|varstable_w2|varwle|vec|vec_fevd|vec_mkphi|vec_p|vec_p_w|vecirf_create|veclmar|veclmar_w|vecnorm|vecnorm_w|vecrank|vecstable|verinst|vers|versi|versio|version|view|viewsource|vif|vwls|wdatetof|webdescribe|webseek|webuse|wh|whelp|whi|which|wilc_st|wilcoxon|win|wind|windo|window|winexec|wntestb|wntestq|xchart|xcorr|xi|xmlsav|xmlsave|xmluse|xpose|xsh|xshe|xshel|xshell|xt_iis|xt_tis|xtab_p|xtabond|xtbin_p|xtclog|xtcloglog|xtcloglog_d2|xtcloglog_pa_p|xtcloglog_re_p|xtcnt_p|xtcorr|xtdata|xtdes|xtfront_p|xtfrontier|xtgee|xtgee_elink|xtgee_estat|xtgee_makeivar|xtgee_p|xtgee_plink|xtgls|xtgls_p|xthaus|xthausman|xtht_p|xthtaylor|xtile|xtint_p|xtintreg|xtintreg_d2|xtintreg_p|xtivreg|xtline|xtline_ex|xtlogit|xtlogit_d2|xtlogit_fe_p|xtlogit_pa_p|xtlogit_re_p|xtmixed|xtmixed_estat|xtmixed_p|xtnb_fe|xtnb_lf|xtnbreg|xtnbreg_pa_p|xtnbreg_refe_p|xtpcse|xtpcse_p|xtpois|xtpoisson|xtpoisson_d2|xtpoisson_pa_p|xtpoisson_refe_p|xtpred|xtprobit|xtprobit_d2|xtprobit_re_p|xtps_fe|xtps_lf|xtps_ren|xtps_ren_8|xtrar_p|xtrc|xtrc_p|xtrchh|xtrefe_p|yx|yxview__barlike_draw|yxview_area_draw|yxview_bar_draw|yxview_dot_draw|yxview_dropline_draw|yxview_function_draw|yxview_iarrow_draw|yxview_ilabels_draw|yxview_normal_draw|yxview_pcarrow_draw|yxview_pcbarrow_draw|yxview_pccapsym_draw|yxview_pcscatter_draw|yxview_pcspike_draw|yxview_rarea_draw|yxview_rbar_draw|yxview_rbarm_draw|yxview_rcap_draw|yxview_rcapsym_draw|yxview_rconnected_draw|yxview_rline_draw|yxview_rscatter_draw|yxview_rspike_draw|yxview_spike_draw|yxview_sunflower_draw|zap_s|zinb|zinb_llf|zinb_plf|zip|zip_llf|zip_p|zip_plf|zt_ct_5|zt_hc_5|zt_hcd_5|zt_is_5|zt_iss_5|zt_sho_5|zt_smp_5|ztnb|ztnb_p|ztp|ztp_p|prtab|prchange|eststo|estout|esttab|estadd|estpost|ivregress|xtreg|xtreg_be|xtreg_fe|xtreg_ml|xtreg_pa_p|xtreg_re|xtregar|xtrere_p|xtset|xtsf_ll|xtsf_llti|xtsum|xttab|xttest0|xttobit|xttobit_p|xttrans)\b/dgv,name:"keyword.control.flow.stata"}]},comments:{patterns:[{include:"#comments-double-slash"},{include:"#comments-star"},{include:"#comments-block"},{include:"#comments-triple-slash"}]},"comments-block":{patterns:[{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.stata"}},end:/(\*\/\p{space}+\*[^\n]*)|(\*\/(?!\*))/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.stata"}},name:"comment.block.stata",patterns:[{comment:"this ends and restarts a comment block. but need to catch this so that it doesn't start _another_ level of comment blocks",match:/\*\/\*/dgv},{include:"#docblockr-comment"},{include:"#comments-block"},{include:"#docstring"}]}]},"comments-double-slash":{patterns:[{begin:/(^\/\/|(?<=\p{space})\/\/)(?!\/)/dgv,captures:{"0":{name:"punctuation.definition.comment.stata"}},end:/(?=\n)/dgv,name:"comment.line.double-slash.stata",patterns:[{include:"#docblockr-comment"}]}]},"comments-star":{patterns:[{begin:/^\p{space}*(\*)/dgv,captures:{"0":{name:"punctuation.definition.comment.stata"}},comment:"TODO! need to except out the occasion that a * comes after a /// on the previous line. May be easiest to join with the comment.line.triple-slash.stata below",end:/(?=\n)/dgv,name:"comment.line.star.stata",patterns:[{include:"#docblockr-comment"},{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.line-continuation.stata"},{include:"#comments"}]}]},"comments-triple-slash":{patterns:[{begin:/(^\/\/\/|(?<=\p{space})\/\/\/)/dgv,captures:{"0":{name:"punctuation.definition.comment.stata"}},end:/(?=\n)/dgv,name:"comment.line.triple-slash.stata",patterns:[{include:"#docblockr-comment"}]}]},constants:{patterns:[{include:"#factorvariables"},{match:/\b(\p{Nd}+\.\p{Nd}*([Ee][\-\+]?\p{Nd}+)?)(?=[^a-zA-Z_])/dgv,name:"constant.numeric.float.stata"},{match:/(?<=[^0-9a-zA-Z_])(\.\p{Nd}+([Ee][\-\+]?\p{Nd}+)?)/dgv,name:"constant.numeric.float.stata"},{match:/\b(\p{Nd}+e[\-\+]?\p{Nd}+)/dgiv,name:"constant.numeric.float.stata"},{match:/\b(\p{Nd}+)\b/dgv,name:"constant.numeric.integer.decimal.stata"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\.(?![\.\/]))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.language.missing.stata"},{match:/\b_all\b/dgv,name:"constant.language.allvars.stata"}]},"docblockr-comment":{patterns:[{captures:{"1":{name:"invalid.illegal.name.stata"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(@(error|ERROR|Error))\b/dgv},{captures:{"1":{name:"keyword.docblockr.stata"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(@[\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv}]},docstring:{patterns:[{begin:/'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/'''/dgv,endCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},name:"string.quoted.docstring.stata"},{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},name:"string.quoted.docstring.stata"}]},factorvariables:{patterns:[{match:/\b(i|c|o)\.(?=[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]]|\([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]])/dgv,name:"constant.language.factorvars.stata"},{captures:{"0":{name:"constant.language.factorvars.stata"},"3":{patterns:[{include:"#constants"}]}},match:/\b(i?b)((\p{Nd}+)|n)\.(?=[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]]|\([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]])/dgv},{captures:{"0":{name:"constant.language.factorvars.stata"},"2":{name:"keyword.operator.parentheses.stata"},"3":{patterns:[{include:"#constants"},{include:"#operators"}]},"4":{name:"keyword.operator.parentheses.stata"}},match:/\b(i?b)(\()(#\p{Nd}+|first|last|freq)(\))\.(?=[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]]|\([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]])/dgv},{captures:{"0":{name:"constant.language.factorvars.stata"},"2":{patterns:[{include:"#constants"}]}},match:/\b(i?o?)(\p{Nd}+)\.(?=[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]]|\([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]])/dgv},{captures:{"1":{name:"constant.language.factorvars.stata"},"2":{name:"keyword.operator.parentheses.stata"},"3":{patterns:[{include:"$self"}]},"4":{name:"keyword.operator.parentheses.stata"},"5":{name:"constant.language.factorvars.stata"}},match:/\b(i?o?)(\()([^\n]*?)(\))(\.)(?=[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]]|\([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]])/dgv}]},functions:{patterns:[{begin:/\b((abbrev|abs|acos|acosh|asin|asinh|atan|atan2|atanh|autocode|betaden|binomial|binomialp|binomialtail|binormalbofd|byteorder|c|cauchy|cauchyden|cauchytail|Cdhms|ceil|char|chi2|chi2den|chi2tail|Chms|cholesky|chop|clip|clock|Clock|cloglog|Cmdyhms|cofC|Cofc|cofd|Cofd|coleqnumb|collatorlocale|collatorversion|colnfreeparms|colnumb|colsof|comb|cond|corr|cos|cosh|daily|date|day|det|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|dhms|diag|diag0cnt|digamma|dofb|dofc|dofC|dofh|dofm|dofq|dofw|dofy|dow|doy|dunnettprob|e|el|epsdouble|epsfloat|exp|exponential|exponentialden|exponentialtail|F|Fden|fileexists|fileread|filereaderror|filewrite|float|floor|fmtwidth|Ftail|gammaden|gammap|gammaptail|get|hadamard|halfyear|halfyearly|hh|hhC|hms|hofd|hours|hypergeometric|hypergeometricp|I|ibeta|ibetatail|igaussian|igaussianden|igaussiantail|indexnot|inlist|inrange|int|inv|invbinomial|invbinomialtail|invcauchy|invcauchytail|invchi2|invchi2tail|invcloglog|invdunnettprob|invexponential|invexponentialtail|invF|invFtail|invgammap|invgammaptail|invibeta|invibetatail|invigaussian|invigaussiantail|invlaplace|invlaplacetail|invlogistic|invlogistictail|invlogit|invnbinomial|invnbinomialtail|invnchi2|invnchi2tail|invnF|invnFtail|invnibeta|invnormal|invnt|invnttail|invpoisson|invpoissontail|invsym|invt|invttail|invtukeyprob|invweibull|invweibullph|invweibullphtail|invweibulltail|irecode|issymmetric|itrim|J|laplace|laplaceden|laplacetail|length|ln|lncauchyden|lnfactorial|lngamma|lnigammaden|lnigaussianden|lniwishartden|lnlaplaceden|lnmvnormalden|lnnormal|lnnormalden|lnwishartden|log|log10|logistic|logisticden|logistictail|logit|lower|ltrim|matmissing|matrix|matuniform|max|maxbyte|maxdouble|maxfloat|maxint|maxlong|mdy|mdyhms|mi|min|minbyte|mindouble|minfloat|minint|minlong|minutes|missing|mm|mmC|mod|mofd|month|monthly|mreldif|msofhours|msofminutes|msofseconds|nbetaden|nbinomial|nbinomialp|nbinomialtail|nchi2|nchi2den|nchi2tail|nF|nFden|nFtail|nibeta|normal|normalden|npnchi2|npnF|npnt|nt|ntden|nttail|nullmat|plural|poisson|poissonp|poissontail|proper|qofd|quarter|quarterly|r|rbeta|rbinomial|rcauchy|rchi2|real|recode|regexs|reldif|replay|return|reverse|rexponential|rgamma|rhypergeometric|rigaussian|rlaplace|rlogistic|rnbinomial|rnormal|round|roweqnumb|rownfreeparms|rownumb|rowsof|rpoisson|rt|rtrim|runiform|runiformint|rweibull|rweibullph|s|scalar|seconds|sign|sin|sinh|smallestdouble|soundex|sqrt|ss|ssC|string|stritrim|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrpos|strrtrim|strtoname|strtrim|strupper|subinstr|subinword|substr|sum|sweep|t|tan|tanh|tc|tC|td|tden|th|tin|tm|tobytes|tq|trace|trigamma|trim|trunc|ttail|tukeyprob|tw|twithin|uchar|udstrlen|udsubstr|uisdigit|uisletter|upper|ustrcompare|ustrcompareex|ustrfix|ustrfrom|ustrinvalidcnt|ustrleft|ustrlen|ustrlower|ustrltrim|ustrnormalize|ustrpos|ustrregexs|ustrreverse|ustrright|ustrrpos|ustrrtrim|ustrsortkey|ustrsortkeyex|ustrtitle|ustrto|ustrtohex|ustrtoname|ustrtrim|ustrunescape|ustrupper|ustrword|ustrwordcount|usubinstr|usubstr|vec|vecdiag|week|weekly|weibull|weibullden|weibullph|weibullphden|weibullphtail|weibulltail|wofd|word|wordbreaklocale|wordcount|year|yearly|yh|ym|yofd|yq|yw)|([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}))(\()/dgv,beginCaptures:{"2":{name:"support.function.builtin.stata"},"3":{name:"support.function.custom.stata"},"4":{name:"punctuation.definition.parameters.begin.stata"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.stata"}},patterns:[{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{begin:/\(/dgv,beginCaptures:{"0":{name:"keyword.operator.parentheses.stata"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.operator.parentheses.stata"}},patterns:[{include:"#ascii-regex-functions"},{include:"#unicode-regex-functions"},{include:"#functions"},{include:"#subscripts"},{include:"#constants"},{include:"#comments"},{include:"#operators"},{include:"#macro-local"},{include:"#macro-global"},{include:"#string-compound"},{include:"#string-regular"},{include:"#builtin_variables"},{include:"#macro-commands"},{include:"#braces-without-error"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"}]},{include:"#ascii-regex-functions"},{include:"#unicode-regex-functions"},{include:"#functions"},{include:"#subscripts"},{include:"#constants"},{include:"#comments"},{include:"#operators"},{include:"#macro-local"},{include:"#macro-global"},{include:"#string-compound"},{include:"#string-regular"},{include:"#builtin_variables"},{include:"#macro-commands"},{include:"#braces-without-error"}]}]},"macro-commands":{patterns:[{begin:/\b(loc(al|a)?)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}'\`\$\(\)\{\}]+)\p{space}*(?=:|=)/dgv,beginCaptures:{"1":{name:"keyword.macro.stata"},"3":{patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]}},end:/\n/dgv,patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.arithmetic.stata"}},end:/(?=\n)/dgv,patterns:[{include:"$self"}]},{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.arithmetic.stata"}},end:/(?=\n)/dgv,patterns:[{include:"#macro-extended-functions"}]}]},{begin:/\b(gl(obal|oba|ob|o)?)\p{space}+(?=[\p{L}\p{M}\p{N}\p{Pc}\`\$])/dgv,beginCaptures:{"1":{name:"keyword.macro.stata"}},end:/(\})|(?="|\p{space}|\n|\/|,|=)/dgv,patterns:[{include:"#reserved-names"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9_]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"entity.name.type.class.stata"},{include:"#macro-local"},{include:"#macro-global"}]},{begin:/\b(loc(al|a)?)\p{space}+(\+\+|--)?(?=[\p{L}\p{M}\p{N}\p{Pc}\`\$])/dgv,beginCaptures:{"1":{name:"keyword.macro.stata"},"3":{name:"keyword.operator.arithmetic.stata"}},end:/(?="|\p{space}|\n|\/|,|=)/dgv,patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},{begin:/\b(tempvar|tempname|tempfile)\p{space}*(?=\p{space})/dgv,beginCaptures:{"1":{name:"keyword.macro.stata"}},end:/\n/dgv,patterns:[{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.block.stata"},{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},{begin:/\b(ma(cro|cr|c)?)\p{space}+(drop|l(ist|is|i)?)\p{space}*(?=\p{space})/dgv,beginCaptures:{"0":{name:"keyword.macro.stata"}},end:/\n/dgv,patterns:[{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.block.stata"},{match:/\*/dgv,name:"keyword.operator.arithmetic.stata"},{include:"#constants"},{include:"#macro-global"},{include:"#macro-local"},{include:"#comments"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]}]},"macro-extended-functions":{patterns:[{match:/\b(properties)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(t(ype|yp|y)?|f(ormat|orma|orm|or|o)?|val(ue|u)?\p{space}+l(able|abl|ab|a)?|var(iable|iabl|iab|ia|i)?\p{space}+l(abel|abe|ab|a)?|data\p{space}+l(able|abl|ab|a)?|sort(edby|edb|ed|e)?|lab(el|e)?|maxlength|constraint|char)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(permname)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(adosubdir|dir|files?|dirs?|other|sysdir)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(env(ironment|ironmen|ironme|ironm|iron|iro|ir|i)?)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(all\p{space}+(globals|scalars|matrices)|((numeric|string)\p{space}+scalars))\b/dgv,name:"keyword.macro.extendedfcn.stata"},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"},"2":{name:"keyword.macro.extendedfcn.stata"},"3":{name:"entity.name.type.class.stata"}},match:/\b(list)\p{space}+(uniq|dups|sort|clean|retok(enize|eniz|eni|en|e)?|sizeof)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})/dgv},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"},"2":{name:"entity.name.type.class.stata"},"3":{name:"keyword.operator.list.stata"},"4":{name:"entity.name.type.class.stata"}},match:/\b(list)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})\p{space}+(\||&|-|===|==|in)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})/dgv},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"},"2":{name:"punctuation.definition.string.begin.stata"},"3":{name:"string.quoted.double.stata"},"4":{name:"punctuation.definition.string.end.stata"},"5":{name:"keyword.macro.extendedfcn.stata"},"6":{name:"entity.name.type.class.stata"}},match:/\b(list\p{space}+posof)\p{space}+(")([\p{L}\p{M}\p{N}\p{Pc}]+)(")\p{space}+(in)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})/dgv},{match:/\b(rown(ames|ame|am|a)?|coln(ames|ame|am|a)?|rowf(ullnames|ullname|ullnam|ullna|ulln|ull|ul|u)?|colf(ullnames|ullname|ullnam|ullna|ulln|ull|ul|u)?|roweq?|coleq?|rownumb|colnumb|roweqnumb|coleqnumb|rownfreeparms|colnfreeparms|rownlfs|colnlfs|rowsof|colsof|rowvarlist|colvarlist|rowlfnames|collfnames)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(tsnorm)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"},"7":{patterns:[{include:"#macro-local"},{include:"#macro-global"}]}},match:/\b((copy|(ud|u)?strlen)\p{space}+(loc(al|a)?|gl(obal|oba|ob|o)?))\p{space}+([^']+)/dgv},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"}},match:/\b(word\p{space}+count)/dgv},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"},"2":{patterns:[{include:"#macro-local"},{include:"#constants"}]},"3":{name:"keyword.macro.extendedfcn.stata"}},match:/(word|piece)\p{space}+([\p{space}\`'\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(of)/dgv},{begin:/\b(subinstr\p{space}+(loc(al|a)?|gl(obal|oba|ob|o)?))\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})/dgv,beginCaptures:{"1":{name:"keyword.macro.extendedfcn.stata"},"5":{name:"entity.name.type.class.stata"}},end:/(?=\/\/|\n)/dgv,patterns:[{include:"#macro-local"},{include:"#macro-global"},{include:"#string-compound"},{include:"#string-regular"},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{name:"keyword.macro.extendedfcn.stata"},"4":{name:"entity.name.type.class.stata"},"5":{name:"punctuation.definition.parameters.end.stata"}},match:/(count|coun|cou|co|c)(\()(local|loca|loc|global|globa|glob|glo|gl)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})(\))/dgv}]},{include:"#comments"},{include:"#macro-local"},{include:"#macro-global"},{include:"$self"}]},"macro-global":{patterns:[{begin:/(\$)(\{)/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-global"},{include:"#comments-block"},{begin:/[^\p{L}\p{M}\p{N}\p{Pc}]/dgv,end:/\n|(?=\})/dgv,name:"comment.line.stata"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,32}/dgv,name:"entity.name.type.class.stata"}]},{begin:/\$/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-global"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9_]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}|_[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]}]},"macro-global-escaped":{patterns:[{begin:/(\\\$)(\\\{)?/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/(\\\})|(?="|\p{space}|\n|\/|,)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-global"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9_]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}|_[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]}]},"macro-local":{patterns:[{begin:/(`)(=)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.stata"},"2":{name:"keyword.operator.comparison.stata"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"$self"}]},{begin:/(`)(:)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.stata"},"2":{name:"keyword.operator.comparison.stata"}},contentName:"meta.macro-extended-function.stata",end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-extended-functions"},{include:"#constants"},{include:"#string-compound"},{include:"#string-regular"}]},{begin:/(`)(macval)(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.stata"},"2":{name:"support.function.builtin.stata"},"3":{name:"punctuation.definition.parameters.begin.stata"}},contentName:"meta.macro-extended-function.stata",end:/(\))(')/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.begin.stata"},"2":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-global"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]},{begin:/`(?!")/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},patterns:[{match:/\+\+|--/dgv,name:"keyword.operator.arithmetic.stata"},{include:"#macro-local"},{include:"#macro-global"},{include:"#comments-block"},{begin:/[^\p{L}\p{M}\p{N}\p{Pc}]/dgv,end:/\n|(?=')/dgv,name:"comment.line.stata"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]}]},"macro-local-escaped":{patterns:[{begin:/\\`(?!")/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},comment:"appropriately color macros that have embedded escaped `,', and $ characters for lazy evaluation",end:/\\'|'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-global"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]}]},"macro-local-identifiers":{patterns:[{match:/[^\p{L}\p{M}\p{N}\p{Pc}'\`\$\(\)\p{space}]/dgv,name:"invalid.illegal.name.stata"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{32,}/dgv,name:"invalid.illegal.name.stata"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]},operators:{patterns:[{comment:"++ and -- must come first to support ligatures",match:/\+\+|--|\+|-|\*|\^/dgv,name:"keyword.operator.arithmetic.stata"},{comment:"match division operator but not path separator",match:/(?<![[\p{L}\p{M}\p{N}\p{Pc}\.]&&[^0-9]])\/(?![[\p{L}\p{M}\p{N}\p{Pc}\.]&&[^0-9]]|(?=\n?$))/dgv,name:"keyword.operator.arithmetic.stata"},{comment:"match division operator but not path separator",match:/(?<![[\p{L}\p{M}\p{N}\p{Pc}\.]&&[^0-9]])\\(?![[\p{L}\p{M}\p{N}\p{Pc}\.]&&[^0-9]]|(?=\n?$))/dgv,name:"keyword.operator.matrix.addrow.stata"},{match:/\|\|/dgv,name:"keyword.operator.graphcombine.stata"},{match:/&|\|/dgv,name:"keyword.operator.logical.stata"},{match:/(?:<=|>=|:=|==|!=|~=|<|>|=|!!|!)/dgv,name:"keyword.operator.comparison.stata"},{match:/\(|\)/dgv,name:"keyword.operator.parentheses.stata"},{match:/(##|#)/dgv,name:"keyword.operator.factor-variables.stata"},{match:/%/dgv,name:"keyword.operator.format.stata"},{match:/:/dgv,name:"punctuation.separator.key-value"},{match:/\[/dgv,name:"punctuation.definition.parameters.begin.stata"},{match:/\]/dgv,name:"punctuation.definition.parameters.end.stata"},{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"},{match:/;/dgv,name:"keyword.operator.delimiter.stata"}]},"reserved-names":{patterns:[{match:/\b(_all|_b|byte|_coef|_cons|double|float|if|in|int|long|_n|_N|_pi|_pred|_rc|_skip|str[0-9]+|strL|using|with)\b/dgv,name:"invalid.illegal.name.stata"},{match:/[^\p{L}\p{M}\p{N}\p{Pc}'\`\$\(\)\p{space}]/dgv,name:"invalid.illegal.name.stata"},{match:/[0-9][\p{L}\p{M}\p{N}\p{Pc}]{31,}/dgv,name:"invalid.illegal.name.stata"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{33,}/dgv,name:"invalid.illegal.name.stata"}]},"string-compound":{patterns:[{begin:/`"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/"'|(?=\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},name:"string.quoted.double.compound.stata",patterns:[{comment:"This must come before #string-regular and #string-compound to accurately color `\"\"\"' in strings",match:/"/dgv,name:"string.quoted.double.compound.stata"},{comment:"see https://github.com/kylebarron/language-stata/issues/53",match:/```(?=[^']*")/dgv,name:"meta.markdown.code.block.stata"},{include:"#string-regular"},{include:"#string-compound"},{include:"#macro-local-escaped"},{include:"#macro-global-escaped"},{include:"#macro-local"},{include:"#macro-global"}]}]},"string-regular":{patterns:[{begin:/(?<!`)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/(")(')?|(?=\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.stata"},"2":{name:"invalid.illegal.punctuation.stata"}},name:"string.quoted.double.stata",patterns:[{comment:"see https://github.com/kylebarron/language-stata/issues/53",match:/```(?=[^']*")/dgv,name:"meta.markdown.code.block.stata"},{include:"#macro-local-escaped"},{include:"#macro-global-escaped"},{include:"#macro-local"},{include:"#macro-global"}]}]},subscripts:{patterns:[{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}'])(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.stata"}},comment:"highlight expressions, like [_n], when using subscripts on a variable",end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.stata"}},name:"meta.subscripts.stata",patterns:[{include:"#macro-local"},{include:"#macro-global"},{include:"#builtin_variables"},{include:"#operators"},{include:"#constants"},{include:"#functions"}]}]},"unicode-regex-character-class":{patterns:[{match:/\\[wWsSdD]|\./dgv,name:"constant.character.character-class.stata"},{match:/\\[^\n]/dgv,name:"constant.character.escape.backslash.stata"},{begin:/(\[)(\^)?/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.stata"},"2":{name:"keyword.operator.negation.stata"}},end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.character-class.stata"}},name:"constant.other.character-class.set.stata",patterns:[{include:"#unicode-regex-character-class"},{captures:{"2":{name:"constant.character.escape.backslash.stata"},"4":{name:"constant.character.escape.backslash.stata"}},match:/((\\[^\n])|[^\n])-((\\[^\n])|[^\]])/dgv,name:"constant.other.character-class.range.stata"}]}]},"unicode-regex-functions":{patterns:[{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#unicode-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{name:"invalid.illegal.punctuation.stata"},"9":{patterns:[{include:"#constants"},{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"}]},"10":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexm with regular quotes i.e. \" ",match:/\b(ustrregexm)(\()([^\,]+)(,)\p{space}*(")([^"]+)("(')?)([\,0-9\p{space}]*)?\p{space}*(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#unicode-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{patterns:[{include:"#constants"},{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"}]},"9":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexm with compound quotes",match:/\b(ustrregexm)(\()([^\,]+)(,)\p{space}*(`")([^"]+)("')([\,0-9\p{space}]*)?\p{space}*(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#unicode-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{name:"invalid.illegal.punctuation.stata"},"9":{patterns:[{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"},{include:"#constants"}]},"10":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexr with regular quotes i.e. \" ",match:/\b(ustrregexrf|ustrregexra)(\()([^\,]+)(,)\p{space}*(")([^"]+)("(')?)\p{space}*([^\)]*)(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#unicode-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{patterns:[{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"},{include:"#constants"}]},"9":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexr with compound quotes i.e. `\"text\"' ",match:/\b(ustrregexrf|ustrregexra)(\()([^\,]+)(,)\p{space}*(`")([^"]+)("')\p{space}*([^\)]*)(\))/dgv}]},"unicode-regex-internals":{patterns:[{match:/\\[bBAZzG]|\^/dgv,name:"keyword.control.anchor.stata"},{comment:"matched when not a global",match:/\$(?![[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9_]]\p{L}\p{M}\p{N}\p{Pc}\{0\,31\}\|_\p{L}\p{M}\p{N}\p{Pc}\{1\,31\}\{])/dgv,name:"keyword.control.anchor.stata"},{match:/\\[1-9][0-9]?/dgv,name:"keyword.other.back-reference.stata"},{match:/[\?\+\*][\?\+]?|\{(\p{Nd}+,\p{Nd}+|\p{Nd}+,|,\p{Nd}+|\p{Nd}+)\}\??/dgv,name:"keyword.operator.quantifier.stata"},{match:/\|/dgv,name:"keyword.operator.or.stata"},{begin:/\((?!\?#|\?=|\?!|\?<=|\?<!)/dgv,end:/\)/dgv,name:"keyword.operator.group.stata",patterns:[{include:"#unicode-regex-internals"}]},{begin:/\(\?#/dgv,end:/\)/dgv,name:"comment.block.stata"},{comment:"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.",match:/(?<=^|\p{space})#\p{space}[a-zA-Z0-9\,\. \t\?\!-\:[^\x00-\x7F]]*(?=\n?$)/dgv,name:"comment.line.number-sign.stata"},{match:/\(\?[iLmsux]+\)/dgv,name:"keyword.other.option-toggle.stata"},{begin:/(\()((\?=)|(\?!)|(\?<=)|(\?<!))/dgv,beginCaptures:{"1":{name:"keyword.operator.group.stata"},"2":{name:"punctuation.definition.group.assertion.stata"},"3":{name:"keyword.assertion.look-ahead.stata"},"4":{name:"keyword.assertion.negative-look-ahead.stata"},"5":{name:"keyword.assertion.look-behind.stata"},"6":{name:"keyword.assertion.negative-look-behind.stata"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.operator.group.stata"}},name:"meta.group.assertion.stata",patterns:[{include:"#unicode-regex-internals"}]},{begin:/(\()(\?\(([1-9][0-9]?|[a-zA-Z_][a-zA-Z_0-9]*)\))/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.stata"},"2":{name:"punctuation.definition.group.assertion.conditional.stata"},"3":{name:"entity.name.section.back-reference.stata"}},comment:"we can make this more sophisticated to match the | character that separates yes-pattern from no-pattern, but it's not really necessary.",end:/(\))/dgv,name:"meta.group.assertion.conditional.stata",patterns:[{include:"#unicode-regex-internals"}]},{include:"#unicode-regex-character-class"},{include:"#macro-local"},{include:"#macro-global"},{comment:"NOTE: Error if I have .+ No idea why but it works fine it seems with just .",match:/[^\n]/dgv,name:"string.quoted.stata"}]}},scopeName:"source.stata",embeddedLangs:["sql"],aliases:undefined})
4
+ const lang = Object.freeze({displayName:"Stata",fileTypes:["do","ado","mata"],foldingStartMarker:/\{\p{space}*(?=\n?$)/dgv,foldingStopMarker:/^\p{space}*\}/dgv,name:"stata",patterns:[{include:"#ascii-regex-functions"},{include:"#unicode-regex-functions"},{include:"#constants"},{include:"#functions"},{include:"#comments"},{include:"#subscripts"},{include:"#operators"},{include:"#macro-local"},{include:"#macro-global"},{include:"#string-compound"},{include:"#string-regular"},{include:"#builtin_variables"},{include:"#macro-commands"},{comment:"keywords that delimit flow conditionals",match:/\b(if|else if|else)\b/dgv,name:"keyword.control.conditional.stata"},{captures:{"1":{name:"storage.type.scalar.stata"}},match:/^\p{space}*(sca(lar|la|l)?(\p{space}+de(fine|fin|fi|f)?)?)\p{space}+(?!(drop|dir?|l(ist|is|i)?)\p{space}+)/dgv},{begin:/\b(mer(ge|g)?)\p{space}+(1|m|n)(:)(1|m|n)/dgv,beginCaptures:{"1":{name:"keyword.control.flow.stata"},"3":{patterns:[{include:"#constants"},{match:/m|n/dgv,name:""}]},"4":{name:"punctuation.separator.key-value"},"5":{patterns:[{include:"#constants"},{match:/m|n/dgv,name:""}]}},end:/using/dgv,patterns:[{include:"#builtin_variables"},{include:"#macro-local"},{include:"#macro-global"},{include:"#comments"}]},{captures:{"1":{name:"keyword.control.flow.stata"},"2":{patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},"3":{name:"keyword.control.flow.stata"}},match:/\b(foreach)\p{space}+((?!in|of)[^\n]+)\p{space}+(in|of var(list|lis|li|l)?|of new(list|lis|li|l)?|of num(list|lis|li|l)?)\b/dgv},{begin:/\b(foreach)\p{space}+((?!in|of)[^\n]+)\p{space}+(of loc(al|a)?|of glo(bal|ba|b)?)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.flow.stata"},"2":{patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},"3":{name:"keyword.control.flow.stata"}},end:/(?=\p{space}*\{)/dgv,patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},{begin:/\b(forvalues|forvalue|forvalu|forval|forva|forv)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.flow.stata"}},end:/\p{space}*(=)\p{space}*([^\{]+)\p{space}*|(?=\n)/dgv,endCaptures:{"1":{name:"keyword.operator.assignment.stata"},"2":{patterns:[{include:"#constants"},{include:"#operators"},{include:"#macro-local"},{include:"#macro-global"}]}},patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},{comment:"keywords that delimit loops",match:/\b(while|continue)\b/dgv,name:"keyword.control.flow.stata"},{captures:{"1":{name:"keyword.other.stata"}},comment:"keywords that haven't fit into other groups (yet).",match:/\b(as|ass|asse|asser|assert)\b/dgv},{comment:"prefixes that require a colon",match:/\b(by(sort|sor|so|s)?|statsby|rolling|bootstrap|jackknife|permute|simulate|svy|mi est(imate|imat|ima|im|i)?|nestreg|stepwise|xi|fp|mfp|vers(ion|io|i)?)\b/dgv,name:"storage.type.function.stata"},{comment:"prefixes that don't need a colon",match:/\b(qui(etly|etl|et|e)?|n(oisily|oisil|oisi|ois|oi|o)?|cap(ture|tur|tu|t)?)\b:?/dgv,name:"keyword.control.flow.stata"},{captures:{"1":{name:"storage.type.function.stata"},"3":{name:"storage.type.function.stata"},"7":{name:"entity.name.function.stata"}},match:/\p{space}*(pr(ogram|ogra|ogr|og|o)?)\p{space}+((di(r)?|drop|l(ist|is|i)?)\p{space}+)([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31})/dgv},{begin:/^\p{space}*(pr(ogram|ogra|ogr|og|o)?)\p{space}+(de(fine|fin|fi|f)?\p{space}+)?/dgv,beginCaptures:{"1":{name:"storage.type.function.stata"},"3":{name:"storage.type.function.stata"}},end:/(?=,|\n|\/)/dgv,patterns:[{include:"#macro-local"},{include:"#macro-global"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"entity.name.function.stata"},{match:/[^A-za-z_0-9\,\n\/ ]+/dgv,name:"invalid.illegal.name.stata"}]},{captures:{"1":"keyword.functions.data.stata.test"},match:/\b(form(at|a)?)\p{space}*([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31})*\p{space}*(%)(-)?(0)?([0-9]+)([^\n])([0-9]+)(e|f|g)(c)?/dgv},{include:"#braces-with-error"},{begin:/(?=syntax)/dgv,end:/\n/dgv,patterns:[{begin:/syntax/dgv,beginCaptures:{"0":{name:"keyword.functions.program.stata"}},comment:"color before the comma",end:/(?=,|\n)/dgv,patterns:[{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.block.stata"},{match:/\[/dgv,name:"punctuation.definition.parameters.begin.stata"},{match:/\]/dgv,name:"punctuation.definition.parameters.end.stata"},{match:/\b(varlist|varname|newvarlist|newvarname|namelist|name|anything)\b/dgv,name:"entity.name.type.class.stata"},{captures:{"2":{name:"entity.name.type.class.stata"},"3":{name:"keyword.operator.arithmetic.stata"}},match:/\b((if|in|using|fweight|aweight|pweight|iweight))\b(\/)?/dgv},{captures:{"1":{name:"keyword.operator.arithmetic.stata"},"2":{name:"entity.name.type.class.stata"}},match:/(\/)?(exp)/dgv},{include:"#constants"},{include:"#operators"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#builtin_variables"}]},{begin:/,/dgv,beginCaptures:{"0":{name:"punctuation.definition.variable.begin.stata"}},comment:"things to color after the comma",end:/(?=\n)/dgv,patterns:[{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.block.stata"},{begin:/([^\p{space}\[\]]+)(\()/dgv,beginCaptures:{"1":{comment:"these are the names that become macros",patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},"2":{name:"keyword.operator.parentheses.stata"}},comment:"color options with parentheses",end:/\)/dgv,endCaptures:{"0":{name:"keyword.operator.parentheses.stata"}},patterns:[{captures:{"0":{name:"support.type.stata"}},comment:"the first word is often a type",match:/\b(integer|intege|integ|inte|int|real|string|strin|stri|str)\b/dgv},{include:"#constants"},{include:"#operators"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#builtin_variables"}]},{include:"#macro-local-identifiers"},{include:"#constants"},{include:"#operators"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#builtin_variables"}]}]},{captures:{"1":{name:"keyword.functions.data.stata"}},comment:"one-word commands",match:/\b(sa(v|ve)|saveold|destring|tostring|u(se|s)?|note(s)?|form(at|a)?)\b/dgv},{comment:"programming commands",match:/\b(exit|end)\b/dgv,name:"keyword.functions.data.stata"},{captures:{"1":{name:"keyword.functions.data.stata"},"2":{patterns:[{include:"#macro-local"}]},"4":{name:"invalid.illegal.name.stata"},"5":{name:"keyword.operator.assignment.stata"}},match:/\b(replace)\p{space}+([^\=]+)\p{space}*((==)|(=))/dgv},{captures:{"1":{name:"keyword.functions.data.stata"},"3":{name:"support.type.stata"},"5":{patterns:[{include:"#reserved-names"},{include:"#macro-local"}]},"7":{name:"invalid.illegal.name.stata"},"8":{name:"keyword.operator.assignment.stata"}},match:/\b(g(enerate|enerat|enera|ener|ene|en|e)?|egen)\p{space}+((byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)\p{space}+)?([^\=\p{space}]+)\p{space}*((==)|(=))/dgv},{captures:{"1":{name:"keyword.functions.data.stata"},"3":{name:"support.type.stata"}},match:/\b(set ty(pe|p)?)\p{space}+((byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)?\p{space}+)\b/dgv},{captures:{"1":{name:"keyword.functions.data.stata"},"3":{name:"keyword.functions.data.stata"},"6":{name:"punctuation.definition.string.begin.stata"},"7":{patterns:[{include:"#string-compound"},{include:"#macro-local-escaped"},{include:"#macro-global-escaped"},{include:"#macro-local"},{include:"#macro-global"},{match:/[^\`\$]{81,}/dgv,name:"invalid.illegal.name.stata"},{match:/[^\n]/dgv,name:"string.quoted.double.compound.stata"}]},"8":{name:"punctuation.definition.string.begin.stata"}},match:/\b(la(bel|be|b)?)\p{space}+(var(iable|iabl|iab|ia|i)?)\p{space}+([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31})\p{space}+(`")([^\n]+)("')/dgv},{captures:{"1":{name:"keyword.functions.data.stata"},"3":{name:"keyword.functions.data.stata"},"6":{name:"punctuation.definition.string.begin.stata"},"7":{patterns:[{include:"#macro-local-escaped"},{include:"#macro-global-escaped"},{include:"#macro-local"},{include:"#macro-global"},{match:/[^\`\$]{81,}/dgv,name:"invalid.illegal.name.stata"},{match:/[^\n]/dgv,name:"string.quoted.double.stata"}]},"8":{name:"punctuation.definition.string.begin.stata"}},match:/\b(la(bel|be|b)?)\p{space}+(var(iable|iabl|iab|ia|i)?)\p{space}+([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31})\p{space}+(")([^\n]+)(")/dgv},{captures:{"1":{name:"keyword.functions.data.stata"},"3":{name:"keyword.functions.data.stata"}},match:/\b(la(bel|be|b)?)\p{space}+(da(ta|t)?|var(iable|iabl|iab|ia|i)?|de(f|fi|fin|fine)?|val(ues|ue|u)?|di(r)?|l(ist|is|i)?|copy|drop|save|lang(uage|uag|ua|u)?)\b/dgv},{begin:/\b(drop|keep)\b(?!\p{space}+(if|in)\b)/dgv,beginCaptures:{"1":{name:"keyword.functions.data.stata"}},end:/\n/dgv,patterns:[{match:/\b(if|in)\b/dgv,name:"invalid.illegal.name.stata"},{include:"#comments"},{include:"#macro-local"},{include:"#macro-global"},{include:"#operators"}]},{captures:{"1":{name:"keyword.functions.data.stata"},"2":{name:"keyword.functions.data.stata"}},match:/\b(drop|keep)\p{space}+(if|in)\b/dgv},{begin:/^\p{space}*mata:?\p{space}*(?=\n?$)/dgv,comment:"won't match single-line Mata statements",end:/^\p{space}*end\p{space}*(?=\n?$)\n?/dgv,name:"meta.embedded.block.mata",patterns:[{match:/(?<![^\$\p{space}])(version|pragma|if|else|for|while|do|break|continue|goto|return)(?=\p{space})/dgv,name:"keyword.control.mata"},{captures:{"1":{name:"storage.type.eltype.mata"},"4":{name:"storage.type.orgtype.mata"}},match:/\b(transmorphic|string|numeric|real|complex|(pointer(\([^\)]+\))?))\p{space}+(matrix|vector|rowvector|colvector|scalar)\b/dgv,name:"storage.type.mata"},{comment:"need to end with whitespace character here or last group doesn't match",match:/\b(transmorphic|string|numeric|real|complex|(pointer(\([^\)]+\))?))\p{space}/dgv,name:"storage.type.eltype.mata"},{match:/\b(matrix|vector|rowvector|colvector|scalar)\b/dgv,name:"storage.type.orgtype.mata"},{match:/!|\+\+|--|&|'|\?|\\|::|,|\.\.|\||=|==|>=|<=|<|>|!=|#|\+|-|\*|\^|\//dgv,name:"keyword.operator.mata"},{include:"$self"}]},{begin:/\b(odbc)\b/dgv,beginCaptures:{"0":{name:"keyword.control.flow.stata"}},end:/\n/dgv,patterns:[{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.block.stata"},{begin:/(exec?)(\(")/dgv,beginCaptures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"}},end:/"\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.stata"}},patterns:[{include:"source.sql"}]},{include:"$self"}]},{include:"#commands-other"}],repository:{"ascii-regex-character-class":{patterns:[{match:/\\[\*\+\?\-\.\^\$\|\[\]\(\)\\]/dgv,name:"constant.character.escape.backslash.stata"},{match:/\./dgv,name:"constant.character.character-class.stata"},{match:/\\[^\n]/dgv,name:"illegal.invalid.character-class.stata"},{begin:/(\[)(\^)?/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.stata"},"2":{name:"keyword.operator.negation.stata"}},end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.character-class.stata"}},name:"constant.other.character-class.set.stata",patterns:[{include:"#ascii-regex-character-class"},{captures:{"2":{name:"constant.character.escape.backslash.stata"},"4":{name:"constant.character.escape.backslash.stata"}},match:/((\\[^\n])|[^\n])-((\\[^\n])|[^\]])/dgv,name:"constant.other.character-class.range.stata"}]}]},"ascii-regex-functions":{patterns:[{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#ascii-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{name:"invalid.illegal.punctuation.stata"},"9":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexm with regular quotes i.e. \" ",match:/\b(regexm)(\()([^\,]+)(,)\p{space}*(")([^"]+)("(')?)\p{space}*(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#ascii-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexm with compound quotes",match:/\b(regexm)(\()([^\,]+)(,)\p{space}*(`")([^"]+)("')\p{space}*(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#ascii-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{name:"invalid.illegal.punctuation.stata"},"9":{patterns:[{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"10":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexr with regular quotes i.e. \" ",match:/\b(regexr)(\()([^\,]+)(,)\p{space}*(")([^"]+)("(')?)\p{space}*([^\)]*)(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#ascii-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{patterns:[{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"9":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexr with compound quotes i.e. `\"text\"' ",match:/\b(regexr)(\()([^\,]+)(,)\p{space}*(`")([^"]+)("')\p{space}*([^\)]*)(\))/dgv}]},"ascii-regex-internals":{patterns:[{match:/\^/dgv,name:"keyword.control.anchor.stata"},{comment:"matched when not a global, but must be ascii",match:/\$(?![a-zA-Z_\{])/dgv,name:"keyword.control.anchor.stata"},{match:/[\?\+\*]/dgv,name:"keyword.control.quantifier.stata"},{match:/\|/dgv,name:"keyword.control.or.stata"},{begin:/(\()(?=\?|\*|\+)/dgv,beginCaptures:{"1":{name:"keyword.operator.group.stata"}},contentName:"invalid.illegal.regexm.stata",end:/\)/dgv,endCaptures:{"0":{name:"keyword.operator.group.stata"}}},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.group.stata"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.operator.group.stata"}},patterns:[{include:"#ascii-regex-internals"}]},{include:"#ascii-regex-character-class"},{include:"#macro-local"},{include:"#macro-global"},{comment:"NOTE: Error if I have .+ No idea why but it works fine it seems with just .",match:/[^\n]/dgv,name:"string.quoted.stata"}]},"braces-with-error":{patterns:[{begin:/(\{)\p{space}*([^\n]*)(?=\n)/dgv,beginCaptures:{"1":{name:"keyword.control.block.begin.stata"},"2":{patterns:[{include:"#comments"},{match:/[^\n]+/dgv,name:"illegal.invalid.name.stata"}]}},comment:"correct with nothing else on the line but whitespace; before and after; before; after; correct",end:/^\p{space}*(\})\p{space}*(?=\n?$)|^\p{space}*([^\*"\}]+)\p{space}+(\})\p{space}*([^\*"\}\/\n]+)|^\p{space}*([^"\*\}]+)\p{space}+(\})|\p{space}*(\})\p{space}*([^"\*\}\/\n]+)|(\})(?=\n?$)/dgv,endCaptures:{"1":{name:"keyword.control.block.end.stata"},"2":{name:"invalid.illegal.name.stata"},"3":{name:"keyword.control.block.end.stata"},"4":{name:"invalid.illegal.name.stata"},"5":{name:"invalid.illegal.name.stata"},"6":{name:"keyword.control.block.end.stata"},"7":{name:"keyword.control.block.end.stata"},"8":{name:"invalid.illegal.name.stata"},"9":{name:"keyword.control.block.end.stata"}},patterns:[{include:"$self"}]}]},"braces-without-error":{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"keyword.control.block.begin.stata"}},end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.block.end.stata"}}}]},builtin_types:{patterns:[{match:/\b(byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)\b/dgv,name:"support.type.stata"}]},builtin_variables:{patterns:[{match:/\b(_b|_coef|_cons|_n|_N|_rc|_se)\b/dgv,name:"variable.object.stata"}]},"commands-other":{patterns:[{comment:"Add on commands",match:/\b(reghdfe|ivreghdfe|ivreg2|outreg|gcollapse|gcontract|gegen|gisid|glevelsof|gquantiles)\b/dgv,name:"keyword.control.flow.stata"},{comment:"Built in commands",match:/*@__PURE__*/ new EmulatedRegExp("\\b(about|ac|acprplot|ado|adopath|adoupdate|alpha|ameans|an|ano|anov|anova|anova_terms|anovadef|aorder|ap|app|appe|appen|append|arch|arch_dr|arch_estat|arch_p|archlm|areg|areg_p|args|arima|arima_dr|arima_estat|arima_p|asmprobit|asmprobit_estat|asmprobit_lf|asmprobit_mfx__dlg|asmprobit_p|avplot|avplots|bcskew0|bgodfrey|binreg|bip0_lf|biplot|bipp_lf|bipr_lf|bipr_p|biprobit|bitest|bitesti|bitowt|blogit|bmemsize|boot|bootsamp|boxco_l|boxco_p|boxcox|boxcox_p|bprobit|br|break|brier|bro|brow|brows|browse|brr|brrstat|bs|bsampl_w|bsample|bsqreg|bstat|bstrap|ca|ca_estat|ca_p|cabiplot|camat|canon|canon_estat|canon_p|caprojection|cat|cc|cchart|cci|cd|censobs_table|centile|cf|char|chdir|checkdlgfiles|checkestimationsample|checkhlpfiles|checksum|chelp|ci|cii|cl|class|classutil|clear|cli|clis|clist|clog|clog_lf|clog_p|clogi|clogi_sw|clogit|clogit_lf|clogit_p|clogitp|clogl_sw|cloglog|clonevar|clslistarray|cluster|cluster_measures|cluster_stop|cluster_tree|cluster_tree_8|clustermat|cmdlog|cnr|cnre|cnreg|cnreg_p|cnreg_sw|cnsreg|codebook|collaps4|collapse|colormult_nb|colormult_nw|compare|compress|conf|confi|confir|confirm|conren|cons|const|constr|constra|constrai|constrain|constraint|contract|copy|copyright|copysource|cor|corc|corr|corr2data|corr_anti|corr_kmo|corr_smc|corre|correl|correla|correlat|correlate|corrgram|cou|coun|count|cprplot|crc|cret|cretu|cretur|creturn|cross|cs|cscript|cscript_log|csi|ct|ct_is|ctset|ctst_st|cttost|cumsp|cumul|cusum|cutil|d|datasig|datasign|datasigna|datasignat|datasignatu|datasignatur|datasignature|datetof|db|dbeta|de|dec|deco|decod|decode|deff|des|desc|descr|descri|describ|describe|dfbeta|dfgls|dfuller|di|di_g|dir|dirstats|dis|discard|disp|disp_res|disp_s|displ|displa|display|do|doe|doed|doedi|doedit|dotplot|dprobit|drawnorm|ds|ds_util|dstdize|duplicates|durbina|dwstat|dydx|ed|edi|edit|eivreg|emdef|en|enc|enco|encod|encode|eq|erase|ereg|ereg_lf|ereg_p|ereg_sw|ereghet|ereghet_glf|ereghet_glf_sh|ereghet_gp|ereghet_ilf|ereghet_ilf_sh|ereghet_ip|eret|eretu|eretur|ereturn|err|erro|error|est|est_cfexist|est_cfname|est_clickable|est_expand|est_hold|est_table|est_unhold|est_unholdok|estat|estat_default|estat_summ|estat_vce_only|esti|estimates|etodow|etof|etomdy|expand|expandcl|fac|fact|facto|factor|factor_estat|factor_p|factor_pca_rotated|factor_rotate|factormat|fcast|fcast_compute|fcast_graph|fdades|fdadesc|fdadescr|fdadescri|fdadescrib|fdadescribe|fdasav|fdasave|fdause|fh_st|file|filefilter|fillin|find_hlp_file|findfile|findit|fit|fl|fli|flis|flist|fpredict|frac_adj|frac_chk|frac_cox|frac_ddp|frac_dis|frac_dv|frac_in|frac_mun|frac_pp|frac_pq|frac_pv|frac_wgt|frac_xo|fracgen|fracplot|fracpoly|fracpred|fron_ex|fron_hn|fron_p|fron_tn|fron_tn2|frontier|ftodate|ftoe|ftomdy|ftowdate|gamhet_glf|gamhet_gp|gamhet_ilf|gamhet_ip|gamma|gamma_d2|gamma_p|gamma_sw|gammahet|gdi_hexagon|gdi_spokes|genrank|genstd|genvmean|gettoken|gladder|glim_l01|glim_l02|glim_l03|glim_l04|glim_l05|glim_l06|glim_l07|glim_l08|glim_l09|glim_l10|glim_l11|glim_l12|glim_lf|glim_mu|glim_nw1|glim_nw2|glim_nw3|glim_p|glim_v1|glim_v2|glim_v3|glim_v4|glim_v5|glim_v6|glim_v7|glm|glm_p|glm_sw|glmpred|glogit|glogit_p|gmeans|gnbre_lf|gnbreg|gnbreg_p|gomp_lf|gompe_sw|gomper_p|gompertz|gompertzhet|gomphet_glf|gomphet_glf_sh|gomphet_gp|gomphet_ilf|gomphet_ilf_sh|gomphet_ip|gphdot|gphpen|gphprint|gprefs|gprobi_p|gprobit|gr|gr7|gr_copy|gr_current|gr_db|gr_describe|gr_dir|gr_draw|gr_draw_replay|gr_drop|gr_edit|gr_editviewopts|gr_example|gr_example2|gr_export|gr_print|gr_qscheme|gr_query|gr_read|gr_rename|gr_replay|gr_save|gr_set|gr_setscheme|gr_table|gr_undo|gr_use|graph|grebar|greigen|grmeanby|gs_fileinfo|gs_filetype|gs_graphinfo|gs_stat|gsort|gwood|h|hareg|hausman|haver|he|heck_d2|heckma_p|heckman|heckp_lf|heckpr_p|heckprob|hel|help|hereg|hetpr_lf|hetpr_p|hetprob|hettest|hexdump|hilite|hist|histogram|hlogit|hlu|hmeans|hotel|hotelling|hprobit|hreg|hsearch|icd9|icd9_ff|icd9p|iis|impute|imtest|inbase|include|inf|infi|infil|infile|infix|inp|inpu|input|ins|insheet|insp|inspe|inspec|inspect|integ|inten|intreg|intreg_p|intrg2_ll|intrg_ll|intrg_ll2|ipolate|iqreg|ir|irf|irf_create|irfm|iri|is_svy|is_svysum|isid|istdize|ivprobit|ivprobit_p|ivreg|ivreg_footnote|ivtob_lf|ivtobit|ivtobit_p|jacknife|jknife|jkstat|joinby|kalarma1|kap|kapmeier|kappa|kapwgt|kdensity|ksm|ksmirnov|ktau|kwallis|labelbook|ladder|levelsof|leverage|lfit|lfit_p|li|lincom|line|linktest|lis|list|lloghet_glf|lloghet_glf_sh|lloghet_gp|lloghet_ilf|lloghet_ilf_sh|lloghet_ip|llogi_sw|llogis_p|llogist|llogistic|llogistichet|lnorm_lf|lnorm_sw|lnorma_p|lnormal|lnormalhet|lnormhet_glf|lnormhet_glf_sh|lnormhet_gp|lnormhet_ilf|lnormhet_ilf_sh|lnormhet_ip|lnskew0|loadingplot|(?<!\\.)log|logi|logis_lf|logistic|logistic_p|logit|logit_estat|logit_p|loglogs|logrank|loneway|lookfor|lookup|lowess|lpredict|lrecomp|lroc|lrtest|ls|lsens|lsens_x|lstat|ltable|ltriang|lv|lvr2plot|m|ma|mac|macr|macro|makecns|man|manova|manovatest|mantel|mark|markin|markout|marksample|mat|mat_capp|mat_order|mat_put_rr|mat_rapp|mata|mata_clear|mata_describe|mata_drop|mata_matdescribe|mata_matsave|mata_matuse|mata_memory|mata_mlib|mata_mosave|mata_rename|mata_which|matalabel|matcproc|matlist|matname|matr|matri|matrix|matrix_input__dlg|matstrik|mcc|mcci|md0_|md1_|md1debug_|md2_|md2debug_|mds|mds_estat|mds_p|mdsconfig|mdslong|mdsmat|mdsshepard|mdytoe|mdytof|me_derd|mean|means|median|memory|memsize|mfp|mfx|mhelp|mhodds|minbound|mixed_ll|mixed_ll_reparm|mkassert|mkdir|mkmat|mkspline|ml|ml_adjs|ml_bhhhs|ml_c_d|ml_check|ml_clear|ml_cnt|ml_debug|ml_defd|ml_e0|ml_e0_bfgs|ml_e0_cycle|ml_e0_dfp|ml_e0i|ml_e1|ml_e1_bfgs|ml_e1_bhhh|ml_e1_cycle|ml_e1_dfp|ml_e2|ml_e2_cycle|ml_ebfg0|ml_ebfr0|ml_ebfr1|ml_ebh0q|ml_ebhh0|ml_ebhr0|ml_ebr0i|ml_ecr0i|ml_edfp0|ml_edfr0|ml_edfr1|ml_edr0i|ml_eds|ml_eer0i|ml_egr0i|ml_elf|ml_elf_bfgs|ml_elf_bhhh|ml_elf_cycle|ml_elf_dfp|ml_elfi|ml_elfs|ml_enr0i|ml_enrr0|ml_erdu0|ml_erdu0_bfgs|ml_erdu0_bhhh|ml_erdu0_bhhhq|ml_erdu0_cycle|ml_erdu0_dfp|ml_erdu0_nrbfgs|ml_exde|ml_footnote|ml_geqnr|ml_grad0|ml_graph|ml_hbhhh|ml_hd0|ml_hold|ml_init|ml_inv|ml_log|ml_max|ml_mlout|ml_mlout_8|ml_model|ml_nb0|ml_opt|ml_p|ml_plot|ml_query|ml_rdgrd|ml_repor|ml_s_e|ml_score|ml_searc|ml_technique|ml_unhold|mleval|mlf_|mlmatbysum|mlmatsum|mlog|mlogi|mlogit|mlogit_footnote|mlogit_p|mlopts|mlsum|mlvecsum|mnl0_|mor|more|mov|move|mprobit|mprobit_lf|mprobit_p|mrdu0_|mrdu1_|mvdecode|mvencode|mvreg|mvreg_estat|nbreg|nbreg_al|nbreg_lf|nbreg_p|nbreg_sw|nestreg|net|newey|newey_p|news|nl|nlcom|nlcom_p|nlexp2|nlexp2a|nlexp3|nlgom3|nlgom4|nlinit|nllog3|nllog4|nlog_rd|nlogit|nlogit_p|nlogitgen|nlogittree|nlpred|nobreak|notes_dlg|nptrend|numlabel|numlist|old_ver|olo|olog|ologi|ologi_sw|ologit|ologit_p|ologitp|on|one|onew|onewa|oneway|op_colnm|op_comp|op_diff|op_inv|op_str|opr|opro|oprob|oprob_sw|oprobi|oprobi_p|oprobit|oprobitp|opts_exclusive|order|orthog|orthpoly|ou|out|outf|outfi|outfil|outfile|outs|outsh|outshe|outshee|outsheet|ovtest|pac|palette|parse_dissim|pause|pca|pca_display|pca_estat|pca_p|pca_rotate|pcamat|pchart|pchi|pcorr|pctile|pentium|pergram|personal|peto_st|pkcollapse|pkcross|pkequiv|pkexamine|pkshape|pksumm|plugin|pnorm|poisgof|poiss_lf|poiss_sw|poisso_p|poisson|poisson_estat|post|postclose|postfile|postutil|pperron|prais|prais_e|prais_e2|prais_p|predict|predictnl|preserve|print|prob|probi|probit|probit_estat|probit_p|proc_time|procoverlay|procrustes|procrustes_estat|procrustes_p|profiler|prop|proportion|prtest|prtesti|pwcorr|pwd|qs|qby|qbys|qchi|qladder|qnorm|qqplot|qreg|qreg_c|qreg_p|qreg_sw|qu|quadchk|quantile|que|quer|query|range|ranksum|ratio|rchart|rcof|recast|recode|reg|reg3|reg3_p|regdw|regr|regre|regre_p2|regres|regres_p|regress|regress_estat|regriv_p|remap|ren|rena|renam|rename|renpfix|repeat|reshape|restore|ret|retu|retur|return|rmdir|robvar|roccomp|rocf_lf|rocfit|rocgold|rocplot|roctab|rologit|rologit_p|rot|rota|rotat|rotate|rotatemat|rreg|rreg_p|ru|run|runtest|rvfplot|rvpplot|safesum|sample|sampsi|savedresults|sc|scatter|scm_mine|sco|scob_lf|scob_p|scobi_sw|scobit|scor|score|scoreplot|scoreplot_help|scree|screeplot|screeplot_help|sdtest|sdtesti|se|search|separate|seperate|serrbar|serset|set|set_defaults|sfrancia|sh|she|shel|shell|shewhart|signestimationsample|signrank|signtest|simul|sktest|sleep|slogit|slogit_d2|slogit_p|smooth|snapspan|so|sor|sort|spearman|spikeplot|spikeplt|spline_x|split|sqreg|sqreg_p|sret|sretu|sretur|sreturn|ssc|st|st_ct|st_hc|st_hcd|st_hcd_sh|st_is|st_issys|st_note|st_promo|st_set|st_show|st_smpl|st_subid|stack|stbase|stci|stcox|stcox_estat|stcox_fr|stcox_fr_ll|stcox_p|stcox_sw|stcoxkm|stcstat|stcurv|stcurve|stdes|stem|stepwise|stfill|stgen|stir|stjoin|stmc|stmh|stphplot|stphtest|stptime|strate|streg|streg_sw|streset|sts|stset|stsplit|stsum|sttocc|sttoct|stvary|su|suest|sum|summ|summa|summar|summari|summariz|summarize|sunflower|sureg|survcurv|survsum|svar|svar_p|svmat|svy_disp|svy_dreg|svy_est|svy_est_7|svy_estat|svy_get|svy_gnbreg_p|svy_head|svy_header|svy_heckman_p|svy_heckprob_p|svy_intreg_p|svy_ivreg_p|svy_logistic_p|svy_logit_p|svy_mlogit_p|svy_nbreg_p|svy_ologit_p|svy_oprobit_p|svy_poisson_p|svy_probit_p|svy_regress_p|svy_sub|svy_sub_7|svy_x|svy_x_7|svy_x_p|svydes|svygen|svygnbreg|svyheckman|svyheckprob|svyintreg|svyintrg|svyivreg|svylc|svylog_p|svylogit|svymarkout|svymean|svymlog|svymlogit|svynbreg|svyolog|svyologit|svyoprob|svyoprobit|svyopts|svypois|svypoisson|svyprobit|svyprobt|svyprop|svyratio|svyreg|svyreg_p|svyregress|svyset|svytab|svytest|svytotal|sw|swilk|symmetry|symmi|symplot|sysdescribe|sysdir|sysuse|szroeter|ta|tab|tab1|tab2|tab_or|tabd|tabdi|tabdis|tabdisp|tabi|table|tabodds|tabstat|tabu|tabul|tabula|tabulat|tabulate|te|tes|test|testnl|testparm|teststd|tetrachoric|time_it|timer|tis|tob|tobi|tobit|tobit_p|tobit_sw|token|tokeni|tokeniz|tokenize|total|translate|translator|transmap|treat_ll|treatr_p|treatreg|trim|trnb_cons|trnb_mean|trpoiss_d2|trunc_ll|truncr_p|truncreg|tsappend|tset|tsfill|tsline|tsline_ex|tsreport|tsrevar|tsrline|tsset|tssmooth|tsunab|ttest|ttesti|tut_chk|tut_wait|tutorial|tw|tware_st|two|twoway|twoway__fpfit_serset|twoway__function_gen|twoway__histogram_gen|twoway__ipoint_serset|twoway__ipoints_serset|twoway__kdensity_gen|twoway__lfit_serset|twoway__normgen_gen|twoway__pci_serset|twoway__qfit_serset|twoway__scatteri_serset|twoway__sunflower_gen|twoway_ksm_serset|ty|typ|type|typeof|unab|unabbrev|unabcmd|update|uselabel|var|var_mkcompanion|var_p|varbasic|varfcast|vargranger|varirf|varirf_add|varirf_cgraph|varirf_create|varirf_ctable|varirf_describe|varirf_dir|varirf_drop|varirf_erase|varirf_graph|varirf_ograph|varirf_rename|varirf_set|varirf_table|varlmar|varnorm|varsoc|varstable|varstable_w|varstable_w2|varwle|vec|vec_fevd|vec_mkphi|vec_p|vec_p_w|vecirf_create|veclmar|veclmar_w|vecnorm|vecnorm_w|vecrank|vecstable|verinst|vers|versi|versio|version|view|viewsource|vif|vwls|wdatetof|webdescribe|webseek|webuse|wh|whelp|whi|which|wilc_st|wilcoxon|win|wind|windo|window|winexec|wntestb|wntestq|xchart|xcorr|xi|xmlsav|xmlsave|xmluse|xpose|xsh|xshe|xshel|xshell|xt_iis|xt_tis|xtab_p|xtabond|xtbin_p|xtclog|xtcloglog|xtcloglog_d2|xtcloglog_pa_p|xtcloglog_re_p|xtcnt_p|xtcorr|xtdata|xtdes|xtfront_p|xtfrontier|xtgee|xtgee_elink|xtgee_estat|xtgee_makeivar|xtgee_p|xtgee_plink|xtgls|xtgls_p|xthaus|xthausman|xtht_p|xthtaylor|xtile|xtint_p|xtintreg|xtintreg_d2|xtintreg_p|xtivreg|xtline|xtline_ex|xtlogit|xtlogit_d2|xtlogit_fe_p|xtlogit_pa_p|xtlogit_re_p|xtmixed|xtmixed_estat|xtmixed_p|xtnb_fe|xtnb_lf|xtnbreg|xtnbreg_pa_p|xtnbreg_refe_p|xtpcse|xtpcse_p|xtpois|xtpoisson|xtpoisson_d2|xtpoisson_pa_p|xtpoisson_refe_p|xtpred|xtprobit|xtprobit_d2|xtprobit_re_p|xtps_fe|xtps_lf|xtps_ren|xtps_ren_8|xtrar_p|xtrc|xtrc_p|xtrchh|xtrefe_p|yx|yxview__barlike_draw|yxview_area_draw|yxview_bar_draw|yxview_dot_draw|yxview_dropline_draw|yxview_function_draw|yxview_iarrow_draw|yxview_ilabels_draw|yxview_normal_draw|yxview_pcarrow_draw|yxview_pcbarrow_draw|yxview_pccapsym_draw|yxview_pcscatter_draw|yxview_pcspike_draw|yxview_rarea_draw|yxview_rbar_draw|yxview_rbarm_draw|yxview_rcap_draw|yxview_rcapsym_draw|yxview_rconnected_draw|yxview_rline_draw|yxview_rscatter_draw|yxview_rspike_draw|yxview_spike_draw|yxview_sunflower_draw|zap_s|zinb|zinb_llf|zinb_plf|zip|zip_llf|zip_p|zip_plf|zt_ct_5|zt_hc_5|zt_hcd_5|zt_is_5|zt_iss_5|zt_sho_5|zt_smp_5|ztnb|ztnb_p|ztp|ztp_p|prtab|prchange|eststo|estout|esttab|estadd|estpost|ivregress|xtreg|xtreg_be|xtreg_fe|xtreg_ml|xtreg_pa_p|xtreg_re|xtregar|xtrere_p|xtset|xtsf_ll|xtsf_llti|xtsum|xttab|xttest0|xttobit|xttobit_p|xttrans)\\b","dgv",{"lazyCompile":true}),name:"keyword.control.flow.stata"}]},comments:{patterns:[{include:"#comments-double-slash"},{include:"#comments-star"},{include:"#comments-block"},{include:"#comments-triple-slash"}]},"comments-block":{patterns:[{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.stata"}},end:/(\*\/\p{space}+\*[^\n]*)|(\*\/(?!\*))/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.stata"}},name:"comment.block.stata",patterns:[{comment:"this ends and restarts a comment block. but need to catch this so that it doesn't start _another_ level of comment blocks",match:/\*\/\*/dgv},{include:"#docblockr-comment"},{include:"#comments-block"},{include:"#docstring"}]}]},"comments-double-slash":{patterns:[{begin:/(^\/\/|(?<=\p{space})\/\/)(?!\/)/dgv,captures:{"0":{name:"punctuation.definition.comment.stata"}},end:/(?=\n)/dgv,name:"comment.line.double-slash.stata",patterns:[{include:"#docblockr-comment"}]}]},"comments-star":{patterns:[{begin:/^\p{space}*(\*)/dgv,captures:{"0":{name:"punctuation.definition.comment.stata"}},comment:"TODO! need to except out the occasion that a * comes after a /// on the previous line. May be easiest to join with the comment.line.triple-slash.stata below",end:/(?=\n)/dgv,name:"comment.line.star.stata",patterns:[{include:"#docblockr-comment"},{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.line-continuation.stata"},{include:"#comments"}]}]},"comments-triple-slash":{patterns:[{begin:/(^\/\/\/|(?<=\p{space})\/\/\/)/dgv,captures:{"0":{name:"punctuation.definition.comment.stata"}},end:/(?=\n)/dgv,name:"comment.line.triple-slash.stata",patterns:[{include:"#docblockr-comment"}]}]},constants:{patterns:[{include:"#factorvariables"},{match:/\b(\p{Nd}+\.\p{Nd}*([Ee][\-\+]?\p{Nd}+)?)(?=[^a-zA-Z_])/dgv,name:"constant.numeric.float.stata"},{match:/(?<=[^0-9a-zA-Z_])(\.\p{Nd}+([Ee][\-\+]?\p{Nd}+)?)/dgv,name:"constant.numeric.float.stata"},{match:/\b(\p{Nd}+e[\-\+]?\p{Nd}+)/dgiv,name:"constant.numeric.float.stata"},{match:/\b(\p{Nd}+)\b/dgv,name:"constant.numeric.integer.decimal.stata"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\.(?![\.\/]))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.language.missing.stata"},{match:/\b_all\b/dgv,name:"constant.language.allvars.stata"}]},"docblockr-comment":{patterns:[{captures:{"1":{name:"invalid.illegal.name.stata"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(@(error|ERROR|Error))\b/dgv},{captures:{"1":{name:"keyword.docblockr.stata"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(@[\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv}]},docstring:{patterns:[{begin:/'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/'''/dgv,endCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},name:"string.quoted.docstring.stata"},{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},name:"string.quoted.docstring.stata"}]},factorvariables:{patterns:[{match:/\b(i|c|o)\.(?=[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]]|\([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]])/dgv,name:"constant.language.factorvars.stata"},{captures:{"0":{name:"constant.language.factorvars.stata"},"3":{patterns:[{include:"#constants"}]}},match:/\b(i?b)((\p{Nd}+)|n)\.(?=[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]]|\([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]])/dgv},{captures:{"0":{name:"constant.language.factorvars.stata"},"2":{name:"keyword.operator.parentheses.stata"},"3":{patterns:[{include:"#constants"},{include:"#operators"}]},"4":{name:"keyword.operator.parentheses.stata"}},match:/\b(i?b)(\()(#\p{Nd}+|first|last|freq)(\))\.(?=[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]]|\([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]])/dgv},{captures:{"0":{name:"constant.language.factorvars.stata"},"2":{patterns:[{include:"#constants"}]}},match:/\b(i?o?)(\p{Nd}+)\.(?=[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]]|\([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]])/dgv},{captures:{"1":{name:"constant.language.factorvars.stata"},"2":{name:"keyword.operator.parentheses.stata"},"3":{patterns:[{include:"$self"}]},"4":{name:"keyword.operator.parentheses.stata"},"5":{name:"constant.language.factorvars.stata"}},match:/\b(i?o?)(\()([^\n]*?)(\))(\.)(?=[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]]|\([[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]])/dgv}]},functions:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("\\b((abbrev|abs|acos|acosh|asin|asinh|atan|atan2|atanh|autocode|betaden|binomial|binomialp|binomialtail|binormalbofd|byteorder|c|cauchy|cauchyden|cauchytail|Cdhms|ceil|char|chi2|chi2den|chi2tail|Chms|cholesky|chop|clip|clock|Clock|cloglog|Cmdyhms|cofC|Cofc|cofd|Cofd|coleqnumb|collatorlocale|collatorversion|colnfreeparms|colnumb|colsof|comb|cond|corr|cos|cosh|daily|date|day|det|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|dhms|diag|diag0cnt|digamma|dofb|dofc|dofC|dofh|dofm|dofq|dofw|dofy|dow|doy|dunnettprob|e|el|epsdouble|epsfloat|exp|exponential|exponentialden|exponentialtail|F|Fden|fileexists|fileread|filereaderror|filewrite|float|floor|fmtwidth|Ftail|gammaden|gammap|gammaptail|get|hadamard|halfyear|halfyearly|hh|hhC|hms|hofd|hours|hypergeometric|hypergeometricp|I|ibeta|ibetatail|igaussian|igaussianden|igaussiantail|indexnot|inlist|inrange|int|inv|invbinomial|invbinomialtail|invcauchy|invcauchytail|invchi2|invchi2tail|invcloglog|invdunnettprob|invexponential|invexponentialtail|invF|invFtail|invgammap|invgammaptail|invibeta|invibetatail|invigaussian|invigaussiantail|invlaplace|invlaplacetail|invlogistic|invlogistictail|invlogit|invnbinomial|invnbinomialtail|invnchi2|invnchi2tail|invnF|invnFtail|invnibeta|invnormal|invnt|invnttail|invpoisson|invpoissontail|invsym|invt|invttail|invtukeyprob|invweibull|invweibullph|invweibullphtail|invweibulltail|irecode|issymmetric|itrim|J|laplace|laplaceden|laplacetail|length|ln|lncauchyden|lnfactorial|lngamma|lnigammaden|lnigaussianden|lniwishartden|lnlaplaceden|lnmvnormalden|lnnormal|lnnormalden|lnwishartden|log|log10|logistic|logisticden|logistictail|logit|lower|ltrim|matmissing|matrix|matuniform|max|maxbyte|maxdouble|maxfloat|maxint|maxlong|mdy|mdyhms|mi|min|minbyte|mindouble|minfloat|minint|minlong|minutes|missing|mm|mmC|mod|mofd|month|monthly|mreldif|msofhours|msofminutes|msofseconds|nbetaden|nbinomial|nbinomialp|nbinomialtail|nchi2|nchi2den|nchi2tail|nF|nFden|nFtail|nibeta|normal|normalden|npnchi2|npnF|npnt|nt|ntden|nttail|nullmat|plural|poisson|poissonp|poissontail|proper|qofd|quarter|quarterly|r|rbeta|rbinomial|rcauchy|rchi2|real|recode|regexs|reldif|replay|return|reverse|rexponential|rgamma|rhypergeometric|rigaussian|rlaplace|rlogistic|rnbinomial|rnormal|round|roweqnumb|rownfreeparms|rownumb|rowsof|rpoisson|rt|rtrim|runiform|runiformint|rweibull|rweibullph|s|scalar|seconds|sign|sin|sinh|smallestdouble|soundex|sqrt|ss|ssC|string|stritrim|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrpos|strrtrim|strtoname|strtrim|strupper|subinstr|subinword|substr|sum|sweep|t|tan|tanh|tc|tC|td|tden|th|tin|tm|tobytes|tq|trace|trigamma|trim|trunc|ttail|tukeyprob|tw|twithin|uchar|udstrlen|udsubstr|uisdigit|uisletter|upper|ustrcompare|ustrcompareex|ustrfix|ustrfrom|ustrinvalidcnt|ustrleft|ustrlen|ustrlower|ustrltrim|ustrnormalize|ustrpos|ustrregexs|ustrreverse|ustrright|ustrrpos|ustrrtrim|ustrsortkey|ustrsortkeyex|ustrtitle|ustrto|ustrtohex|ustrtoname|ustrtrim|ustrunescape|ustrupper|ustrword|ustrwordcount|usubinstr|usubstr|vec|vecdiag|week|weekly|weibull|weibullden|weibullph|weibullphden|weibullphtail|weibulltail|wofd|word|wordbreaklocale|wordcount|year|yearly|yh|ym|yofd|yq|yw)|([[\\p{L}\\p{M}\\p{N}\\p{Pc}]&&[^0-9]][\\p{L}\\p{M}\\p{N}\\p{Pc}]{0,31}))(\\()","dgv",{"lazyCompile":true}),beginCaptures:{"2":{name:"support.function.builtin.stata"},"3":{name:"support.function.custom.stata"},"4":{name:"punctuation.definition.parameters.begin.stata"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.stata"}},patterns:[{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{begin:/\(/dgv,beginCaptures:{"0":{name:"keyword.operator.parentheses.stata"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.operator.parentheses.stata"}},patterns:[{include:"#ascii-regex-functions"},{include:"#unicode-regex-functions"},{include:"#functions"},{include:"#subscripts"},{include:"#constants"},{include:"#comments"},{include:"#operators"},{include:"#macro-local"},{include:"#macro-global"},{include:"#string-compound"},{include:"#string-regular"},{include:"#builtin_variables"},{include:"#macro-commands"},{include:"#braces-without-error"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"}]},{include:"#ascii-regex-functions"},{include:"#unicode-regex-functions"},{include:"#functions"},{include:"#subscripts"},{include:"#constants"},{include:"#comments"},{include:"#operators"},{include:"#macro-local"},{include:"#macro-global"},{include:"#string-compound"},{include:"#string-regular"},{include:"#builtin_variables"},{include:"#macro-commands"},{include:"#braces-without-error"}]}]},"macro-commands":{patterns:[{begin:/\b(loc(al|a)?)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}'\`\$\(\)\{\}]+)\p{space}*(?=:|=)/dgv,beginCaptures:{"1":{name:"keyword.macro.stata"},"3":{patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]}},end:/\n/dgv,patterns:[{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.arithmetic.stata"}},end:/(?=\n)/dgv,patterns:[{include:"$self"}]},{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.arithmetic.stata"}},end:/(?=\n)/dgv,patterns:[{include:"#macro-extended-functions"}]}]},{begin:/\b(gl(obal|oba|ob|o)?)\p{space}+(?=[\p{L}\p{M}\p{N}\p{Pc}\`\$])/dgv,beginCaptures:{"1":{name:"keyword.macro.stata"}},end:/(\})|(?="|\p{space}|\n|\/|,|=)/dgv,patterns:[{include:"#reserved-names"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9_]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"entity.name.type.class.stata"},{include:"#macro-local"},{include:"#macro-global"}]},{begin:/\b(loc(al|a)?)\p{space}+(\+\+|--)?(?=[\p{L}\p{M}\p{N}\p{Pc}\`\$])/dgv,beginCaptures:{"1":{name:"keyword.macro.stata"},"3":{name:"keyword.operator.arithmetic.stata"}},end:/(?="|\p{space}|\n|\/|,|=)/dgv,patterns:[{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},{begin:/\b(tempvar|tempname|tempfile)\p{space}*(?=\p{space})/dgv,beginCaptures:{"1":{name:"keyword.macro.stata"}},end:/\n/dgv,patterns:[{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.block.stata"},{include:"#macro-local-identifiers"},{include:"#macro-local"},{include:"#macro-global"}]},{begin:/\b(ma(cro|cr|c)?)\p{space}+(drop|l(ist|is|i)?)\p{space}*(?=\p{space})/dgv,beginCaptures:{"0":{name:"keyword.macro.stata"}},end:/\n/dgv,patterns:[{begin:/\/\/\//dgv,end:/\n/dgv,name:"comment.block.stata"},{match:/\*/dgv,name:"keyword.operator.arithmetic.stata"},{include:"#constants"},{include:"#macro-global"},{include:"#macro-local"},{include:"#comments"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]}]},"macro-extended-functions":{patterns:[{match:/\b(properties)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(t(ype|yp|y)?|f(ormat|orma|orm|or|o)?|val(ue|u)?\p{space}+l(able|abl|ab|a)?|var(iable|iabl|iab|ia|i)?\p{space}+l(abel|abe|ab|a)?|data\p{space}+l(able|abl|ab|a)?|sort(edby|edb|ed|e)?|lab(el|e)?|maxlength|constraint|char)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(permname)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(adosubdir|dir|files?|dirs?|other|sysdir)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(env(ironment|ironmen|ironme|ironm|iron|iro|ir|i)?)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(all\p{space}+(globals|scalars|matrices)|((numeric|string)\p{space}+scalars))\b/dgv,name:"keyword.macro.extendedfcn.stata"},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"},"2":{name:"keyword.macro.extendedfcn.stata"},"3":{name:"entity.name.type.class.stata"}},match:/\b(list)\p{space}+(uniq|dups|sort|clean|retok(enize|eniz|eni|en|e)?|sizeof)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})/dgv},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"},"2":{name:"entity.name.type.class.stata"},"3":{name:"keyword.operator.list.stata"},"4":{name:"entity.name.type.class.stata"}},match:/\b(list)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})\p{space}+(\||&|-|===|==|in)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})/dgv},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"},"2":{name:"punctuation.definition.string.begin.stata"},"3":{name:"string.quoted.double.stata"},"4":{name:"punctuation.definition.string.end.stata"},"5":{name:"keyword.macro.extendedfcn.stata"},"6":{name:"entity.name.type.class.stata"}},match:/\b(list\p{space}+posof)\p{space}+(")([\p{L}\p{M}\p{N}\p{Pc}]+)(")\p{space}+(in)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})/dgv},{match:/\b(rown(ames|ame|am|a)?|coln(ames|ame|am|a)?|rowf(ullnames|ullname|ullnam|ullna|ulln|ull|ul|u)?|colf(ullnames|ullname|ullnam|ullna|ulln|ull|ul|u)?|roweq?|coleq?|rownumb|colnumb|roweqnumb|coleqnumb|rownfreeparms|colnfreeparms|rownlfs|colnlfs|rowsof|colsof|rowvarlist|colvarlist|rowlfnames|collfnames)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{match:/\b(tsnorm)\b/dgv,name:"keyword.macro.extendedfcn.stata"},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"},"7":{patterns:[{include:"#macro-local"},{include:"#macro-global"}]}},match:/\b((copy|(ud|u)?strlen)\p{space}+(loc(al|a)?|gl(obal|oba|ob|o)?))\p{space}+([^']+)/dgv},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"}},match:/\b(word\p{space}+count)/dgv},{captures:{"1":{name:"keyword.macro.extendedfcn.stata"},"2":{patterns:[{include:"#macro-local"},{include:"#constants"}]},"3":{name:"keyword.macro.extendedfcn.stata"}},match:/(word|piece)\p{space}+([\p{space}\`'\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(of)/dgv},{begin:/\b(subinstr\p{space}+(loc(al|a)?|gl(obal|oba|ob|o)?))\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})/dgv,beginCaptures:{"1":{name:"keyword.macro.extendedfcn.stata"},"5":{name:"entity.name.type.class.stata"}},end:/(?=\/\/|\n)/dgv,patterns:[{include:"#macro-local"},{include:"#macro-global"},{include:"#string-compound"},{include:"#string-regular"},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{name:"keyword.macro.extendedfcn.stata"},"4":{name:"entity.name.type.class.stata"},"5":{name:"punctuation.definition.parameters.end.stata"}},match:/(count|coun|cou|co|c)(\()(local|loca|loc|global|globa|glob|glo|gl)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]{1,32})(\))/dgv}]},{include:"#comments"},{include:"#macro-local"},{include:"#macro-global"},{include:"$self"}]},"macro-global":{patterns:[{begin:/(\$)(\{)/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-global"},{include:"#comments-block"},{begin:/[^\p{L}\p{M}\p{N}\p{Pc}]/dgv,end:/\n|(?=\})/dgv,name:"comment.line.stata"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,32}/dgv,name:"entity.name.type.class.stata"}]},{begin:/\$/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-global"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9_]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}|_[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]}]},"macro-global-escaped":{patterns:[{begin:/(\\\$)(\\\{)?/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/(\\\})|(?="|\p{space}|\n|\/|,)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-global"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9_]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}|_[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]}]},"macro-local":{patterns:[{begin:/(`)(=)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.stata"},"2":{name:"keyword.operator.comparison.stata"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"$self"}]},{begin:/(`)(:)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.stata"},"2":{name:"keyword.operator.comparison.stata"}},contentName:"meta.macro-extended-function.stata",end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-extended-functions"},{include:"#constants"},{include:"#string-compound"},{include:"#string-regular"}]},{begin:/(`)(macval)(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.stata"},"2":{name:"support.function.builtin.stata"},"3":{name:"punctuation.definition.parameters.begin.stata"}},contentName:"meta.macro-extended-function.stata",end:/(\))(')/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.begin.stata"},"2":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-global"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]},{begin:/`(?!")/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},patterns:[{match:/\+\+|--/dgv,name:"keyword.operator.arithmetic.stata"},{include:"#macro-local"},{include:"#macro-global"},{include:"#comments-block"},{begin:/[^\p{L}\p{M}\p{N}\p{Pc}]/dgv,end:/\n|(?=')/dgv,name:"comment.line.stata"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]}]},"macro-local-escaped":{patterns:[{begin:/\\`(?!")/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},comment:"appropriately color macros that have embedded escaped `,', and $ characters for lazy evaluation",end:/\\'|'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},patterns:[{include:"#macro-local"},{include:"#macro-global"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]}]},"macro-local-identifiers":{patterns:[{match:/[^\p{L}\p{M}\p{N}\p{Pc}'\`\$\(\)\p{space}]/dgv,name:"invalid.illegal.name.stata"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{32,}/dgv,name:"invalid.illegal.name.stata"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{1,31}/dgv,name:"entity.name.type.class.stata"}]},operators:{patterns:[{comment:"++ and -- must come first to support ligatures",match:/\+\+|--|\+|-|\*|\^/dgv,name:"keyword.operator.arithmetic.stata"},{comment:"match division operator but not path separator",match:/(?<![[\p{L}\p{M}\p{N}\p{Pc}\.]&&[^0-9]])\/(?![[\p{L}\p{M}\p{N}\p{Pc}\.]&&[^0-9]]|(?=\n?$))/dgv,name:"keyword.operator.arithmetic.stata"},{comment:"match division operator but not path separator",match:/(?<![[\p{L}\p{M}\p{N}\p{Pc}\.]&&[^0-9]])\\(?![[\p{L}\p{M}\p{N}\p{Pc}\.]&&[^0-9]]|(?=\n?$))/dgv,name:"keyword.operator.matrix.addrow.stata"},{match:/\|\|/dgv,name:"keyword.operator.graphcombine.stata"},{match:/&|\|/dgv,name:"keyword.operator.logical.stata"},{match:/(?:<=|>=|:=|==|!=|~=|<|>|=|!!|!)/dgv,name:"keyword.operator.comparison.stata"},{match:/\(|\)/dgv,name:"keyword.operator.parentheses.stata"},{match:/(##|#)/dgv,name:"keyword.operator.factor-variables.stata"},{match:/%/dgv,name:"keyword.operator.format.stata"},{match:/:/dgv,name:"punctuation.separator.key-value"},{match:/\[/dgv,name:"punctuation.definition.parameters.begin.stata"},{match:/\]/dgv,name:"punctuation.definition.parameters.end.stata"},{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"},{match:/;/dgv,name:"keyword.operator.delimiter.stata"}]},"reserved-names":{patterns:[{match:/\b(_all|_b|byte|_coef|_cons|double|float|if|in|int|long|_n|_N|_pi|_pred|_rc|_skip|str[0-9]+|strL|using|with)\b/dgv,name:"invalid.illegal.name.stata"},{match:/[^\p{L}\p{M}\p{N}\p{Pc}'\`\$\(\)\p{space}]/dgv,name:"invalid.illegal.name.stata"},{match:/[0-9][\p{L}\p{M}\p{N}\p{Pc}]{31,}/dgv,name:"invalid.illegal.name.stata"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]{33,}/dgv,name:"invalid.illegal.name.stata"}]},"string-compound":{patterns:[{begin:/`"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/"'|(?=\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.stata"}},name:"string.quoted.double.compound.stata",patterns:[{comment:"This must come before #string-regular and #string-compound to accurately color `\"\"\"' in strings",match:/"/dgv,name:"string.quoted.double.compound.stata"},{comment:"see https://github.com/kylebarron/language-stata/issues/53",match:/```(?=[^']*")/dgv,name:"meta.markdown.code.block.stata"},{include:"#string-regular"},{include:"#string-compound"},{include:"#macro-local-escaped"},{include:"#macro-global-escaped"},{include:"#macro-local"},{include:"#macro-global"}]}]},"string-regular":{patterns:[{begin:/(?<!`)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.stata"}},end:/(")(')?|(?=\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.stata"},"2":{name:"invalid.illegal.punctuation.stata"}},name:"string.quoted.double.stata",patterns:[{comment:"see https://github.com/kylebarron/language-stata/issues/53",match:/```(?=[^']*")/dgv,name:"meta.markdown.code.block.stata"},{include:"#macro-local-escaped"},{include:"#macro-global-escaped"},{include:"#macro-local"},{include:"#macro-global"}]}]},subscripts:{patterns:[{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}'])(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.stata"}},comment:"highlight expressions, like [_n], when using subscripts on a variable",end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.stata"}},name:"meta.subscripts.stata",patterns:[{include:"#macro-local"},{include:"#macro-global"},{include:"#builtin_variables"},{include:"#operators"},{include:"#constants"},{include:"#functions"}]}]},"unicode-regex-character-class":{patterns:[{match:/\\[wWsSdD]|\./dgv,name:"constant.character.character-class.stata"},{match:/\\[^\n]/dgv,name:"constant.character.escape.backslash.stata"},{begin:/(\[)(\^)?/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.stata"},"2":{name:"keyword.operator.negation.stata"}},end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.character-class.stata"}},name:"constant.other.character-class.set.stata",patterns:[{include:"#unicode-regex-character-class"},{captures:{"2":{name:"constant.character.escape.backslash.stata"},"4":{name:"constant.character.escape.backslash.stata"}},match:/((\\[^\n])|[^\n])-((\\[^\n])|[^\]])/dgv,name:"constant.other.character-class.range.stata"}]}]},"unicode-regex-functions":{patterns:[{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#unicode-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{name:"invalid.illegal.punctuation.stata"},"9":{patterns:[{include:"#constants"},{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"}]},"10":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexm with regular quotes i.e. \" ",match:/\b(ustrregexm)(\()([^\,]+)(,)\p{space}*(")([^"]+)("(')?)([\,0-9\p{space}]*)?\p{space}*(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#unicode-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{patterns:[{include:"#constants"},{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"}]},"9":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexm with compound quotes",match:/\b(ustrregexm)(\()([^\,]+)(,)\p{space}*(`")([^"]+)("')([\,0-9\p{space}]*)?\p{space}*(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#unicode-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{name:"invalid.illegal.punctuation.stata"},"9":{patterns:[{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"},{include:"#constants"}]},"10":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexr with regular quotes i.e. \" ",match:/\b(ustrregexrf|ustrregexra)(\()([^\,]+)(,)\p{space}*(")([^"]+)("(')?)\p{space}*([^\)]*)(\))/dgv},{captures:{"1":{name:"support.function.builtin.stata"},"2":{name:"punctuation.definition.parameters.begin.stata"},"3":{patterns:[{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments"}]},"4":{name:"punctuation.definition.variable.begin.stata"},"5":{name:"punctuation.definition.string.begin.stata"},"6":{patterns:[{include:"#unicode-regex-internals"}]},"7":{name:"punctuation.definition.string.end.stata"},"8":{patterns:[{match:/,/dgv,name:"punctuation.definition.variable.begin.stata"},{include:"#string-compound"},{include:"#string-regular"},{include:"#macro-local"},{include:"#macro-global"},{include:"#functions"},{match:/[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9]][\p{L}\p{M}\p{N}\p{Pc}]{0,31}/dgv,name:"variable.parameter.function.stata"},{include:"#comments-triple-slash"},{include:"#constants"}]},"9":{name:"punctuation.definition.parameters.end.stata"}},comment:"color regexr with compound quotes i.e. `\"text\"' ",match:/\b(ustrregexrf|ustrregexra)(\()([^\,]+)(,)\p{space}*(`")([^"]+)("')\p{space}*([^\)]*)(\))/dgv}]},"unicode-regex-internals":{patterns:[{match:/\\[bBAZzG]|\^/dgv,name:"keyword.control.anchor.stata"},{comment:"matched when not a global",match:/\$(?![[[\p{L}\p{M}\p{N}\p{Pc}]&&[^0-9_]]\p{L}\p{M}\p{N}\p{Pc}\{0\,31\}\|_\p{L}\p{M}\p{N}\p{Pc}\{1\,31\}\{])/dgv,name:"keyword.control.anchor.stata"},{match:/\\[1-9][0-9]?/dgv,name:"keyword.other.back-reference.stata"},{match:/[\?\+\*][\?\+]?|\{(\p{Nd}+,\p{Nd}+|\p{Nd}+,|,\p{Nd}+|\p{Nd}+)\}\??/dgv,name:"keyword.operator.quantifier.stata"},{match:/\|/dgv,name:"keyword.operator.or.stata"},{begin:/\((?!\?#|\?=|\?!|\?<=|\?<!)/dgv,end:/\)/dgv,name:"keyword.operator.group.stata",patterns:[{include:"#unicode-regex-internals"}]},{begin:/\(\?#/dgv,end:/\)/dgv,name:"comment.block.stata"},{comment:"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.",match:/(?<=^|\p{space})#\p{space}[a-zA-Z0-9\,\. \t\?\!-\:[^\x00-\x7F]]*(?=\n?$)/dgv,name:"comment.line.number-sign.stata"},{match:/\(\?[iLmsux]+\)/dgv,name:"keyword.other.option-toggle.stata"},{begin:/(\()((\?=)|(\?!)|(\?<=)|(\?<!))/dgv,beginCaptures:{"1":{name:"keyword.operator.group.stata"},"2":{name:"punctuation.definition.group.assertion.stata"},"3":{name:"keyword.assertion.look-ahead.stata"},"4":{name:"keyword.assertion.negative-look-ahead.stata"},"5":{name:"keyword.assertion.look-behind.stata"},"6":{name:"keyword.assertion.negative-look-behind.stata"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.operator.group.stata"}},name:"meta.group.assertion.stata",patterns:[{include:"#unicode-regex-internals"}]},{begin:/(\()(\?\(([1-9][0-9]?|[a-zA-Z_][a-zA-Z_0-9]*)\))/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.stata"},"2":{name:"punctuation.definition.group.assertion.conditional.stata"},"3":{name:"entity.name.section.back-reference.stata"}},comment:"we can make this more sophisticated to match the | character that separates yes-pattern from no-pattern, but it's not really necessary.",end:/(\))/dgv,name:"meta.group.assertion.conditional.stata",patterns:[{include:"#unicode-regex-internals"}]},{include:"#unicode-regex-character-class"},{include:"#macro-local"},{include:"#macro-global"},{comment:"NOTE: Error if I have .+ No idea why but it works fine it seems with just .",match:/[^\n]/dgv,name:"string.quoted.stata"}]}},scopeName:"source.stata",embeddedLangs:["sql"],aliases:undefined})
4
5
 
5
6
  export default [
6
7
  ...sql,
package/dist/stylus.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Stylus",fileTypes:["styl","stylus","css.styl","css.stylus"],name:"stylus",patterns:[{include:"#comment"},{include:"#at_rule"},{include:"#language_keywords"},{include:"#language_constants"},{include:"#variable_declaration"},{include:"#function"},{include:"#selector"},{include:"#declaration"},{captures:{"1":{name:"punctuation.section.property-list.begin.css"},"2":{name:"punctuation.section.property-list.end.css"}},match:/(\{)(\})/dgv,name:"meta.brace.curly.css"},{match:/\{|\}/dgv,name:"meta.brace.curly.css"},{include:"#numeric"},{include:"#string"},{include:"#operator"}],repository:{at_rule:{patterns:[{begin:/\p{space}*((@)(import|require))\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.at-rule.import.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},end:/\p{space}*((?=;|(?=\n?$)|\n))/dgv,endCaptures:{"1":{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.import.css",patterns:[{include:"#string"}]},{begin:/\p{space}*((@)(extend[s]?)\b)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.at-rule.extend.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},end:/\p{space}*((?=;|(?=\n?$)|\n))/dgv,endCaptures:{"1":{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.extend.css",patterns:[{include:"#selector"}]},{captures:{"1":{name:"keyword.control.at-rule.fontface.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},match:/^\p{space}*((@)font-face)\b/dgv,name:"meta.at-rule.fontface.stylus"},{captures:{"1":{name:"keyword.control.at-rule.css.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},match:/^\p{space}*((@)css)\b/dgv,name:"meta.at-rule.css.stylus"},{begin:/\p{space}*((@)charset)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.at-rule.charset.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},end:/\p{space}*((?=;|(?=\n?$)|\n))/dgv,name:"meta.at-rule.charset.stylus",patterns:[{include:"#string"}]},{begin:/\p{space}*((@)keyframes)\b\p{space}+([a-zA-Z_\-][a-zA-Z0-9_\-]*)/dgv,beginCaptures:{"1":{name:"keyword.control.at-rule.keyframes.stylus"},"2":{name:"punctuation.definition.keyword.stylus"},"3":{name:"entity.name.function.keyframe.stylus"}},end:/\p{space}*((?=\{|(?=\n?$)|\n))/dgv,name:"meta.at-rule.keyframes.stylus"},{begin:/(?=(\b(\p{Nd}+%|from\b|to\b)))/dgv,end:/(?=(\{|\n))/dgv,name:"meta.at-rule.keyframes.stylus",patterns:[{match:/(\b(\p{Nd}+%|from\b|to\b))/dgv,name:"entity.other.attribute-name.stylus"}]},{captures:{"1":{name:"keyword.control.at-rule.media.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},match:/^\p{space}*((@)media)\b/dgv,name:"meta.at-rule.media.stylus"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(width|scan|resolution|orientation|monochrome|min-width|min-resolution|min-monochrome|min-height|min-device-width|min-device-height|min-device-aspect-ratio|min-color-index|min-color|min-aspect-ratio|max-width|max-resolution|max-monochrome|max-height|max-device-width|max-device-height|max-device-aspect-ratio|max-color-index|max-color|max-aspect-ratio|height|grid|device-width|device-height|device-aspect-ratio|color-index|color|aspect-ratio)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"support.type.property-name.media-feature.media.css"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"support.constant.media-type.media.css"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(portrait|landscape)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"support.constant.property-value.media-property.media.css"}]},char_escape:{match:/\\([^\n])/dgv,name:"constant.character.escape.stylus"},color:{patterns:[{begin:/\b(rgb|rgba|hsl|hsla)(\()/dgv,beginCaptures:{"1":{name:"support.function.color.css"},"2":{name:"punctuation.section.function.css"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.function.css"}},name:"meta.function.color.css",patterns:[{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#property_variable"}]},{captures:{"1":{name:"punctuation.definition.constant.css"}},match:/(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\b/dgv,name:"constant.other.color.rgb-value.css"},{comment:"http://www.w3.org/TR/CSS21/syndata.html#value-def-color",match:/\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\b/dgv,name:"support.constant.color.w3c-standard-color-name.css"},{comment:"http://www.w3.org/TR/css3-color/#svg-color",match:/\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\b/dgv,name:"support.constant.color.w3c-extended-color-name.css"}]},comment:{patterns:[{include:"#comment_block"},{include:"#comment_line"}]},comment_block:{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.css"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.css"}},name:"comment.block.css"},comment_line:{begin:/(^[ \t]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.stylus"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"search_start_clip"}),patterns:[{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.stylus"}},end:/(?=\n)/dgv,name:"comment.line.double-slash.stylus"}]},declaration:{begin:/((?<=^)[^\P{space}\n]+)|((?<=;)[^\P{space}\n]*)|((?<=\{)[^\P{space}\n]*)/dgv,end:/(?=\n)|(;)|(?=\})|(\n)/dgv,endCaptures:{"2":{name:"punctuation.terminator.rule.css"}},name:"meta.property-list.css",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])--(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.css"},{include:"#language_keywords"},{include:"#language_constants"},{match:/(?<=^)[^\P{space}\n]+(\n)/dgv},{captures:{"1":{name:"support.type.property-name.css"},"2":{name:"punctuation.separator.key-value.css"},"3":{name:"variable.section.css"}},match:/\p{space}*(counter-reset|counter-increment)(?:(:)|[^\P{space}\n])[^\P{space}\n]*([a-zA-Z_\-][a-zA-Z0-9_\-]*)/dgvy,name:"meta.property.counter.css"},{begin:/\p{space}*(filter)(?:(:)|[^\P{space}\n])[^\P{space}\n]*/dgvy,beginCaptures:{"1":{name:"support.type.property-name.css"},"2":{name:"punctuation.separator.key-value.css"}},end:/(?=\n|;|\}|(?=\n?$))/dgv,name:"meta.property.filter.css",patterns:[{include:"#function"},{include:"#property_values"}]},{include:"#property"},{include:"#interpolation"},{include:"$self"}]},font_name:{match:/(\b(?:arial|century|comic|courier|cursive|fantasy|futura|garamond|georgia|helvetica|impact|lucida|monospace|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif)\b)/dgiv,name:"support.constant.font-name.css"},function:{begin:/(?=[a-zA-Z_\-][a-zA-Z0-9_\-]*\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.function.css"}},patterns:[{begin:/(format|url|local)(\()/dgv,beginCaptures:{"1":{name:"support.function.misc.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.misc.css",patterns:[{match:/(?<=\()[^\)\p{space}]*(?=\))/dgv,name:"string.css"},{include:"#string"},{include:"#variable"},{include:"#operator"},{match:/\p{space}*/dgv}]},{captures:{"1":{name:"support.function.misc.counter.css"},"2":{name:"punctuation.section.function.css"},"3":{name:"variable.section.css"}},match:/(counter)(\()([a-zA-Z_\-][a-zA-Z0-9_\-]*)(?=\))/dgv,name:"meta.function.misc.counter.css"},{begin:/(counters)(\()/dgv,beginCaptures:{"1":{name:"support.function.misc.counters.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.misc.counters.css",patterns:[{match:/[a-zA-Z_\-][a-zA-Z0-9_\-]*/dgvy,name:"variable.section.css"},{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#string"},{include:"#interpolation"}]},{begin:/(attr)(\()/dgv,beginCaptures:{"1":{name:"support.function.misc.attr.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.misc.attr.css",patterns:[{match:/[a-zA-Z_\-][a-zA-Z0-9_\-]*/dgvy,name:"entity.other.attribute-name.attribute.css"},{match:/(?<=[a-zA-Z0-9_\-])\p{space}*\b(string|color|url|integer|number|length|em|ex|px|rem|vw|vh|vmin|vmax|mm|cm|in|pt|pc|angle|deg|grad|rad|time|s|ms|frequency|Hz|kHz|%)\b/dgv,name:"support.type.attr.css"},{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#string"},{include:"#interpolation"}]},{begin:/(calc)(\()/dgv,beginCaptures:{"1":{name:"support.function.misc.calc.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.misc.calc.css",patterns:[{include:"#property_values"}]},{begin:/(cubic-bezier)(\()/dgv,beginCaptures:{"1":{name:"support.function.timing.cubic-bezier.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.timing.cubic-bezier.css",patterns:[{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#interpolation"}]},{begin:/(steps)(\()/dgv,beginCaptures:{"1":{name:"support.function.timing.steps.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.timing.steps.css",patterns:[{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#numeric"},{match:/\b(start|end)\b/dgv,name:"support.constant.timing.steps.direction.css"},{include:"#interpolation"}]},{begin:/(linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient)(\()/dgv,beginCaptures:{"1":{name:"support.function.gradient.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.gradient.css",patterns:[{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#color"},{match:/\b(to|bottom|right|left|top|circle|ellipse|center|closest-side|closest-corner|farthest-side|farthest-corner|at)\b/dgv,name:"support.constant.gradient.css"},{include:"#interpolation"}]},{begin:/(blur|brightness|contrast|grayscale|hue-rotate|invert|opacity|saturate|sepia)(\()/dgv,beginCaptures:{"1":{name:"support.function.filter.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.filter.css",patterns:[{include:"#numeric"},{include:"#property_variable"},{include:"#interpolation"}]},{begin:/(drop-shadow)(\()/dgv,beginCaptures:{"1":{name:"support.function.filter.drop-shadow.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.filter.drop-shadow.css",patterns:[{include:"#numeric"},{include:"#color"},{include:"#property_variable"},{include:"#interpolation"}]},{begin:/(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[yY]|rotate[zZ]|scale|scale3d|scale[xX]|scale[yY]|scale[zZ]|skew|skew[xX]|skew[yY]|translate|translate3d|translate[xX]|translate[yY]|translate[zZ])(\()/dgv,beginCaptures:{"1":{name:"support.function.transform.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.transform.css",patterns:[{include:"#numeric"},{include:"#property_variable"},{include:"#interpolation"}]},{match:/(url|local|format|counter|counters|attr|calc)(?=\()/dgv,name:"support.function.misc.css"},{match:/(cubic-bezier|steps)(?=\()/dgv,name:"support.function.timing.css"},{match:/(linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient)(?=\()/dgv,name:"support.function.gradient.css"},{match:/(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|opacity|saturate|sepia)(?=\()/dgv,name:"support.function.filter.css"},{match:/(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[yY]|rotate[zZ]|scale|scale3d|scale[xX]|scale[yY]|scale[zZ]|skew|skew[xX]|skew[yY]|translate|translate3d|translate[xX]|translate[yY]|translate[zZ])(?=\()/dgv,name:"support.function.transform.css"},{begin:/([a-zA-Z_\-][a-zA-Z0-9_\-]*)(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.stylus"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.stylus",patterns:[{match:/--(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.argument.stylus"},{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#interpolation"},{include:"#property_values"}]},{match:/\(/dgv,name:"punctuation.section.function.css"}]},interpolation:{begin:/(\{)[^\P{space}\n]*(?=[^\;\=]*[^\P{space}\n]*\})/dgv,beginCaptures:{"1":{name:"meta.brace.curly"}},end:/[^\P{space}\n]*(\})|\n|(?=\n?$)/dgv,endCaptures:{"1":{name:"meta.brace.curly"}},name:"meta.interpolation.stylus",patterns:[{include:"#variable"},{include:"#numeric"},{include:"#string"},{include:"#operator"}]},language_constants:{match:/\b(true|false|null)\b/dgv,name:"constant.language.stylus"},language_keywords:{patterns:[{match:/(\b|\p{space})(return|else|for|unless|if|else)\b/dgv,name:"keyword.control.stylus"},{match:/(\b|\p{space})(!important|in|is defined|is a)\b/dgv,name:"keyword.other.stylus"},{match:/\barguments\b/dgv,name:"variable.language.stylus"}]},numeric:{patterns:[{captures:{"1":{name:"keyword.other.unit.css"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}]|-)(?:(?:-|\+)?[0-9]+(?:\.[0-9]+)?|\.[0-9]+)((?:px|pt|ch|cm|mm|in|r?em|ex|pc|deg|g?rad|dpi|dpcm|dppx|fr|ms|s|turn|vh|vmax|vmin|vw)\b|%)?/dgv,name:"constant.numeric.css"}]},operator:{patterns:[{match:/((?:\?|:|!|~|\+|(\p{space}-\p{space})|(?:\*)?\*|\/|%|(\.)?\.\.|<|>|(?:=|:|\?|\+|-|\*|\/|%|<|>)?=|!=)|\b(?:in|is(?:nt)?|(?<!:)not|or|and)\b)/dgv,name:"keyword.operator.stylus"},{include:"#char_escape"}]},property:{begin:/\p{space}*(?:(-webkit-[\-A-Za-z]+|-moz-[\-A-Za-z]+|-o-[\-A-Za-z]+|-ms-[\-A-Za-z]+|-khtml-[\-A-Za-z]+|zoom|z-index|y|x|wrap|word-wrap|word-spacing|word-break|word|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|variant|user-select|up|unicode-bidi|unicode-range|unicode|trim|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-transform|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-justify|text-indent|text-height|text-emphasis|text-decoration|text-align-last|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|style-type|style-position|style-image|style|string-set|stretch|stress|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak|span|spacing|space-collapse|space|sizing|size-adjust|size|shadow|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-align|ruby|rows|rotation-point|rotation|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resize|reset|replace|repeat|rendering-intent|rate|radius|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-bottom|padding|pack|overhang|overflow-y|overflow-x|overflow-style|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset|numeral|new|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|model|mix-blend-mode|min-width|min-height|min|max-width|max-height|max|marquee-style|marquee-speed|marquee-play-count|marquee-direction|marquee|marks|mark-before|mark-after|mark|margin-top|margin-right|margin-left|margin-bottom|margin|mask-image|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-height|line-break|level|letter-spacing|length|left-width|left-style|left-color|left|label|justify-content|justify|iteration-count|inline-box-align|initial-value|initial-size|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-resolution|image-orientation|image|icon|hyphens|hyphenate-resource|hyphenate-lines|hyphenate-character|hyphenate-before|hyphenate-after|hyphenate|height|header|hanging-punctuation|gap|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-start|grid-row|grid-row-end|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|row-gap|gap|font-kerning|font-language-override|font-weight|font-variant-caps|font-variant|font-style|font-synthesis|font-stretch|font-size-adjust|font-size|font-family|font|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|fill|filter|family|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cursor|cue-before|cue-after|cue|crop|counter-reset|counter-increment|counter|count|content|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-profile|color|collapse|clip|clear|character|caption-side|break-inside|break-before|break-after|break|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-length|border-left-width|border-left-style|border-left-color|border-left|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|bookmark-target|bookmark-level|bookmark-label|bookmark|binding|bidi|before|baseline-shift|baseline|balance|background-blend-mode|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-break|background-attachment|background|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-duration|animation-direction|animation-delay|animation-fill-mode|animation|alignment-baseline|alignment-adjust|alignment|align-self|align-last|align-items|align-content|align|after|adjust|will-change)|(writing-mode|text-anchor|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|stop-opacity|stop-color|shape-rendering|marker-start|marker-mid|marker-end|lighting-color|kerning|image-rendering|glyph-orientation-vertical|glyph-orientation-horizontal|flood-opacity|flood-color|fill-rule|fill-opacity|fill|enable-background|color-rendering|color-interpolation-filters|color-interpolation|clip-rule|clip-path)|([a-zA-Z_\-][a-zA-Z0-9_\-]*))(?!([^\P{space}\n]*&)|([^\P{space}\n]*\{))(?=:|([^\P{space}\n]+[^\p{space}]))/dgvy,beginCaptures:{"1":{name:"support.type.property-name.css"},"2":{name:"support.type.property-name.svg.css"},"3":{name:"support.function.mixin.stylus"}},end:/(;)|(?=\n|\}|(?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#property_value"}]},property_value:{begin:/(?:(:)|(\p{space}))(\p{space}*)(?!&)/dgvy,beginCaptures:{"1":{name:"punctuation.separator.key-value.css"},"2":{name:"punctuation.separator.key-value.css"}},end:/(?=\n|;|\})/dgv,endCaptures:{"1":{name:"punctuation.terminator.rule.css"}},name:"meta.property-value.css",patterns:[{include:"#property_values"},{match:/[^\n]+?/dgv}]},property_values:{patterns:[{include:"#function"},{include:"#comment"},{include:"#language_keywords"},{include:"#language_constants"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(wrap-reverse|wrap|whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|unicase|underline|ultra-expanded|ultra-condensed|transparent|transform|top|titling-caps|thin|thick|text-top|text-bottom|text|tb-rl|table-row-group|table-row|table-header-group|table-footer-group|table-column-group|table-column|table-cell|table|sw-resize|super|strict|stretch|step-start|step-end|static|square|space-between|space-around|space|solid|soft-light|small-caps|separate|semi-expanded|semi-condensed|se-resize|scroll|screen|saturation|s-resize|running|rtl|row-reverse|row-resize|row|round|right|ridge|reverse|repeat-y|repeat-x|repeat|relative|progressive|progress|pre-wrap|pre-line|pre|pointer|petite-caps|paused|pan-x|pan-left|pan-right|pan-y|pan-up|pan-down|padding-box|overline|overlay|outside|outset|optimizeSpeed|optimizeLegibility|opacity|oblique|nw-resize|nowrap|not-allowed|normal|none|no-repeat|no-drop|newspaper|ne-resize|n-resize|multiply|move|middle|medium|max-height|manipulation|main-size|luminosity|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|local|list-item|linear(?!-)|line-through|line-edge|line|lighter|lighten|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline-block|inline|inherit|infinite|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|hue|horizontal|hidden|help|hard-light|hand|groove|geometricPrecision|forwards|flex-start|flex-end|flex|fixed|extra-expanded|extra-condensed|expanded|exclusion|ellipsis|ease-out|ease-in-out|ease-in|ease|e-resize|double|dotted|distribute-space|distribute-letter|distribute-all-lines|distribute|disc|disabled|difference|default|decimal|dashed|darken|currentColor|crosshair|cover|content-box|contain|condensed|column-reverse|column|color-dodge|color-burn|color|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|border-box|bolder|bold|block|bidi-override|below|baseline|balance|backwards|auto|antialiased|always|alternate-reverse|alternate|all-small-caps|all-scroll|all-petite-caps|all|absolute)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"support.constant.property-value.css"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(start|sRGB|square|round|optimizeSpeed|optimizeQuality|nonzero|miter|middle|linearRGB|geometricPrecision |evenodd |end |crispEdges|butt|bevel)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"support.constant.property-value.svg.css"},{include:"#font_name"},{include:"#numeric"},{include:"#color"},{include:"#string"},{match:/!\p{space}*important/dgv,name:"keyword.other.important.css"},{include:"#operator"},{include:"#stylus_keywords"},{include:"#property_variable"}]},property_variable:{patterns:[{include:"#variable"},{match:/(?<!^)(@[a-zA-Z_\-][a-zA-Z0-9_\-]*)/dgv,name:"variable.property.stylus"}]},selector:{patterns:[{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(a|abbr|acronym|address|area|article|aside|audio|b|base|bdi|bdo|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|data|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|main|map|mark|math|menu|menuitem|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|svg|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"entity.name.tag.css"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(vkern|view|use|tspan|tref|title|textPath|text|symbol|switch|svg|style|stop|set|script|rect|radialGradient|polyline|polygon|pattern|path|mpath|missing-glyph|metadata|mask|marker|linearGradient|line|image|hkern|glyphRef|glyph|g|foreignObject|font-face-uri|font-face-src|font-face-name|font-face-format|font-face|font|filter|feTurbulence|feTile|feSpotLight|feSpecularLighting|fePointLight|feOffset|feMorphology|feMergeNode|feMerge|feImage|feGaussianBlur|feFuncR|feFuncG|feFuncB|feFuncA|feFlood|feDistantLight|feDisplacementMap|feDiffuseLighting|feConvolveMatrix|feComposite|feComponentTransfer|feColorMatrix|feBlend|ellipse|desc|defs|cursor|color-profile|clipPath|circle|animateTransform|animateMotion|animateColor|animate|altGlyphItem|altGlyphDef|altGlyph|a)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"entity.name.tag.svg.css"},{match:/\p{space}*(,)\p{space}*/dgv,name:"meta.selector.stylus"},{match:/\*/dgv,name:"meta.selector.stylus"},{captures:{"2":{name:"entity.other.attribute-name.parent-selector-suffix.stylus"}},match:/\p{space}*(&)([a-zA-Z0-9_\-]+)\p{space}*/dgv,name:"meta.selector.stylus"},{match:/\p{space}*(&)\p{space}*/dgv,name:"meta.selector.stylus"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(\.)[a-zA-Z0-9_\-]+/dgv,name:"entity.other.attribute-name.class.css"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(#)[a-zA-Z][a-zA-Z0-9_\-]*/dgv,name:"entity.other.attribute-name.id.css"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(:+)(after|before|content|first-letter|first-line|host|(-(moz|webkit|ms)-)?selection)\b/dgv,name:"entity.other.attribute-name.pseudo-element.css"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(:)((first|last)-child|(first|last|only)-of-type|empty|root|target|first|left|right)\b/dgv,name:"entity.other.attribute-name.pseudo-class.css"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(:)(checked|enabled|default|disabled|indeterminate|invalid|optional|required|valid)\b/dgv,name:"entity.other.attribute-name.pseudo-class.ui-state.css"},{begin:/((:)not)(\()/dgv,beginCaptures:{"1":{name:"entity.other.attribute-name.pseudo-class.css"},"2":{name:"punctuation.definition.entity.css"},"3":{name:"punctuation.section.function.css"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.function.css"}},patterns:[{include:"#selector"}]},{captures:{"1":{name:"entity.other.attribute-name.pseudo-class.css"},"2":{name:"punctuation.definition.entity.css"},"3":{name:"punctuation.section.function.css"},"4":{name:"constant.numeric.css"},"5":{name:"punctuation.section.function.css"}},match:/((:)nth-(?:(?:last-)?child|(?:last-)?of-type))(\()(-?(?:\p{Nd}+n?|n)(?:\+\p{Nd}+)?|even|odd)(\))/dgv},{captures:{"1":{name:"entity.other.attribute-name.pseudo-class.css"},"2":{name:"puncutation.definition.entity.css"},"3":{name:"punctuation.section.function.css"},"4":{name:"constant.language.css"},"5":{name:"punctuation.section.function.css"}},match:/((:)dir)\p{space}*(?:(\()(ltr|rtl)?(\)))?/dgv},{captures:{"1":{name:"entity.other.attribute-name.pseudo-class.css"},"2":{name:"puncutation.definition.entity.css"},"3":{name:"punctuation.section.function.css"},"4":{name:"constant.language.css"},"6":{name:"punctuation.section.function.css"}},match:/((:)lang)\p{space}*(?:(\()([\p{L}\p{M}\p{N}\p{Pc}]+(-[\p{L}\p{M}\p{N}\p{Pc}]+)?)?(\)))?/dgv},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(:)(active|hover|link|visited|focus)\b/dgv,name:"entity.other.attribute-name.pseudo-class.css"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(::)(shadow)\b/dgv,name:"entity.other.attribute-name.pseudo-class.css"},{captures:{"1":{name:"punctuation.definition.entity.css"},"2":{name:"entity.other.attribute-name.attribute.css"},"3":{name:"punctuation.separator.operator.css"},"4":{name:"string.unquoted.attribute-value.css"},"5":{name:"string.quoted.double.attribute-value.css"},"6":{name:"punctuation.definition.string.begin.css"},"7":{name:"punctuation.definition.string.end.css"},"8":{name:"punctuation.definition.entity.css"}},match:/*@__PURE__*/ new EmulatedRegExp("(\\[)\\p{space}*(-?[_a-z\\\\\\P{ASCII}][_a-z0-9\\-\\\\\\P{ASCII}]*)(?:\\p{space}*([\\~\\|\\^\\$\\*]?=)\\p{space}*(?:(-?[_a-z\\\\\\P{ASCII}][_a-z0-9\\-\\\\\\P{ASCII}]*)|((?:(?=($E$(['\"])(?:[^\\\\]|\\\\[^\\n])*?(\\7)))\\6))))?\\p{space}*(\\])","dgiv",{"useEmulationGroups":true}),name:"meta.attribute-selector.css"},{include:"#interpolation"},{include:"#variable"}]},string:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.css"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{match:/\\([a-fA-F0-9]{1,6}|[^\n])/dgv,name:"constant.character.escape.css"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.css"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{match:/\\([a-fA-F0-9]{1,6}|[^\n])/dgv,name:"constant.character.escape.css"}]}]},variable:{match:/(\$[a-zA-Z_\-][a-zA-Z0-9_\-]*)/dgv,name:"variable.stylus"},variable_declaration:{begin:/^[^\P{space}\n]*(\$?[a-zA-Z_\-][a-zA-Z0-9_\-]*)[^\P{space}\n]*(=|\?=|:=)/dgv,beginCaptures:{"1":{name:"variable.stylus"},"2":{name:"keyword.operator.stylus"}},end:/(\n)|(;)|(?=\})/dgv,endCaptures:{"2":{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#property_values"}]}},scopeName:"source.stylus",embeddedLangs:undefined,aliases:["styl"]})
3
+ const lang = Object.freeze({displayName:"Stylus",fileTypes:["styl","stylus","css.styl","css.stylus"],name:"stylus",patterns:[{include:"#comment"},{include:"#at_rule"},{include:"#language_keywords"},{include:"#language_constants"},{include:"#variable_declaration"},{include:"#function"},{include:"#selector"},{include:"#declaration"},{captures:{"1":{name:"punctuation.section.property-list.begin.css"},"2":{name:"punctuation.section.property-list.end.css"}},match:/(\{)(\})/dgv,name:"meta.brace.curly.css"},{match:/\{|\}/dgv,name:"meta.brace.curly.css"},{include:"#numeric"},{include:"#string"},{include:"#operator"}],repository:{at_rule:{patterns:[{begin:/\p{space}*((@)(import|require))\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.at-rule.import.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},end:/\p{space}*((?=;|(?=\n?$)|\n))/dgv,endCaptures:{"1":{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.import.css",patterns:[{include:"#string"}]},{begin:/\p{space}*((@)(extend[s]?)\b)\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.at-rule.extend.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},end:/\p{space}*((?=;|(?=\n?$)|\n))/dgv,endCaptures:{"1":{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.extend.css",patterns:[{include:"#selector"}]},{captures:{"1":{name:"keyword.control.at-rule.fontface.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},match:/^\p{space}*((@)font-face)\b/dgv,name:"meta.at-rule.fontface.stylus"},{captures:{"1":{name:"keyword.control.at-rule.css.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},match:/^\p{space}*((@)css)\b/dgv,name:"meta.at-rule.css.stylus"},{begin:/\p{space}*((@)charset)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.at-rule.charset.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},end:/\p{space}*((?=;|(?=\n?$)|\n))/dgv,name:"meta.at-rule.charset.stylus",patterns:[{include:"#string"}]},{begin:/\p{space}*((@)keyframes)\b\p{space}+([a-zA-Z_\-][a-zA-Z0-9_\-]*)/dgv,beginCaptures:{"1":{name:"keyword.control.at-rule.keyframes.stylus"},"2":{name:"punctuation.definition.keyword.stylus"},"3":{name:"entity.name.function.keyframe.stylus"}},end:/\p{space}*((?=\{|(?=\n?$)|\n))/dgv,name:"meta.at-rule.keyframes.stylus"},{begin:/(?=(\b(\p{Nd}+%|from\b|to\b)))/dgv,end:/(?=(\{|\n))/dgv,name:"meta.at-rule.keyframes.stylus",patterns:[{match:/(\b(\p{Nd}+%|from\b|to\b))/dgv,name:"entity.other.attribute-name.stylus"}]},{captures:{"1":{name:"keyword.control.at-rule.media.stylus"},"2":{name:"punctuation.definition.keyword.stylus"}},match:/^\p{space}*((@)media)\b/dgv,name:"meta.at-rule.media.stylus"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(width|scan|resolution|orientation|monochrome|min-width|min-resolution|min-monochrome|min-height|min-device-width|min-device-height|min-device-aspect-ratio|min-color-index|min-color|min-aspect-ratio|max-width|max-resolution|max-monochrome|max-height|max-device-width|max-device-height|max-device-aspect-ratio|max-color-index|max-color|max-aspect-ratio|height|grid|device-width|device-height|device-aspect-ratio|color-index|color|aspect-ratio)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"support.type.property-name.media-feature.media.css"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"support.constant.media-type.media.css"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(portrait|landscape)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"support.constant.property-value.media-property.media.css"}]},char_escape:{match:/\\([^\n])/dgv,name:"constant.character.escape.stylus"},color:{patterns:[{begin:/\b(rgb|rgba|hsl|hsla)(\()/dgv,beginCaptures:{"1":{name:"support.function.color.css"},"2":{name:"punctuation.section.function.css"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.function.css"}},name:"meta.function.color.css",patterns:[{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#property_variable"}]},{captures:{"1":{name:"punctuation.definition.constant.css"}},match:/(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\b/dgv,name:"constant.other.color.rgb-value.css"},{comment:"http://www.w3.org/TR/CSS21/syndata.html#value-def-color",match:/\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\b/dgv,name:"support.constant.color.w3c-standard-color-name.css"},{comment:"http://www.w3.org/TR/css3-color/#svg-color",match:/\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\b/dgv,name:"support.constant.color.w3c-extended-color-name.css"}]},comment:{patterns:[{include:"#comment_block"},{include:"#comment_line"}]},comment_block:{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.css"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.css"}},name:"comment.block.css"},comment_line:{begin:/(^[ \t]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.stylus"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.stylus"}},end:/(?=\n)/dgv,name:"comment.line.double-slash.stylus"}]},declaration:{begin:/((?<=^)[^\P{space}\n]+)|((?<=;)[^\P{space}\n]*)|((?<=\{)[^\P{space}\n]*)/dgv,end:/(?=\n)|(;)|(?=\})|(\n)/dgv,endCaptures:{"2":{name:"punctuation.terminator.rule.css"}},name:"meta.property-list.css",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])--(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.css"},{include:"#language_keywords"},{include:"#language_constants"},{match:/(?<=^)[^\P{space}\n]+(\n)/dgv},{captures:{"1":{name:"support.type.property-name.css"},"2":{name:"punctuation.separator.key-value.css"},"3":{name:"variable.section.css"}},match:/\p{space}*(counter-reset|counter-increment)(?:(:)|[^\P{space}\n])[^\P{space}\n]*([a-zA-Z_\-][a-zA-Z0-9_\-]*)/dgvy,name:"meta.property.counter.css"},{begin:/\p{space}*(filter)(?:(:)|[^\P{space}\n])[^\P{space}\n]*/dgvy,beginCaptures:{"1":{name:"support.type.property-name.css"},"2":{name:"punctuation.separator.key-value.css"}},end:/(?=\n|;|\}|(?=\n?$))/dgv,name:"meta.property.filter.css",patterns:[{include:"#function"},{include:"#property_values"}]},{include:"#property"},{include:"#interpolation"},{include:"$self"}]},font_name:{match:/(\b(?:arial|century|comic|courier|cursive|fantasy|futura|garamond|georgia|helvetica|impact|lucida|monospace|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif)\b)/dgiv,name:"support.constant.font-name.css"},function:{begin:/(?=[a-zA-Z_\-][a-zA-Z0-9_\-]*\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.section.function.css"}},patterns:[{begin:/(format|url|local)(\()/dgv,beginCaptures:{"1":{name:"support.function.misc.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.misc.css",patterns:[{match:/(?<=\()[^\)\p{space}]*(?=\))/dgv,name:"string.css"},{include:"#string"},{include:"#variable"},{include:"#operator"},{match:/\p{space}*/dgv}]},{captures:{"1":{name:"support.function.misc.counter.css"},"2":{name:"punctuation.section.function.css"},"3":{name:"variable.section.css"}},match:/(counter)(\()([a-zA-Z_\-][a-zA-Z0-9_\-]*)(?=\))/dgv,name:"meta.function.misc.counter.css"},{begin:/(counters)(\()/dgv,beginCaptures:{"1":{name:"support.function.misc.counters.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.misc.counters.css",patterns:[{match:/[a-zA-Z_\-][a-zA-Z0-9_\-]*/dgvy,name:"variable.section.css"},{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#string"},{include:"#interpolation"}]},{begin:/(attr)(\()/dgv,beginCaptures:{"1":{name:"support.function.misc.attr.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.misc.attr.css",patterns:[{match:/[a-zA-Z_\-][a-zA-Z0-9_\-]*/dgvy,name:"entity.other.attribute-name.attribute.css"},{match:/(?<=[a-zA-Z0-9_\-])\p{space}*\b(string|color|url|integer|number|length|em|ex|px|rem|vw|vh|vmin|vmax|mm|cm|in|pt|pc|angle|deg|grad|rad|time|s|ms|frequency|Hz|kHz|%)\b/dgv,name:"support.type.attr.css"},{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#string"},{include:"#interpolation"}]},{begin:/(calc)(\()/dgv,beginCaptures:{"1":{name:"support.function.misc.calc.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.misc.calc.css",patterns:[{include:"#property_values"}]},{begin:/(cubic-bezier)(\()/dgv,beginCaptures:{"1":{name:"support.function.timing.cubic-bezier.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.timing.cubic-bezier.css",patterns:[{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#interpolation"}]},{begin:/(steps)(\()/dgv,beginCaptures:{"1":{name:"support.function.timing.steps.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.timing.steps.css",patterns:[{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#numeric"},{match:/\b(start|end)\b/dgv,name:"support.constant.timing.steps.direction.css"},{include:"#interpolation"}]},{begin:/(linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient)(\()/dgv,beginCaptures:{"1":{name:"support.function.gradient.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.gradient.css",patterns:[{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#numeric"},{include:"#color"},{match:/\b(to|bottom|right|left|top|circle|ellipse|center|closest-side|closest-corner|farthest-side|farthest-corner|at)\b/dgv,name:"support.constant.gradient.css"},{include:"#interpolation"}]},{begin:/(blur|brightness|contrast|grayscale|hue-rotate|invert|opacity|saturate|sepia)(\()/dgv,beginCaptures:{"1":{name:"support.function.filter.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.filter.css",patterns:[{include:"#numeric"},{include:"#property_variable"},{include:"#interpolation"}]},{begin:/(drop-shadow)(\()/dgv,beginCaptures:{"1":{name:"support.function.filter.drop-shadow.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.filter.drop-shadow.css",patterns:[{include:"#numeric"},{include:"#color"},{include:"#property_variable"},{include:"#interpolation"}]},{begin:/(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[yY]|rotate[zZ]|scale|scale3d|scale[xX]|scale[yY]|scale[zZ]|skew|skew[xX]|skew[yY]|translate|translate3d|translate[xX]|translate[yY]|translate[zZ])(\()/dgv,beginCaptures:{"1":{name:"support.function.transform.css"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.transform.css",patterns:[{include:"#numeric"},{include:"#property_variable"},{include:"#interpolation"}]},{match:/(url|local|format|counter|counters|attr|calc)(?=\()/dgv,name:"support.function.misc.css"},{match:/(cubic-bezier|steps)(?=\()/dgv,name:"support.function.timing.css"},{match:/(linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient)(?=\()/dgv,name:"support.function.gradient.css"},{match:/(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|opacity|saturate|sepia)(?=\()/dgv,name:"support.function.filter.css"},{match:/(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[yY]|rotate[zZ]|scale|scale3d|scale[xX]|scale[yY]|scale[zZ]|skew|skew[xX]|skew[yY]|translate|translate3d|translate[xX]|translate[yY]|translate[zZ])(?=\()/dgv,name:"support.function.transform.css"},{begin:/([a-zA-Z_\-][a-zA-Z0-9_\-]*)(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.stylus"},"2":{name:"punctuation.section.function.css"}},end:/(?=\))/dgv,name:"meta.function.stylus",patterns:[{match:/--(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.argument.stylus"},{match:/\p{space}*(,)\p{space}*/dgv,name:"punctuation.separator.parameter.css"},{include:"#interpolation"},{include:"#property_values"}]},{match:/\(/dgv,name:"punctuation.section.function.css"}]},interpolation:{begin:/(\{)[^\P{space}\n]*(?=[^\;\=]*[^\P{space}\n]*\})/dgv,beginCaptures:{"1":{name:"meta.brace.curly"}},end:/[^\P{space}\n]*(\})|\n|(?=\n?$)/dgv,endCaptures:{"1":{name:"meta.brace.curly"}},name:"meta.interpolation.stylus",patterns:[{include:"#variable"},{include:"#numeric"},{include:"#string"},{include:"#operator"}]},language_constants:{match:/\b(true|false|null)\b/dgv,name:"constant.language.stylus"},language_keywords:{patterns:[{match:/(\b|\p{space})(return|else|for|unless|if|else)\b/dgv,name:"keyword.control.stylus"},{match:/(\b|\p{space})(!important|in|is defined|is a)\b/dgv,name:"keyword.other.stylus"},{match:/\barguments\b/dgv,name:"variable.language.stylus"}]},numeric:{patterns:[{captures:{"1":{name:"keyword.other.unit.css"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}]|-)(?:(?:-|\+)?[0-9]+(?:\.[0-9]+)?|\.[0-9]+)((?:px|pt|ch|cm|mm|in|r?em|ex|pc|deg|g?rad|dpi|dpcm|dppx|fr|ms|s|turn|vh|vmax|vmin|vw)\b|%)?/dgv,name:"constant.numeric.css"}]},operator:{patterns:[{match:/((?:\?|:|!|~|\+|(\p{space}-\p{space})|(?:\*)?\*|\/|%|(\.)?\.\.|<|>|(?:=|:|\?|\+|-|\*|\/|%|<|>)?=|!=)|\b(?:in|is(?:nt)?|(?<!:)not|or|and)\b)/dgv,name:"keyword.operator.stylus"},{include:"#char_escape"}]},property:{begin:/*@__PURE__*/ new EmulatedRegExp("\\p{space}*(?:(-webkit-[\\-A-Za-z]+|-moz-[\\-A-Za-z]+|-o-[\\-A-Za-z]+|-ms-[\\-A-Za-z]+|-khtml-[\\-A-Za-z]+|zoom|z-index|y|x|wrap|word-wrap|word-spacing|word-break|word|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|variant|user-select|up|unicode-bidi|unicode-range|unicode|trim|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-transform|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-justify|text-indent|text-height|text-emphasis|text-decoration|text-align-last|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|style-type|style-position|style-image|style|string-set|stretch|stress|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak|span|spacing|space-collapse|space|sizing|size-adjust|size|shadow|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-align|ruby|rows|rotation-point|rotation|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resize|reset|replace|repeat|rendering-intent|rate|radius|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-bottom|padding|pack|overhang|overflow-y|overflow-x|overflow-style|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset|numeral|new|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|model|mix-blend-mode|min-width|min-height|min|max-width|max-height|max|marquee-style|marquee-speed|marquee-play-count|marquee-direction|marquee|marks|mark-before|mark-after|mark|margin-top|margin-right|margin-left|margin-bottom|margin|mask-image|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-height|line-break|level|letter-spacing|length|left-width|left-style|left-color|left|label|justify-content|justify|iteration-count|inline-box-align|initial-value|initial-size|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-resolution|image-orientation|image|icon|hyphens|hyphenate-resource|hyphenate-lines|hyphenate-character|hyphenate-before|hyphenate-after|hyphenate|height|header|hanging-punctuation|gap|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-start|grid-row|grid-row-end|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|row-gap|gap|font-kerning|font-language-override|font-weight|font-variant-caps|font-variant|font-style|font-synthesis|font-stretch|font-size-adjust|font-size|font-family|font|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|fill|filter|family|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cursor|cue-before|cue-after|cue|crop|counter-reset|counter-increment|counter|count|content|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-profile|color|collapse|clip|clear|character|caption-side|break-inside|break-before|break-after|break|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-length|border-left-width|border-left-style|border-left-color|border-left|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|bookmark-target|bookmark-level|bookmark-label|bookmark|binding|bidi|before|baseline-shift|baseline|balance|background-blend-mode|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-break|background-attachment|background|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-duration|animation-direction|animation-delay|animation-fill-mode|animation|alignment-baseline|alignment-adjust|alignment|align-self|align-last|align-items|align-content|align|after|adjust|will-change)|(writing-mode|text-anchor|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|stop-opacity|stop-color|shape-rendering|marker-start|marker-mid|marker-end|lighting-color|kerning|image-rendering|glyph-orientation-vertical|glyph-orientation-horizontal|flood-opacity|flood-color|fill-rule|fill-opacity|fill|enable-background|color-rendering|color-interpolation-filters|color-interpolation|clip-rule|clip-path)|([a-zA-Z_\\-][a-zA-Z0-9_\\-]*))(?!([^\\P{space}\\n]*&)|([^\\P{space}\\n]*\\{))(?=:|([^\\P{space}\\n]+[^\\p{space}]))","dgvy",{"lazyCompile":true}),beginCaptures:{"1":{name:"support.type.property-name.css"},"2":{name:"support.type.property-name.svg.css"},"3":{name:"support.function.mixin.stylus"}},end:/(;)|(?=\n|\}|(?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#property_value"}]},property_value:{begin:/(?:(:)|(\p{space}))(\p{space}*)(?!&)/dgvy,beginCaptures:{"1":{name:"punctuation.separator.key-value.css"},"2":{name:"punctuation.separator.key-value.css"}},end:/(?=\n|;|\})/dgv,endCaptures:{"1":{name:"punctuation.terminator.rule.css"}},name:"meta.property-value.css",patterns:[{include:"#property_values"},{match:/[^\n]+?/dgv}]},property_values:{patterns:[{include:"#function"},{include:"#comment"},{include:"#language_keywords"},{include:"#language_constants"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(wrap-reverse|wrap|whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|unicase|underline|ultra-expanded|ultra-condensed|transparent|transform|top|titling-caps|thin|thick|text-top|text-bottom|text|tb-rl|table-row-group|table-row|table-header-group|table-footer-group|table-column-group|table-column|table-cell|table|sw-resize|super|strict|stretch|step-start|step-end|static|square|space-between|space-around|space|solid|soft-light|small-caps|separate|semi-expanded|semi-condensed|se-resize|scroll|screen|saturation|s-resize|running|rtl|row-reverse|row-resize|row|round|right|ridge|reverse|repeat-y|repeat-x|repeat|relative|progressive|progress|pre-wrap|pre-line|pre|pointer|petite-caps|paused|pan-x|pan-left|pan-right|pan-y|pan-up|pan-down|padding-box|overline|overlay|outside|outset|optimizeSpeed|optimizeLegibility|opacity|oblique|nw-resize|nowrap|not-allowed|normal|none|no-repeat|no-drop|newspaper|ne-resize|n-resize|multiply|move|middle|medium|max-height|manipulation|main-size|luminosity|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|local|list-item|linear(?!-)|line-through|line-edge|line|lighter|lighten|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline-block|inline|inherit|infinite|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|hue|horizontal|hidden|help|hard-light|hand|groove|geometricPrecision|forwards|flex-start|flex-end|flex|fixed|extra-expanded|extra-condensed|expanded|exclusion|ellipsis|ease-out|ease-in-out|ease-in|ease|e-resize|double|dotted|distribute-space|distribute-letter|distribute-all-lines|distribute|disc|disabled|difference|default|decimal|dashed|darken|currentColor|crosshair|cover|content-box|contain|condensed|column-reverse|column|color-dodge|color-burn|color|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|border-box|bolder|bold|block|bidi-override|below|baseline|balance|backwards|auto|antialiased|always|alternate-reverse|alternate|all-small-caps|all-scroll|all-petite-caps|all|absolute)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"support.constant.property-value.css"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(start|sRGB|square|round|optimizeSpeed|optimizeQuality|nonzero|miter|middle|linearRGB|geometricPrecision |evenodd |end |crispEdges|butt|bevel)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"support.constant.property-value.svg.css"},{include:"#font_name"},{include:"#numeric"},{include:"#color"},{include:"#string"},{match:/!\p{space}*important/dgv,name:"keyword.other.important.css"},{include:"#operator"},{include:"#stylus_keywords"},{include:"#property_variable"}]},property_variable:{patterns:[{include:"#variable"},{match:/(?<!^)(@[a-zA-Z_\-][a-zA-Z0-9_\-]*)/dgv,name:"variable.property.stylus"}]},selector:{patterns:[{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(a|abbr|acronym|address|area|article|aside|audio|b|base|bdi|bdo|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|data|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|main|map|mark|math|menu|menuitem|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|svg|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"entity.name.tag.css"},{match:/(?=[\p{L}\p{M}\p{N}\p{Pc}])(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(vkern|view|use|tspan|tref|title|textPath|text|symbol|switch|svg|style|stop|set|script|rect|radialGradient|polyline|polygon|pattern|path|mpath|missing-glyph|metadata|mask|marker|linearGradient|line|image|hkern|glyphRef|glyph|g|foreignObject|font-face-uri|font-face-src|font-face-name|font-face-format|font-face|font|filter|feTurbulence|feTile|feSpotLight|feSpecularLighting|fePointLight|feOffset|feMorphology|feMergeNode|feMerge|feImage|feGaussianBlur|feFuncR|feFuncG|feFuncB|feFuncA|feFlood|feDistantLight|feDisplacementMap|feDiffuseLighting|feConvolveMatrix|feComposite|feComponentTransfer|feColorMatrix|feBlend|ellipse|desc|defs|cursor|color-profile|clipPath|circle|animateTransform|animateMotion|animateColor|animate|altGlyphItem|altGlyphDef|altGlyph|a)(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"entity.name.tag.svg.css"},{match:/\p{space}*(,)\p{space}*/dgv,name:"meta.selector.stylus"},{match:/\*/dgv,name:"meta.selector.stylus"},{captures:{"2":{name:"entity.other.attribute-name.parent-selector-suffix.stylus"}},match:/\p{space}*(&)([a-zA-Z0-9_\-]+)\p{space}*/dgv,name:"meta.selector.stylus"},{match:/\p{space}*(&)\p{space}*/dgv,name:"meta.selector.stylus"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(\.)[a-zA-Z0-9_\-]+/dgv,name:"entity.other.attribute-name.class.css"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(#)[a-zA-Z][a-zA-Z0-9_\-]*/dgv,name:"entity.other.attribute-name.id.css"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(:+)(after|before|content|first-letter|first-line|host|(-(moz|webkit|ms)-)?selection)\b/dgv,name:"entity.other.attribute-name.pseudo-element.css"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(:)((first|last)-child|(first|last|only)-of-type|empty|root|target|first|left|right)\b/dgv,name:"entity.other.attribute-name.pseudo-class.css"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(:)(checked|enabled|default|disabled|indeterminate|invalid|optional|required|valid)\b/dgv,name:"entity.other.attribute-name.pseudo-class.ui-state.css"},{begin:/((:)not)(\()/dgv,beginCaptures:{"1":{name:"entity.other.attribute-name.pseudo-class.css"},"2":{name:"punctuation.definition.entity.css"},"3":{name:"punctuation.section.function.css"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.function.css"}},patterns:[{include:"#selector"}]},{captures:{"1":{name:"entity.other.attribute-name.pseudo-class.css"},"2":{name:"punctuation.definition.entity.css"},"3":{name:"punctuation.section.function.css"},"4":{name:"constant.numeric.css"},"5":{name:"punctuation.section.function.css"}},match:/((:)nth-(?:(?:last-)?child|(?:last-)?of-type))(\()(-?(?:\p{Nd}+n?|n)(?:\+\p{Nd}+)?|even|odd)(\))/dgv},{captures:{"1":{name:"entity.other.attribute-name.pseudo-class.css"},"2":{name:"puncutation.definition.entity.css"},"3":{name:"punctuation.section.function.css"},"4":{name:"constant.language.css"},"5":{name:"punctuation.section.function.css"}},match:/((:)dir)\p{space}*(?:(\()(ltr|rtl)?(\)))?/dgv},{captures:{"1":{name:"entity.other.attribute-name.pseudo-class.css"},"2":{name:"puncutation.definition.entity.css"},"3":{name:"punctuation.section.function.css"},"4":{name:"constant.language.css"},"6":{name:"punctuation.section.function.css"}},match:/((:)lang)\p{space}*(?:(\()([\p{L}\p{M}\p{N}\p{Pc}]+(-[\p{L}\p{M}\p{N}\p{Pc}]+)?)?(\)))?/dgv},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(:)(active|hover|link|visited|focus)\b/dgv,name:"entity.other.attribute-name.pseudo-class.css"},{captures:{"1":{name:"punctuation.definition.entity.css"}},match:/(::)(shadow)\b/dgv,name:"entity.other.attribute-name.pseudo-class.css"},{captures:{"1":{name:"punctuation.definition.entity.css"},"2":{name:"entity.other.attribute-name.attribute.css"},"3":{name:"punctuation.separator.operator.css"},"4":{name:"string.unquoted.attribute-value.css"},"5":{name:"string.quoted.double.attribute-value.css"},"6":{name:"punctuation.definition.string.begin.css"},"7":{name:"punctuation.definition.string.end.css"},"8":{name:"punctuation.definition.entity.css"}},match:/*@__PURE__*/ new EmulatedRegExp("(\\[)\\p{space}*(-?[_a-z\\\\\\P{ASCII}][_a-z0-9\\-\\\\\\P{ASCII}]*)(?:\\p{space}*([\\~\\|\\^\\$\\*]?=)\\p{space}*(?:(-?[_a-z\\\\\\P{ASCII}][_a-z0-9\\-\\\\\\P{ASCII}]*)|((?:(?=((['\"])(?:[^\\\\]|\\\\[^\\n])*?(\\7)))\\6))))?\\p{space}*(\\])","dgiv",{"hiddenCaptures":[6]}),name:"meta.attribute-selector.css"},{include:"#interpolation"},{include:"#variable"}]},string:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.css"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{match:/\\([a-fA-F0-9]{1,6}|[^\n])/dgv,name:"constant.character.escape.css"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.css"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{match:/\\([a-fA-F0-9]{1,6}|[^\n])/dgv,name:"constant.character.escape.css"}]}]},variable:{match:/(\$[a-zA-Z_\-][a-zA-Z0-9_\-]*)/dgv,name:"variable.stylus"},variable_declaration:{begin:/^[^\P{space}\n]*(\$?[a-zA-Z_\-][a-zA-Z0-9_\-]*)[^\P{space}\n]*(=|\?=|:=)/dgv,beginCaptures:{"1":{name:"variable.stylus"},"2":{name:"keyword.operator.stylus"}},end:/(\n)|(;)|(?=\})/dgv,endCaptures:{"2":{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#property_values"}]}},scopeName:"source.stylus",embeddedLangs:undefined,aliases:["styl"]})
4
4
 
5
5
  export default [
6
6
  lang