@shikijs/langs-precompiled 1.27.1 → 1.28.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 (200) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-ts.mjs +1 -1
  6. package/dist/apache.mjs +1 -1
  7. package/dist/apex.mjs +1 -1
  8. package/dist/apl.mjs +1 -1
  9. package/dist/applescript.mjs +1 -1
  10. package/dist/ara.mjs +1 -1
  11. package/dist/asciidoc.mjs +1 -1
  12. package/dist/asm.mjs +1 -1
  13. package/dist/astro.mjs +1 -1
  14. package/dist/ballerina.mjs +1 -1
  15. package/dist/bat.mjs +1 -1
  16. package/dist/beancount.mjs +1 -1
  17. package/dist/bicep.mjs +1 -1
  18. package/dist/blade.mjs +1 -1
  19. package/dist/bsl.mjs +1 -1
  20. package/dist/c.mjs +1 -1
  21. package/dist/cadence.mjs +1 -1
  22. package/dist/cairo.mjs +1 -1
  23. package/dist/clarity.mjs +1 -1
  24. package/dist/clojure.mjs +1 -1
  25. package/dist/cmake.mjs +1 -1
  26. package/dist/cobol.mjs +1 -1
  27. package/dist/codeowners.mjs +1 -1
  28. package/dist/coffee.mjs +1 -1
  29. package/dist/common-lisp.mjs +1 -1
  30. package/dist/cpp-macro.mjs +1 -1
  31. package/dist/cpp.mjs +1 -1
  32. package/dist/crystal.mjs +1 -1
  33. package/dist/css.mjs +1 -1
  34. package/dist/csv.mjs +1 -1
  35. package/dist/cue.mjs +1 -1
  36. package/dist/cypher.mjs +1 -1
  37. package/dist/d.mjs +1 -1
  38. package/dist/dart.mjs +1 -1
  39. package/dist/dax.mjs +1 -1
  40. package/dist/desktop.mjs +1 -1
  41. package/dist/diff.mjs +1 -1
  42. package/dist/docker.mjs +1 -1
  43. package/dist/dotenv.mjs +1 -1
  44. package/dist/dream-maker.mjs +1 -1
  45. package/dist/edge.mjs +1 -1
  46. package/dist/elixir.mjs +1 -1
  47. package/dist/elm.mjs +1 -1
  48. package/dist/emacs-lisp.mjs +1 -1
  49. package/dist/erlang.mjs +1 -1
  50. package/dist/es-tag-css.mjs +1 -1
  51. package/dist/es-tag-glsl.mjs +1 -1
  52. package/dist/es-tag-html.mjs +1 -1
  53. package/dist/es-tag-sql.mjs +1 -1
  54. package/dist/es-tag-xml.mjs +1 -1
  55. package/dist/fennel.mjs +1 -1
  56. package/dist/fish.mjs +1 -1
  57. package/dist/fluent.mjs +1 -1
  58. package/dist/fortran-fixed-form.mjs +1 -1
  59. package/dist/fortran-free-form.mjs +1 -1
  60. package/dist/fsharp.mjs +1 -1
  61. package/dist/gdresource.mjs +1 -1
  62. package/dist/gdscript.mjs +1 -1
  63. package/dist/gdshader.mjs +1 -1
  64. package/dist/genie.mjs +1 -1
  65. package/dist/gherkin.mjs +1 -1
  66. package/dist/git-commit.mjs +1 -1
  67. package/dist/git-rebase.mjs +1 -1
  68. package/dist/glimmer-js.mjs +1 -1
  69. package/dist/glimmer-ts.mjs +1 -1
  70. package/dist/glsl.mjs +1 -1
  71. package/dist/gnuplot.mjs +1 -1
  72. package/dist/go.mjs +1 -1
  73. package/dist/graphql.mjs +1 -1
  74. package/dist/groovy.mjs +1 -1
  75. package/dist/hack.mjs +1 -1
  76. package/dist/haml.mjs +1 -1
  77. package/dist/handlebars.mjs +1 -1
  78. package/dist/haskell.mjs +1 -1
  79. package/dist/haxe.mjs +1 -1
  80. package/dist/hcl.mjs +1 -1
  81. package/dist/hjson.mjs +1 -1
  82. package/dist/hlsl.mjs +1 -1
  83. package/dist/html.mjs +1 -1
  84. package/dist/http.mjs +1 -1
  85. package/dist/hxml.mjs +1 -1
  86. package/dist/hy.mjs +1 -1
  87. package/dist/imba.mjs +1 -1
  88. package/dist/ini.mjs +1 -1
  89. package/dist/java.mjs +1 -1
  90. package/dist/javascript.mjs +1 -1
  91. package/dist/jinja-html.mjs +1 -1
  92. package/dist/jison.mjs +1 -1
  93. package/dist/json.mjs +1 -1
  94. package/dist/jsonc.mjs +1 -1
  95. package/dist/jsonl.mjs +1 -1
  96. package/dist/jsonnet.mjs +1 -1
  97. package/dist/jssm.mjs +1 -1
  98. package/dist/jsx.mjs +1 -1
  99. package/dist/julia.mjs +1 -1
  100. package/dist/kotlin.mjs +1 -1
  101. package/dist/latex.mjs +1 -1
  102. package/dist/lean.mjs +1 -1
  103. package/dist/less.mjs +1 -1
  104. package/dist/liquid.mjs +1 -1
  105. package/dist/log.mjs +1 -1
  106. package/dist/logo.mjs +1 -1
  107. package/dist/lua.mjs +1 -1
  108. package/dist/luau.mjs +1 -1
  109. package/dist/make.mjs +1 -1
  110. package/dist/markdown-vue.mjs +1 -1
  111. package/dist/markdown.mjs +1 -1
  112. package/dist/marko.mjs +1 -1
  113. package/dist/matlab.mjs +1 -1
  114. package/dist/mdc.mjs +1 -1
  115. package/dist/mdx.mjs +1 -1
  116. package/dist/mermaid.mjs +1 -1
  117. package/dist/mipsasm.mjs +1 -1
  118. package/dist/mojo.mjs +1 -1
  119. package/dist/move.mjs +1 -1
  120. package/dist/narrat.mjs +1 -1
  121. package/dist/nextflow.mjs +1 -1
  122. package/dist/nginx.mjs +1 -1
  123. package/dist/nim.mjs +1 -1
  124. package/dist/nix.mjs +1 -1
  125. package/dist/nushell.mjs +1 -1
  126. package/dist/objective-c.mjs +1 -1
  127. package/dist/objective-cpp.mjs +1 -1
  128. package/dist/ocaml.mjs +1 -1
  129. package/dist/pascal.mjs +1 -1
  130. package/dist/perl.mjs +1 -1
  131. package/dist/php.mjs +1 -1
  132. package/dist/plsql.mjs +1 -1
  133. package/dist/po.mjs +1 -1
  134. package/dist/postcss.mjs +1 -1
  135. package/dist/powershell.mjs +1 -1
  136. package/dist/prisma.mjs +1 -1
  137. package/dist/prolog.mjs +1 -1
  138. package/dist/proto.mjs +1 -1
  139. package/dist/pug.mjs +1 -1
  140. package/dist/puppet.mjs +1 -1
  141. package/dist/python.mjs +1 -1
  142. package/dist/qml.mjs +1 -1
  143. package/dist/qmldir.mjs +1 -1
  144. package/dist/r.mjs +1 -1
  145. package/dist/racket.mjs +1 -1
  146. package/dist/raku.mjs +1 -1
  147. package/dist/razor.mjs +10 -2
  148. package/dist/reg.mjs +1 -1
  149. package/dist/rel.mjs +1 -1
  150. package/dist/riscv.mjs +1 -1
  151. package/dist/rst.mjs +1 -1
  152. package/dist/ruby.mjs +1 -1
  153. package/dist/rust.mjs +1 -1
  154. package/dist/sas.mjs +1 -1
  155. package/dist/scala.mjs +1 -1
  156. package/dist/scheme.mjs +1 -1
  157. package/dist/scss.mjs +1 -1
  158. package/dist/sdbl.mjs +1 -1
  159. package/dist/shaderlab.mjs +1 -1
  160. package/dist/shellscript.mjs +1 -1
  161. package/dist/shellsession.mjs +1 -1
  162. package/dist/smalltalk.mjs +1 -1
  163. package/dist/solidity.mjs +1 -1
  164. package/dist/soy.mjs +1 -1
  165. package/dist/sql.mjs +1 -1
  166. package/dist/ssh-config.mjs +1 -1
  167. package/dist/stata.mjs +1 -1
  168. package/dist/stylus.mjs +1 -1
  169. package/dist/svelte.mjs +1 -1
  170. package/dist/system-verilog.mjs +1 -1
  171. package/dist/systemd.mjs +1 -1
  172. package/dist/talonscript.mjs +1 -1
  173. package/dist/tasl.mjs +1 -1
  174. package/dist/tcl.mjs +1 -1
  175. package/dist/templ.mjs +1 -1
  176. package/dist/terraform.mjs +1 -1
  177. package/dist/tex.mjs +1 -1
  178. package/dist/toml.mjs +1 -1
  179. package/dist/tsx.mjs +1 -1
  180. package/dist/turtle.mjs +1 -1
  181. package/dist/twig.mjs +1 -1
  182. package/dist/typescript.mjs +1 -1
  183. package/dist/typespec.mjs +1 -1
  184. package/dist/typst.mjs +1 -1
  185. package/dist/v.mjs +1 -1
  186. package/dist/vala.mjs +1 -1
  187. package/dist/vb.mjs +1 -1
  188. package/dist/verilog.mjs +1 -1
  189. package/dist/vhdl.mjs +1 -1
  190. package/dist/viml.mjs +1 -1
  191. package/dist/vue.mjs +1 -1
  192. package/dist/vyper.mjs +1 -1
  193. package/dist/wasm.mjs +1 -1
  194. package/dist/wenyan.mjs +1 -1
  195. package/dist/wikitext.mjs +1 -1
  196. package/dist/wolfram.mjs +1 -1
  197. package/dist/xml.mjs +1 -1
  198. package/dist/yaml.mjs +1 -1
  199. package/dist/zig.mjs +1 -1
  200. package/package.json +4 -4
package/dist/julia.mjs CHANGED
@@ -5,7 +5,7 @@ import javascript from './javascript.mjs'
5
5
  import r from './r.mjs'
6
6
  import sql from './sql.mjs'
7
7
 
8
- const lang = Object.freeze({displayName:"Julia",name:"julia",patterns:[{include:"#operator"},{include:"#array"},{include:"#string"},{include:"#parentheses"},{include:"#bracket"},{include:"#function_decl"},{include:"#function_call"},{include:"#for_block"},{include:"#keyword"},{include:"#number"},{include:"#comment"},{include:"#type_decl"},{include:"#symbol"},{include:"#punctuation"}],repository:{array:{patterns:[{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.bracket.julia"}},end:/(\])((?:\.)?'*)/dgv,endCaptures:{"1":{name:"meta.bracket.julia"},"2":{name:"keyword.operator.transpose.julia"}},name:"meta.array.julia",patterns:[{match:/\bbegin\b/dgv,name:"constant.numeric.julia"},{match:/\bend\b/dgv,name:"constant.numeric.julia"},{include:"#self_no_for_block"}]}]},bracket:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"meta.bracket.julia"}},end:/(\})((?:\.)?'*)/dgv,endCaptures:{"1":{name:"meta.bracket.julia"},"2":{name:"keyword.operator.transpose.julia"}},patterns:[{include:"#self_no_for_block"}]}]},comment:{patterns:[{include:"#comment_block"},{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.julia"}},end:/\n/dgv,name:"comment.line.number-sign.julia",patterns:[{include:"#comment_tags"}]}]},comment_block:{patterns:[{begin:/#=/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.julia"}},end:/=#/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.julia"}},name:"comment.block.number-sign-equals.julia",patterns:[{include:"#comment_tags"},{include:"#comment_block"}]}]},comment_tags:{patterns:[{match:/\bTODO\b/dgv,name:"keyword.other.comment-annotation.julia"},{match:/\bFIXME\b/dgv,name:"keyword.other.comment-annotation.julia"},{match:/\bCHANGED\b/dgv,name:"keyword.other.comment-annotation.julia"},{match:/\bXXX\b/dgv,name:"keyword.other.comment-annotation.julia"}]},for_block:{comment:"for blocks need to be special-cased to support tokenizing 'outer' properly",patterns:[{begin:/\b(for)\b/dgv,beginCaptures:{"0":{name:"keyword.control.julia"}},end:/(?<!,|\p{space})(\p{space}*\n)/dgv,patterns:[{match:/\bouter\b/dgv,name:"keyword.other.julia"},{include:"$self"}]}]},function_call:{patterns:[{begin:/((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)(\{(?:[^\{\}]|\{(?:[^\{\}]|\{[^\{\}]*\})*\})*\})?\.?(\()/dgv,beginCaptures:{"1":{name:"support.function.julia"},"2":{name:"support.type.julia"},"3":{name:"meta.bracket.julia"}},end:/\)(('|(\.'))*\.?')?/dgv,endCaptures:{"0":{name:"meta.bracket.julia"},"1":{name:"keyword.operator.transposed-func.julia"}},patterns:[{include:"#self_no_for_block"}]}]},function_decl:{patterns:[{captures:{"1":{name:"entity.name.function.julia"},"2":{name:"support.type.julia"}},comment:"first group is function name\nSecond group is type parameters (e.g. {T<:Number, S})\nThen open parens\nThen a lookahead ensures that we are followed by:\n - anything (function arguments)\n - 0 or more spaces\n - Finally an equal sign\nNegative lookahead ensures we don't have another equal sign (not `==`)",match:/((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)(\{(?:[^\{\}]|\{(?:[^\{\}]|\{[^\{\}]*\})*\})*\})?(?=\([^\#]*\)(::[^\p{space}]+)?(\p{space}*\bwhere\b\p{space}+[^\n]+?)?\p{space}*?=(?![\=\>]))/dgv},{captures:{"1":{name:"keyword.other.julia"},"2":{name:"keyword.operator.dots.julia"},"3":{name:"entity.name.function.julia"},"4":{name:"support.type.julia"}},comment:"similar regex to previous, but with keyword not 1-line syntax",match:/\b(function|macro)(?:\p{space}+(?:(?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*(\.))?((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)(\{(?:[^\{\}]|\{(?:[^\{\}]|\{[^\{\}]*\})*\})*\})?|\p{space}*)(?=\()/dgv}]},keyword:{patterns:[{match:/\b(?<![\:_\.])(?:function|mutable\p{space}+struct|struct|macro|quote|abstract\p{space}+type|primitive\p{space}+type|module|baremodule|where)\b/dgv,name:"keyword.other.julia"},{match:/\b(?<![\:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\b/dgv,name:"keyword.control.julia"},{match:/\b(?<![\:_])end\b/dgv,name:"keyword.control.end.julia"},{match:/\b(?<![\:_])(?:global|local|const)\b/dgv,name:"keyword.storage.modifier.julia"},{match:/\b(?<![\:_])export\b/dgv,name:"keyword.control.export.julia"},{match:/(?<=^|\n(?!$))public\b/dgv,name:"keyword.control.public.julia"},{match:/\b(?<![\:_])import\b/dgv,name:"keyword.control.import.julia"},{match:/\b(?<![\:_])using\b/dgv,name:"keyword.control.using.julia"},{match:/(?<=\P{space}\p{space}+)\b(as)\b(?=\p{space}+\P{space})/dgv,name:"keyword.control.as.julia"},{match:/(@(\.|(?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*))/dgv,name:"support.function.macro.julia"}]},number:{patterns:[{captures:{"1":{name:"constant.numeric.julia"},"2":{name:"keyword.operator.conjugate-number.julia"}},match:/((?<!(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿]))(?:\b0(?:x|X)[0-9a-fA-F](?:_?[0-9a-fA-F])*|\b0o[0-7](?:_?[0-7])*|\b0b[0-1](?:_?[0-1])*|(?:\b[0-9](?:_?[0-9])*\.?(?!\.)[_0-9]*|\b\.[0-9](?:_?[0-9])*)(?:[efE][\+\-]?[0-9](?:_?[0-9])*)?(?:im\b|Inf(?:16|32|64)?\b|NaN(?:16|32|64)?\b|π\b|pi\b|ℯ\b)?|\b[0-9]+|\bInf(?:16|32|64)?\b|\bNaN(?:16|32|64)?\b|\bπ\b|\bpi\b|\bℯ\b))('*)/dgv},{match:/\bARGS\b|\bC_NULL\b|\bDEPOT_PATH\b|\bENDIAN_BOM\b|\bENV\b|\bLOAD_PATH\b|\bPROGRAM_FILE\b|\bstdin\b|\bstdout\b|\bstderr\b|\bVERSION\b|\bdevnull\b/dgv,name:"constant.global.julia"},{match:/\btrue\b|\bfalse\b|\bnothing\b|\bmissing\b/dgv,name:"constant.language.julia"}]},operator:{patterns:[{match:/\.?(?:<-->|->|-->|<--|←|→|↔|↚|↛|↞|↠|↢|↣|↦|↤|↮|⇎|⇍|⇏|⇐|⇒|⇔|⇴|⇶|⇷|⇸|⇹|⇺|⇻|⇼|⇽|⇾|⇿|⟵|⟶|⟷|⟹|⟺|⟻|⟼|⟽|⟾|⟿|⤀|⤁|⤂|⤃|⤄|⤅|⤆|⤇|⤌|⤍|⤎|⤏|⤐|⤑|⤔|⤕|⤖|⤗|⤘|⤝|⤞|⤟|⤠|⥄|⥅|⥆|⥇|⥈|⥊|⥋|⥎|⥐|⥒|⥓|⥖|⥗|⥚|⥛|⥞|⥟|⥢|⥤|⥦|⥧|⥨|⥩|⥪|⥫|⥬|⥭|⥰|⧴|⬱|⬰|⬲|⬳|⬴|⬵|⬶|⬷|⬸|⬹|⬺|⬻|⬼|⬽|⬾|⬿|⭀|⭁|⭂|⭃|⥷|⭄|⥺|⭇|⭈|⭉|⭊|⭋|⭌|←|→|⇜|⇝|↜|↝|↩|↪|↫|↬|↼|↽|⇀|⇁|⇄|⇆|⇇|⇉|⇋|⇌|⇚|⇛|⇠|⇢|↷|↶|↺|↻|=>)/dgv,name:"keyword.operator.arrow.julia"},{match:/(?::=|\+=|-=|\*=|\/\/=|\/=|\.\/\/=|\.\/=|\.\*=|\\=|\.\\=|\^=|\.\^=|%=|\.%=|÷=|\.÷=|\|=|&=|\.&=|⊻=|\.⊻=|\$=|<<=|>>=|>>>=|=(?!=))/dgv,name:"keyword.operator.update.julia"},{match:/(?:<<|>>>|>>|\.>>>|\.>>|\.<<)/dgv,name:"keyword.operator.shift.julia"},{captures:{"1":{name:"keyword.operator.relation.types.julia"},"2":{name:"support.type.julia"},"3":{name:"keyword.operator.transpose.julia"}},match:/\p{space}*(::|>:|<:)\p{space}*((?:(?:Union)?\([^\)]*\)|[\p{Alpha}_\$∇][\p{Alpha}\p{M}\p{Nd}\p{Pc}⁺-ₜ\!′\.]*(?:\{(?:[^\{\}]|\{(?:[^\{\}]|\{[^\{\}]*\})*\})*\}|"[^\n]+?(?<!\\)")?))(?:\.\.\.)?((?:\.)?'*)/dgv},{match:/(\.?((?<!<)<=|(?<!>)>=|>|<|≥|≤|===|==|≡|!=|≠|!==|≢|∈|∉|∋|∌|⊆|⊈|⊂|⊄|⊊|∝|∊|∍|∥|∦|∷|∺|∻|∽|∾|≁|≃|≂|≄|≅|≆|≇|≈|≉|≊|≋|≌|≍|≎|≐|≑|≒|≓|≖|≗|≘|≙|≚|≛|≜|≝|≞|≟|≣|≦|≧|≨|≩|≪|≫|≬|≭|≮|≯|≰|≱|≲|≳|≴|≵|≶|≷|≸|≹|≺|≻|≼|≽|≾|≿|⊀|⊁|⊃|⊅|⊇|⊉|⊋|⊏|⊐|⊑|⊒|⊜|⊩|⊬|⊮|⊰|⊱|⊲|⊳|⊴|⊵|⊶|⊷|⋍|⋐|⋑|⋕|⋖|⋗|⋘|⋙|⋚|⋛|⋜|⋝|⋞|⋟|⋠|⋡|⋢|⋣|⋤|⋥|⋦|⋧|⋨|⋩|⋪|⋫|⋬|⋭|⋲|⋳|⋴|⋵|⋶|⋷|⋸|⋹|⋺|⋻|⋼|⋽|⋾|⋿|⟈|⟉|⟒|⦷|⧀|⧁|⧡|⧣|⧤|⧥|⩦|⩧|⩪|⩫|⩬|⩭|⩮|⩯|⩰|⩱|⩲|⩳|⩵|⩶|⩷|⩸|⩹|⩺|⩻|⩼|⩽|⩾|⩿|⪀|⪁|⪂|⪃|⪄|⪅|⪆|⪇|⪈|⪉|⪊|⪋|⪌|⪍|⪎|⪏|⪐|⪑|⪒|⪓|⪔|⪕|⪖|⪗|⪘|⪙|⪚|⪛|⪜|⪝|⪞|⪟|⪠|⪡|⪢|⪣|⪤|⪥|⪦|⪧|⪨|⪩|⪪|⪫|⪬|⪭|⪮|⪯|⪰|⪱|⪲|⪳|⪴|⪵|⪶|⪷|⪸|⪹|⪺|⪻|⪼|⪽|⪾|⪿|⫀|⫁|⫂|⫃|⫄|⫅|⫆|⫇|⫈|⫉|⫊|⫋|⫌|⫍|⫎|⫏|⫐|⫑|⫒|⫓|⫔|⫕|⫖|⫗|⫘|⫙|⫷|⫸|⫹|⫺|⊢|⊣|⟂|⫪|⫫|<:|>:))/dgv,name:"keyword.operator.relation.julia"},{match:/(?<=\p{space})\?(?=\p{space})/dgv,name:"keyword.operator.ternary.julia"},{match:/(?<=\p{space}):(?=\p{space})/dgv,name:"keyword.operator.ternary.julia"},{match:/(?:\|\||&&|(?<!(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿]))!)/dgv,name:"keyword.operator.boolean.julia"},{match:/(?<=[\p{Alpha}\p{M}\p{Nd}\p{Pc}⁺-ₜ\!′∇\)\]\}]):/dgv,name:"keyword.operator.range.julia"},{match:/\|>/dgv,name:"keyword.operator.applies.julia"},{match:/(?:\||\.\||&|\.&|~|¬|\.~|⊻|\.⊻)/dgv,name:"keyword.operator.bitwise.julia"},{match:/\.?(?:\+\+|--|\+|-|−|¦|\||⊕|⊖|⊞|⊟|∪|∨|⊔|±|∓|∔|∸|≏|⊎|⊻|⊽|⋎|⋓|⟇|⧺|⧻|⨈|⨢|⨣|⨤|⨥|⨦|⨧|⨨|⨩|⨪|⨫|⨬|⨭|⨮|⨹|⨺|⩁|⩂|⩅|⩊|⩌|⩏|⩐|⩒|⩔|⩖|⩗|⩛|⩝|⩡|⩢|⩣|\*|\/\/?|⌿|÷|%|&|·|·|⋅|∘|×|\\|∩|∧|⊗|⊘|⊙|⊚|⊛|⊠|⊡|⊓|∗|∙|∤|⅋|≀|⊼|⋄|⋆|⋇|⋉|⋊|⋋|⋌|⋏|⋒|⟑|⦸|⦼|⦾|⦿|⧶|⧷|⨇|⨰|⨱|⨲|⨳|⨴|⨵|⨶|⨷|⨸|⨻|⨼|⨽|⩀|⩃|⩄|⩋|⩍|⩎|⩑|⩓|⩕|⩘|⩚|⩜|⩞|⩟|⩠|⫛|⊍|▷|⨝|⟕|⟖|⟗|⨟|\^|↑|↓|⇵|⟰|⟱|⤈|⤉|⤊|⤋|⤒|⤓|⥉|⥌|⥍|⥏|⥑|⥔|⥕|⥘|⥙|⥜|⥝|⥠|⥡|⥣|⥥|⥮|⥯|↑|↓|√|∛|∜|⋆|±|∓)/dgv,name:"keyword.operator.arithmetic.julia"},{match:/∘/dgv,name:"keyword.operator.compose.julia"},{match:/(?:::|(?<=\p{space})isa(?=\p{space}))/dgv,name:"keyword.operator.isa.julia"},{match:/(?<=\p{space})in(?=\p{space})/dgv,name:"keyword.operator.relation.in.julia"},{match:/(?:\.(?=(?:@|_|\p{L}))|\.\.+|…|⁝|⋮|⋱|⋰|⋯)/dgv,name:"keyword.operator.dots.julia"},{match:/\$(?=[^\n]+)/dgv,name:"keyword.operator.interpolation.julia"},{captures:{"2":{name:"keyword.operator.transposed-variable.julia"}},match:/((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)(('|(\.'))*\.?')/dgv},{captures:{"1":{name:"bracket.end.julia"},"2":{name:"keyword.operator.transposed-matrix.julia"}},match:/(\])((?:'|\.')*\.?')/dgv},{captures:{"1":{name:"bracket.end.julia"},"2":{name:"keyword.operator.transposed-parens.julia"}},match:/(\))((?:'|\.')*\.?')/dgv}]},parentheses:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.bracket.julia"}},end:/(\))((?:\.)?'*)/dgv,endCaptures:{"1":{name:"meta.bracket.julia"},"2":{name:"keyword.operator.transpose.julia"}},patterns:[{include:"#self_no_for_block"}]}]},punctuation:{patterns:[{match:/,/dgv,name:"punctuation.separator.comma.julia"},{match:/;/dgv,name:"punctuation.separator.semicolon.julia"}]},self_no_for_block:{comment:"Same as $self, but does not contain #for_block. 'outer' is not valid in some contexts (e.g. generators, comprehensions, indexing), so use this when matching those in begin/end patterns. Keep this up-to-date with $self!",patterns:[{include:"#operator"},{include:"#array"},{include:"#string"},{include:"#parentheses"},{include:"#bracket"},{include:"#function_decl"},{include:"#function_call"},{include:"#keyword"},{include:"#number"},{include:"#comment"},{include:"#type_decl"},{include:"#symbol"},{include:"#punctuation"}]},string:{patterns:[{begin:/(?:(@doc)\p{space}((?:doc)?""")|(doc"""))/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},end:/(""") ?(->)?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"},"2":{name:"keyword.operator.arrow.julia"}},name:"string.docstring.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(i?cxx)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},contentName:"meta.embedded.inline.cpp",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"embed.cxx.julia",patterns:[{include:"source.cpp#root_context"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(py)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},contentName:"meta.embedded.inline.python",end:/([\p{space}\p{L}\p{M}\p{N}\p{Pc}]*)(""")/dgv,endCaptures:{"2":{name:"punctuation.definition.string.end.julia"}},name:"embed.python.julia",patterns:[{include:"source.python"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(js)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},contentName:"meta.embedded.inline.javascript",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"embed.js.julia",patterns:[{include:"source.js"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(R)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},contentName:"meta.embedded.inline.r",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"embed.R.julia",patterns:[{include:"source.r"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(raw)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"string.quoted.other.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(raw)(")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"string.quoted.other.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(sql)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},contentName:"meta.embedded.inline.sql",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"embed.sql.julia",patterns:[{include:"source.sql"},{include:"#string_dollar_sign_interpolate"}]},{begin:/var"""/dgv,end:/"""/dgv,name:"constant.other.symbol.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/var"/dgv,end:/"/dgv,name:"constant.other.symbol.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(?<=^|\n(?!$))\p{space}?(doc)?(""")\p{space}?(?=$|\n)/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},comment:"This only matches docstrings that start and end with triple quotes on\ntheir own line in the void",end:/(""")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"}},name:"string.docstring.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"}},end:/'(?!')/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"string.quoted.single.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.multiline.begin.julia"}},comment:"multi-line string with triple double quotes",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.multiline.end.julia"}},name:"string.quoted.triple.double.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]},{begin:/"(?!"")/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"}},comment:"String with single pair of double quotes. Regex matches isolated double quote",end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"string.quoted.double.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]},{begin:/r"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.regexp.begin.julia"}},end:/(""")([imsx]{0,4})?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.regexp.end.julia"},"2":{comment:"I took this scope name from python regex grammar",name:"keyword.other.option-toggle.regexp.julia"}},name:"string.regexp.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/r"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.regexp.begin.julia"}},end:/(")([imsx]{0,4})?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.regexp.end.julia"},"2":{comment:"I took this scope name from python regex grammar",name:"keyword.other.option-toggle.regexp.julia"}},name:"string.regexp.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(?<!")((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"},"1":{name:"support.function.macro.julia"}},end:/(""")((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"},"2":{name:"support.function.macro.julia"}},name:"string.quoted.other.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(?<!")((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"},"1":{name:"support.function.macro.julia"}},end:/(?<![^\\]\\)(")((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"},"2":{name:"support.function.macro.julia"}},name:"string.quoted.other.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(?<!`)((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?```/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"},"1":{name:"support.function.macro.julia"}},end:/(```)((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"},"2":{name:"support.function.macro.julia"}},name:"string.interpolated.backtick.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(?<!`)((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"},"1":{name:"support.function.macro.julia"}},end:/(?<![^\\]\\)(`)((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"},"2":{name:"support.function.macro.julia"}},name:"string.interpolated.backtick.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]}]},string_dollar_sign_interpolate:{patterns:[{match:/\$(?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿]|[^\P{Sc}\$])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿]|[^\P{Sc}\$])*/dgv,name:"variable.interpolation.julia"},{begin:/\$(\()/dgv,beginCaptures:{"1":{name:"meta.bracket.julia"}},comment:"`punctuation.section.embedded`, `constant.escape`,\n& `meta.embedded.line` were considered but appear to have even spottier\nsupport among popular syntaxes.",end:/\)/dgv,endCaptures:{"0":{name:"meta.bracket.julia"}},name:"variable.interpolation.julia",patterns:[{include:"#self_no_for_block"}]}]},string_escaped_char:{patterns:[{match:/\\(\\|[0-3]\p{Nd}{0,2}|[4-7]\p{Nd}?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8}|[^\n])/dgv,name:"constant.character.escape.julia"}]},symbol:{patterns:[{comment:"This is string.quoted.symbol.julia in tpoisot's package",match:/(?<![\p{Alpha}\p{M}\p{Nd}\p{Pc}⁺-ₜ\!′∇\)\]\}]):(?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*(?!(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿]))(?!["\`])/dgv,name:"constant.other.symbol.julia"}]},type_decl:{patterns:[{captures:{"1":{name:"entity.name.type.julia"},"2":{name:"entity.other.inherited-class.julia"},"3":{name:"punctuation.separator.inheritance.julia"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$!:_))\\1)(?:struct|mutable\\p{space}+struct|abstract\\p{space}+type|primitive\\p{space}+type)\\p{space}+((?:[\\p{Alpha}_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[\\p{Alpha}\\p{M}\\p{Nd}\\p{Pc}_\\!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\\x01-¡]|[^\\P{Mc}\\x01-¡]|[^\\P{Nd}\\x01-¡]|[^\\P{Pc}\\x01-¡]|[^\\P{Sk}\\x01-¡]|[^\\P{Me}\\x01-¡]|[^\\P{No}\\x01-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(\\p{space}*(<:)\\p{space}*(?:[\\p{Alpha}_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[\\p{Alpha}\\p{M}\\p{Nd}\\p{Pc}_\\!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\\x01-¡]|[^\\P{Mc}\\x01-¡]|[^\\P{Nd}\\x01-¡]|[^\\P{Pc}\\x01-¡]|[^\\P{Sk}\\x01-¡]|[^\\P{Me}\\x01-¡]|[^\\P{No}\\x01-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(?:\\{[^\\n]*\\})?)?","dgv",{"useEmulationGroups":true}),name:"meta.type.julia"}]}},scopeName:"source.julia",embeddedLangs:["cpp","python","javascript","r","sql"],aliases:["jl"]})
8
+ const lang = Object.freeze({displayName:"Julia",name:"julia",patterns:[{include:"#operator"},{include:"#array"},{include:"#string"},{include:"#parentheses"},{include:"#bracket"},{include:"#function_decl"},{include:"#function_call"},{include:"#for_block"},{include:"#keyword"},{include:"#number"},{include:"#comment"},{include:"#type_decl"},{include:"#symbol"},{include:"#punctuation"}],repository:{array:{patterns:[{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.bracket.julia"}},end:/(\])((?:\.)?'*)/dgv,endCaptures:{"1":{name:"meta.bracket.julia"},"2":{name:"keyword.operator.transpose.julia"}},name:"meta.array.julia",patterns:[{match:/\bbegin\b/dgv,name:"constant.numeric.julia"},{match:/\bend\b/dgv,name:"constant.numeric.julia"},{include:"#self_no_for_block"}]}]},bracket:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"meta.bracket.julia"}},end:/(\})((?:\.)?'*)/dgv,endCaptures:{"1":{name:"meta.bracket.julia"},"2":{name:"keyword.operator.transpose.julia"}},patterns:[{include:"#self_no_for_block"}]}]},comment:{patterns:[{include:"#comment_block"},{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.julia"}},end:/\n/dgv,name:"comment.line.number-sign.julia",patterns:[{include:"#comment_tags"}]}]},comment_block:{patterns:[{begin:/#=/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.julia"}},end:/=#/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.julia"}},name:"comment.block.number-sign-equals.julia",patterns:[{include:"#comment_tags"},{include:"#comment_block"}]}]},comment_tags:{patterns:[{match:/\bTODO\b/dgv,name:"keyword.other.comment-annotation.julia"},{match:/\bFIXME\b/dgv,name:"keyword.other.comment-annotation.julia"},{match:/\bCHANGED\b/dgv,name:"keyword.other.comment-annotation.julia"},{match:/\bXXX\b/dgv,name:"keyword.other.comment-annotation.julia"}]},for_block:{comment:"for blocks need to be special-cased to support tokenizing 'outer' properly",patterns:[{begin:/\b(for)\b/dgv,beginCaptures:{"0":{name:"keyword.control.julia"}},end:/(?<!,|\p{space})(\p{space}*\n)/dgv,patterns:[{match:/\bouter\b/dgv,name:"keyword.other.julia"},{include:"$self"}]}]},function_call:{patterns:[{begin:/((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)(\{(?:[^\{\}]|\{(?:[^\{\}]|\{[^\{\}]*\})*\})*\})?\.?(\()/dgv,beginCaptures:{"1":{name:"support.function.julia"},"2":{name:"support.type.julia"},"3":{name:"meta.bracket.julia"}},end:/\)(('|(\.'))*\.?')?/dgv,endCaptures:{"0":{name:"meta.bracket.julia"},"1":{name:"keyword.operator.transposed-func.julia"}},patterns:[{include:"#self_no_for_block"}]}]},function_decl:{patterns:[{captures:{"1":{name:"entity.name.function.julia"},"2":{name:"support.type.julia"}},comment:"first group is function name\nSecond group is type parameters (e.g. {T<:Number, S})\nThen open parens\nThen a lookahead ensures that we are followed by:\n - anything (function arguments)\n - 0 or more spaces\n - Finally an equal sign\nNegative lookahead ensures we don't have another equal sign (not `==`)",match:/((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)(\{(?:[^\{\}]|\{(?:[^\{\}]|\{[^\{\}]*\})*\})*\})?(?=\([^\#]*\)(::[^\p{space}]+)?(\p{space}*\bwhere\b\p{space}+[^\n]+?)?\p{space}*?=(?![\=\>]))/dgv},{captures:{"1":{name:"keyword.other.julia"},"2":{name:"keyword.operator.dots.julia"},"3":{name:"entity.name.function.julia"},"4":{name:"support.type.julia"}},comment:"similar regex to previous, but with keyword not 1-line syntax",match:/\b(function|macro)(?:\p{space}+(?:(?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*(\.))?((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)(\{(?:[^\{\}]|\{(?:[^\{\}]|\{[^\{\}]*\})*\})*\})?|\p{space}*)(?=\()/dgv}]},keyword:{patterns:[{match:/\b(?<![\:_\.])(?:function|mutable\p{space}+struct|struct|macro|quote|abstract\p{space}+type|primitive\p{space}+type|module|baremodule|where)\b/dgv,name:"keyword.other.julia"},{match:/\b(?<![\:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\b/dgv,name:"keyword.control.julia"},{match:/\b(?<![\:_])end\b/dgv,name:"keyword.control.end.julia"},{match:/\b(?<![\:_])(?:global|local|const)\b/dgv,name:"keyword.storage.modifier.julia"},{match:/\b(?<![\:_])export\b/dgv,name:"keyword.control.export.julia"},{match:/^public\b/dgv,name:"keyword.control.public.julia"},{match:/\b(?<![\:_])import\b/dgv,name:"keyword.control.import.julia"},{match:/\b(?<![\:_])using\b/dgv,name:"keyword.control.using.julia"},{match:/(?<=\P{space}\p{space}+)\b(as)\b(?=\p{space}+\P{space})/dgv,name:"keyword.control.as.julia"},{match:/(@(\.|(?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*))/dgv,name:"support.function.macro.julia"}]},number:{patterns:[{captures:{"1":{name:"constant.numeric.julia"},"2":{name:"keyword.operator.conjugate-number.julia"}},match:/((?<!(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿]))(?:\b0(?:x|X)[0-9a-fA-F](?:_?[0-9a-fA-F])*|\b0o[0-7](?:_?[0-7])*|\b0b[0-1](?:_?[0-1])*|(?:\b[0-9](?:_?[0-9])*\.?(?!\.)[_0-9]*|\b\.[0-9](?:_?[0-9])*)(?:[efE][\+\-]?[0-9](?:_?[0-9])*)?(?:im\b|Inf(?:16|32|64)?\b|NaN(?:16|32|64)?\b|π\b|pi\b|ℯ\b)?|\b[0-9]+|\bInf(?:16|32|64)?\b|\bNaN(?:16|32|64)?\b|\bπ\b|\bpi\b|\bℯ\b))('*)/dgv},{match:/\bARGS\b|\bC_NULL\b|\bDEPOT_PATH\b|\bENDIAN_BOM\b|\bENV\b|\bLOAD_PATH\b|\bPROGRAM_FILE\b|\bstdin\b|\bstdout\b|\bstderr\b|\bVERSION\b|\bdevnull\b/dgv,name:"constant.global.julia"},{match:/\btrue\b|\bfalse\b|\bnothing\b|\bmissing\b/dgv,name:"constant.language.julia"}]},operator:{patterns:[{match:/\.?(?:<-->|->|-->|<--|←|→|↔|↚|↛|↞|↠|↢|↣|↦|↤|↮|⇎|⇍|⇏|⇐|⇒|⇔|⇴|⇶|⇷|⇸|⇹|⇺|⇻|⇼|⇽|⇾|⇿|⟵|⟶|⟷|⟹|⟺|⟻|⟼|⟽|⟾|⟿|⤀|⤁|⤂|⤃|⤄|⤅|⤆|⤇|⤌|⤍|⤎|⤏|⤐|⤑|⤔|⤕|⤖|⤗|⤘|⤝|⤞|⤟|⤠|⥄|⥅|⥆|⥇|⥈|⥊|⥋|⥎|⥐|⥒|⥓|⥖|⥗|⥚|⥛|⥞|⥟|⥢|⥤|⥦|⥧|⥨|⥩|⥪|⥫|⥬|⥭|⥰|⧴|⬱|⬰|⬲|⬳|⬴|⬵|⬶|⬷|⬸|⬹|⬺|⬻|⬼|⬽|⬾|⬿|⭀|⭁|⭂|⭃|⥷|⭄|⥺|⭇|⭈|⭉|⭊|⭋|⭌|←|→|⇜|⇝|↜|↝|↩|↪|↫|↬|↼|↽|⇀|⇁|⇄|⇆|⇇|⇉|⇋|⇌|⇚|⇛|⇠|⇢|↷|↶|↺|↻|=>)/dgv,name:"keyword.operator.arrow.julia"},{match:/(?::=|\+=|-=|\*=|\/\/=|\/=|\.\/\/=|\.\/=|\.\*=|\\=|\.\\=|\^=|\.\^=|%=|\.%=|÷=|\.÷=|\|=|&=|\.&=|⊻=|\.⊻=|\$=|<<=|>>=|>>>=|=(?!=))/dgv,name:"keyword.operator.update.julia"},{match:/(?:<<|>>>|>>|\.>>>|\.>>|\.<<)/dgv,name:"keyword.operator.shift.julia"},{captures:{"1":{name:"keyword.operator.relation.types.julia"},"2":{name:"support.type.julia"},"3":{name:"keyword.operator.transpose.julia"}},match:/\p{space}*(::|>:|<:)\p{space}*((?:(?:Union)?\([^\)]*\)|[\p{Alpha}_\$∇][\p{Alpha}\p{M}\p{Nd}\p{Pc}⁺-ₜ\!′\.]*(?:\{(?:[^\{\}]|\{(?:[^\{\}]|\{[^\{\}]*\})*\})*\}|"[^\n]+?(?<!\\)")?))(?:\.\.\.)?((?:\.)?'*)/dgv},{match:/(\.?((?<!<)<=|(?<!>)>=|>|<|≥|≤|===|==|≡|!=|≠|!==|≢|∈|∉|∋|∌|⊆|⊈|⊂|⊄|⊊|∝|∊|∍|∥|∦|∷|∺|∻|∽|∾|≁|≃|≂|≄|≅|≆|≇|≈|≉|≊|≋|≌|≍|≎|≐|≑|≒|≓|≖|≗|≘|≙|≚|≛|≜|≝|≞|≟|≣|≦|≧|≨|≩|≪|≫|≬|≭|≮|≯|≰|≱|≲|≳|≴|≵|≶|≷|≸|≹|≺|≻|≼|≽|≾|≿|⊀|⊁|⊃|⊅|⊇|⊉|⊋|⊏|⊐|⊑|⊒|⊜|⊩|⊬|⊮|⊰|⊱|⊲|⊳|⊴|⊵|⊶|⊷|⋍|⋐|⋑|⋕|⋖|⋗|⋘|⋙|⋚|⋛|⋜|⋝|⋞|⋟|⋠|⋡|⋢|⋣|⋤|⋥|⋦|⋧|⋨|⋩|⋪|⋫|⋬|⋭|⋲|⋳|⋴|⋵|⋶|⋷|⋸|⋹|⋺|⋻|⋼|⋽|⋾|⋿|⟈|⟉|⟒|⦷|⧀|⧁|⧡|⧣|⧤|⧥|⩦|⩧|⩪|⩫|⩬|⩭|⩮|⩯|⩰|⩱|⩲|⩳|⩵|⩶|⩷|⩸|⩹|⩺|⩻|⩼|⩽|⩾|⩿|⪀|⪁|⪂|⪃|⪄|⪅|⪆|⪇|⪈|⪉|⪊|⪋|⪌|⪍|⪎|⪏|⪐|⪑|⪒|⪓|⪔|⪕|⪖|⪗|⪘|⪙|⪚|⪛|⪜|⪝|⪞|⪟|⪠|⪡|⪢|⪣|⪤|⪥|⪦|⪧|⪨|⪩|⪪|⪫|⪬|⪭|⪮|⪯|⪰|⪱|⪲|⪳|⪴|⪵|⪶|⪷|⪸|⪹|⪺|⪻|⪼|⪽|⪾|⪿|⫀|⫁|⫂|⫃|⫄|⫅|⫆|⫇|⫈|⫉|⫊|⫋|⫌|⫍|⫎|⫏|⫐|⫑|⫒|⫓|⫔|⫕|⫖|⫗|⫘|⫙|⫷|⫸|⫹|⫺|⊢|⊣|⟂|⫪|⫫|<:|>:))/dgv,name:"keyword.operator.relation.julia"},{match:/(?<=\p{space})\?(?=\p{space})/dgv,name:"keyword.operator.ternary.julia"},{match:/(?<=\p{space}):(?=\p{space})/dgv,name:"keyword.operator.ternary.julia"},{match:/(?:\|\||&&|(?<!(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿]))!)/dgv,name:"keyword.operator.boolean.julia"},{match:/(?<=[\p{Alpha}\p{M}\p{Nd}\p{Pc}⁺-ₜ\!′∇\)\]\}]):/dgv,name:"keyword.operator.range.julia"},{match:/\|>/dgv,name:"keyword.operator.applies.julia"},{match:/(?:\||\.\||&|\.&|~|¬|\.~|⊻|\.⊻)/dgv,name:"keyword.operator.bitwise.julia"},{match:/\.?(?:\+\+|--|\+|-|−|¦|\||⊕|⊖|⊞|⊟|∪|∨|⊔|±|∓|∔|∸|≏|⊎|⊻|⊽|⋎|⋓|⟇|⧺|⧻|⨈|⨢|⨣|⨤|⨥|⨦|⨧|⨨|⨩|⨪|⨫|⨬|⨭|⨮|⨹|⨺|⩁|⩂|⩅|⩊|⩌|⩏|⩐|⩒|⩔|⩖|⩗|⩛|⩝|⩡|⩢|⩣|\*|\/\/?|⌿|÷|%|&|·|·|⋅|∘|×|\\|∩|∧|⊗|⊘|⊙|⊚|⊛|⊠|⊡|⊓|∗|∙|∤|⅋|≀|⊼|⋄|⋆|⋇|⋉|⋊|⋋|⋌|⋏|⋒|⟑|⦸|⦼|⦾|⦿|⧶|⧷|⨇|⨰|⨱|⨲|⨳|⨴|⨵|⨶|⨷|⨸|⨻|⨼|⨽|⩀|⩃|⩄|⩋|⩍|⩎|⩑|⩓|⩕|⩘|⩚|⩜|⩞|⩟|⩠|⫛|⊍|▷|⨝|⟕|⟖|⟗|⨟|\^|↑|↓|⇵|⟰|⟱|⤈|⤉|⤊|⤋|⤒|⤓|⥉|⥌|⥍|⥏|⥑|⥔|⥕|⥘|⥙|⥜|⥝|⥠|⥡|⥣|⥥|⥮|⥯|↑|↓|√|∛|∜|⋆|±|∓)/dgv,name:"keyword.operator.arithmetic.julia"},{match:/∘/dgv,name:"keyword.operator.compose.julia"},{match:/(?:::|(?<=\p{space})isa(?=\p{space}))/dgv,name:"keyword.operator.isa.julia"},{match:/(?<=\p{space})in(?=\p{space})/dgv,name:"keyword.operator.relation.in.julia"},{match:/(?:\.(?=(?:@|_|\p{L}))|\.\.+|…|⁝|⋮|⋱|⋰|⋯)/dgv,name:"keyword.operator.dots.julia"},{match:/\$(?=[^\n]+)/dgv,name:"keyword.operator.interpolation.julia"},{captures:{"2":{name:"keyword.operator.transposed-variable.julia"}},match:/((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)(('|(\.'))*\.?')/dgv},{captures:{"1":{name:"bracket.end.julia"},"2":{name:"keyword.operator.transposed-matrix.julia"}},match:/(\])((?:'|\.')*\.?')/dgv},{captures:{"1":{name:"bracket.end.julia"},"2":{name:"keyword.operator.transposed-parens.julia"}},match:/(\))((?:'|\.')*\.?')/dgv}]},parentheses:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.bracket.julia"}},end:/(\))((?:\.)?'*)/dgv,endCaptures:{"1":{name:"meta.bracket.julia"},"2":{name:"keyword.operator.transpose.julia"}},patterns:[{include:"#self_no_for_block"}]}]},punctuation:{patterns:[{match:/,/dgv,name:"punctuation.separator.comma.julia"},{match:/;/dgv,name:"punctuation.separator.semicolon.julia"}]},self_no_for_block:{comment:"Same as $self, but does not contain #for_block. 'outer' is not valid in some contexts (e.g. generators, comprehensions, indexing), so use this when matching those in begin/end patterns. Keep this up-to-date with $self!",patterns:[{include:"#operator"},{include:"#array"},{include:"#string"},{include:"#parentheses"},{include:"#bracket"},{include:"#function_decl"},{include:"#function_call"},{include:"#keyword"},{include:"#number"},{include:"#comment"},{include:"#type_decl"},{include:"#symbol"},{include:"#punctuation"}]},string:{patterns:[{begin:/(?:(@doc)\p{space}((?:doc)?""")|(doc"""))/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},end:/(""") ?(->)?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"},"2":{name:"keyword.operator.arrow.julia"}},name:"string.docstring.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(i?cxx)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},contentName:"meta.embedded.inline.cpp",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"embed.cxx.julia",patterns:[{include:"source.cpp#root_context"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(py)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},contentName:"meta.embedded.inline.python",end:/([\p{space}\p{L}\p{M}\p{N}\p{Pc}]*)(""")/dgv,endCaptures:{"2":{name:"punctuation.definition.string.end.julia"}},name:"embed.python.julia",patterns:[{include:"source.python"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(js)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},contentName:"meta.embedded.inline.javascript",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"embed.js.julia",patterns:[{include:"source.js"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(R)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},contentName:"meta.embedded.inline.r",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"embed.R.julia",patterns:[{include:"source.r"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(raw)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"string.quoted.other.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(raw)(")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"string.quoted.other.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(sql)(""")/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},contentName:"meta.embedded.inline.sql",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"embed.sql.julia",patterns:[{include:"source.sql"},{include:"#string_dollar_sign_interpolate"}]},{begin:/var"""/dgv,end:/"""/dgv,name:"constant.other.symbol.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/var"/dgv,end:/"/dgv,name:"constant.other.symbol.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/^\p{space}?(doc)?(""")\p{space}?(?=\n?$)/dgv,beginCaptures:{"1":{name:"support.function.macro.julia"},"2":{name:"punctuation.definition.string.begin.julia"}},comment:"This only matches docstrings that start and end with triple quotes on\ntheir own line in the void",end:/(""")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"}},name:"string.docstring.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"}},end:/'(?!')/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"string.quoted.single.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.multiline.begin.julia"}},comment:"multi-line string with triple double quotes",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.multiline.end.julia"}},name:"string.quoted.triple.double.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]},{begin:/"(?!"")/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"}},comment:"String with single pair of double quotes. Regex matches isolated double quote",end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.julia"}},name:"string.quoted.double.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]},{begin:/r"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.regexp.begin.julia"}},end:/(""")([imsx]{0,4})?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.regexp.end.julia"},"2":{comment:"I took this scope name from python regex grammar",name:"keyword.other.option-toggle.regexp.julia"}},name:"string.regexp.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/r"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.regexp.begin.julia"}},end:/(")([imsx]{0,4})?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.regexp.end.julia"},"2":{comment:"I took this scope name from python regex grammar",name:"keyword.other.option-toggle.regexp.julia"}},name:"string.regexp.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(?<!")((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"},"1":{name:"support.function.macro.julia"}},end:/(""")((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"},"2":{name:"support.function.macro.julia"}},name:"string.quoted.other.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(?<!")((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"},"1":{name:"support.function.macro.julia"}},end:/(?<![^\\]\\)(")((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"},"2":{name:"support.function.macro.julia"}},name:"string.quoted.other.julia",patterns:[{include:"#string_escaped_char"}]},{begin:/(?<!`)((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?```/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"},"1":{name:"support.function.macro.julia"}},end:/(```)((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"},"2":{name:"support.function.macro.julia"}},name:"string.interpolated.backtick.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]},{begin:/(?<!`)((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.julia"},"1":{name:"support.function.macro.julia"}},end:/(?<![^\\]\\)(`)((?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*)?/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.julia"},"2":{name:"support.function.macro.julia"}},name:"string.interpolated.backtick.julia",patterns:[{include:"#string_escaped_char"},{include:"#string_dollar_sign_interpolate"}]}]},string_dollar_sign_interpolate:{patterns:[{match:/\$(?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿]|[^\P{Sc}\$])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿]|[^\P{Sc}\$])*/dgv,name:"variable.interpolation.julia"},{begin:/\$(\()/dgv,beginCaptures:{"1":{name:"meta.bracket.julia"}},comment:"`punctuation.section.embedded`, `constant.escape`,\n& `meta.embedded.line` were considered but appear to have even spottier\nsupport among popular syntaxes.",end:/\)/dgv,endCaptures:{"0":{name:"meta.bracket.julia"}},name:"variable.interpolation.julia",patterns:[{include:"#self_no_for_block"}]}]},string_escaped_char:{patterns:[{match:/\\(\\|[0-3]\p{Nd}{0,2}|[4-7]\p{Nd}?|x[a-fA-F0-9]{0,2}|u[a-fA-F0-9]{0,4}|U[a-fA-F0-9]{0,8}|[^\n])/dgv,name:"constant.character.escape.julia"}]},symbol:{patterns:[{comment:"This is string.quoted.symbol.julia in tpoisot's package",match:/(?<![\p{Alpha}\p{M}\p{Nd}\p{Pc}⁺-ₜ\!′∇\)\]\}]):(?:[\p{Alpha}_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{So}←-⇿])(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿])*(?!(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}_\!\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\P{Mn}\x01-¡]|[^\P{Mc}\x01-¡]|[^\P{Nd}\x01-¡]|[^\P{Pc}\x01-¡]|[^\P{Sk}\x01-¡]|[^\P{Me}\x01-¡]|[^\P{No}\x01-¡]|[′-‷⁗]|[^\P{So}←-⇿]))(?!["\`])/dgv,name:"constant.other.symbol.julia"}]},type_decl:{patterns:[{captures:{"1":{name:"entity.name.type.julia"},"2":{name:"entity.other.inherited-class.julia"},"3":{name:"punctuation.separator.inheritance.julia"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=($E$!:_))\\1)(?:struct|mutable\\p{space}+struct|abstract\\p{space}+type|primitive\\p{space}+type)\\p{space}+((?:[\\p{Alpha}_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[\\p{Alpha}\\p{M}\\p{Nd}\\p{Pc}_\\!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\\x01-¡]|[^\\P{Mc}\\x01-¡]|[^\\P{Nd}\\x01-¡]|[^\\P{Pc}\\x01-¡]|[^\\P{Sk}\\x01-¡]|[^\\P{Me}\\x01-¡]|[^\\P{No}\\x01-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(\\p{space}*(<:)\\p{space}*(?:[\\p{Alpha}_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[\\p{Alpha}\\p{M}\\p{Nd}\\p{Pc}_\\!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\\x01-¡]|[^\\P{Mc}\\x01-¡]|[^\\P{Nd}\\x01-¡]|[^\\P{Pc}\\x01-¡]|[^\\P{Sk}\\x01-¡]|[^\\P{Me}\\x01-¡]|[^\\P{No}\\x01-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(?:\\{[^\\n]*\\})?)?","dgv",{"useEmulationGroups":true}),name:"meta.type.julia"}]}},scopeName:"source.julia",embeddedLangs:["cpp","python","javascript","r","sql"],aliases:["jl"]})
9
9
 
10
10
  export default [
11
11
  ...cpp,
package/dist/kotlin.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Kotlin",fileTypes:["kt","kts"],name:"kotlin",patterns:[{include:"#import"},{include:"#package"},{include:"#code"}],repository:{"annotation-simple":{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])@[\p{L}\p{M}\p{N}\p{Pc}\.]+\b(?!:)/dgv,name:"entity.name.type.annotation.kotlin"},"annotation-site":{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(@[\p{L}\p{M}\p{N}\p{Pc}]+):\p{space}*(?!\[)/dgv,beginCaptures:{"1":{name:"entity.name.type.annotation-site.kotlin"}},end:/(?=$|\n)/dgv,patterns:[{include:"#unescaped-annotation"}]},"annotation-site-list":{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(@[\p{L}\p{M}\p{N}\p{Pc}]+):\p{space}*\[/dgv,beginCaptures:{"1":{name:"entity.name.type.annotation-site.kotlin"}},end:/\]/dgv,patterns:[{include:"#unescaped-annotation"}]},"binary-literal":{match:/0(b|B)[01][01_]*/dgv,name:"constant.numeric.binary.kotlin"},"boolean-literal":{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.kotlin"},character:{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.kotlin",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.kotlin"}]},"class-declaration":{captures:{"1":{name:"keyword.hard.class.kotlin"},"2":{name:"entity.name.type.class.kotlin"},"3":{patterns:[{include:"#type-parameter"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(class|(?:fun\\p{space}+)?interface)\\p{space}+(\\b[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b|`[^\\`]+`)\\p{space}*(?<GROUP><([^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:))+>))+>))+>))+>))+>)?","dgv",{"useEmulationGroups":true})},code:{patterns:[{include:"#comments"},{include:"#keywords"},{include:"#annotation-simple"},{include:"#annotation-site-list"},{include:"#annotation-site"},{include:"#class-declaration"},{include:"#object"},{include:"#type-alias"},{include:"#function"},{include:"#variable-declaration"},{include:"#type-constraint"},{include:"#type-annotation"},{include:"#function-call"},{include:"#method-reference"},{include:"#key"},{include:"#string"},{include:"#string-empty"},{include:"#string-multiline"},{include:"#character"},{include:"#lambda-arrow"},{include:"#operators"},{include:"#self-reference"},{include:"#decimal-literal"},{include:"#hex-literal"},{include:"#binary-literal"},{include:"#boolean-literal"},{include:"#null-literal"}]},"comment-block":{begin:/\/\*(?!\*)/dgv,end:/\*\//dgv,name:"comment.block.kotlin"},"comment-javadoc":{patterns:[{begin:/\/\*\*/dgv,end:/\*\//dgv,name:"comment.block.javadoc.kotlin",patterns:[{match:/@(return|constructor|receiver|sample|see|author|since|suppress)\b/dgv,name:"keyword.other.documentation.javadoc.kotlin"},{captures:{"1":{name:"keyword.other.documentation.javadoc.kotlin"},"2":{name:"variable.parameter.kotlin"}},match:/(@param|@property)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"keyword.other.documentation.javadoc.kotlin"},"2":{name:"variable.parameter.kotlin"}},match:/(@param)\[(\P{space}+)\]/dgv},{captures:{"1":{name:"keyword.other.documentation.javadoc.kotlin"},"2":{name:"entity.name.type.class.kotlin"}},match:/(@(?:exception|throws))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"keyword.other.documentation.javadoc.kotlin"},"2":{name:"entity.name.type.class.kotlin"},"3":{name:"variable.parameter.kotlin"}},match:/\{(@link)\p{space}+(\P{space}+)?#([\p{L}\p{M}\p{N}\p{Pc}\$]+\p{space}*\([^\(\)]*\))[^\n]*\}/dgv}]}]},"comment-line":{begin:/\/\//dgv,end:/(?=$|\n)/dgv,name:"comment.line.double-slash.kotlin"},comments:{patterns:[{include:"#comment-line"},{include:"#comment-block"},{include:"#comment-javadoc"}]},"control-keywords":{match:/\b(if|else|while|do|when|try|throw|break|continue|return|for)\b/dgv,name:"keyword.control.kotlin"},"decimal-literal":{match:/\b\p{Nd}[\p{Nd}_]*(\.[\p{Nd}_]+)?((e|E)\p{Nd}+)?(u|U)?(L|F|f)?\b/dgv,name:"constant.numeric.decimal.kotlin"},function:{captures:{"1":{name:"keyword.hard.fun.kotlin"},"2":{patterns:[{include:"#type-parameter"}]},"4":{name:"entity.name.type.class.extension.kotlin"},"5":{name:"entity.name.function.declaration.kotlin"}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(fun)\\b\\p{space}*(?<GROUP><([^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:))+>))+>))+>))+>))+>)?\\p{space}*(?:(?:([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\.)?(\\b[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b|`[^\\`]+`))?","dgv",{"useEmulationGroups":true})},"function-call":{captures:{"1":{name:"entity.name.function.call.kotlin"},"2":{patterns:[{include:"#type-parameter"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\??\\.?(\\b[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b|`[^\\`]+`)\\p{space}*(?<GROUP><([^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:))+>))+>))+>))+>))+>)?\\p{space}*(?=[\\(\\{])","dgv",{"useEmulationGroups":true})},"hard-keywords":{match:/\b(as|typeof|is|in)\b/dgv,name:"keyword.hard.kotlin"},"hex-literal":{match:/0(x|X)[A-Fa-f0-9][A-Fa-f0-9_]*(u|U)?/dgv,name:"constant.numeric.hex.kotlin"},import:{begin:/\b(import)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.soft.kotlin"}},contentName:"entity.name.package.kotlin",end:/;|(?=$|\n)/dgv,name:"meta.import.kotlin",patterns:[{include:"#comments"},{include:"#hard-keywords"},{match:/\*/dgv,name:"variable.language.wildcard.kotlin"}]},key:{captures:{"1":{name:"variable.parameter.kotlin"},"2":{name:"keyword.operator.assignment.kotlin"}},match:/\b([\p{L}\p{M}\p{N}\p{Pc}]=)\p{space}*(=)/dgv},keywords:{patterns:[{include:"#prefix-modifiers"},{include:"#postfix-modifiers"},{include:"#soft-keywords"},{include:"#hard-keywords"},{include:"#control-keywords"}]},"lambda-arrow":{match:/->/dgv,name:"storage.type.function.arrow.kotlin"},"method-reference":{captures:{"1":{name:"entity.name.function.reference.kotlin"}},match:/\??::(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b|`[^\`]+`)/dgv},"null-literal":{match:/\bnull\b/dgv,name:"constant.language.null.kotlin"},object:{captures:{"1":{name:"keyword.hard.object.kotlin"},"2":{name:"entity.name.type.object.kotlin"}},match:/\b(object)(?:\p{space}+(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b|`[^\`]+`))?/dgv},operators:{patterns:[{match:/(===?|!==?|<=|>=|<|>)/dgv,name:"keyword.operator.comparison.kotlin"},{match:/([\+\*\/\%\-]=)/dgv,name:"keyword.operator.assignment.arithmetic.kotlin"},{match:/(=)/dgv,name:"keyword.operator.assignment.kotlin"},{match:/([\+\*\/\%\-])/dgv,name:"keyword.operator.arithmetic.kotlin"},{match:/(!|&&|\|\|)/dgv,name:"keyword.operator.logical.kotlin"},{match:/(--|\+\+)/dgv,name:"keyword.operator.increment-decrement.kotlin"},{match:/(\.\.)/dgv,name:"keyword.operator.range.kotlin"}]},package:{begin:/\b(package)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.hard.package.kotlin"}},contentName:"entity.name.package.kotlin",end:/;|(?=$|\n)/dgv,name:"meta.package.kotlin",patterns:[{include:"#comments"}]},"postfix-modifiers":{match:/\b(where|by|get|set)\b/dgv,name:"storage.modifier.other.kotlin"},"prefix-modifiers":{match:/\b(abstract|final|enum|open|annotation|sealed|data|override|final|lateinit|private|protected|public|internal|inner|companion|noinline|crossinline|vararg|reified|tailrec|operator|infix|inline|external|const|suspend|value)\b/dgv,name:"storage.modifier.other.kotlin"},"self-reference":{match:/\b(this|super)(@[\p{L}\p{M}\p{N}\p{Pc}]+)?\b/dgv,name:"variable.language.this.kotlin"},"soft-keywords":{match:/\b(init|catch|finally|field)\b/dgv,name:"keyword.soft.kotlin"},string:{begin:/(?<!")"(?!")/dgv,end:/"/dgv,name:"string.quoted.double.kotlin",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.kotlin"},{include:"#string-escape-simple"},{include:"#string-escape-bracketed"}]},"string-empty":{match:/(?<!")""(?!")/dgv,name:"string.quoted.double.kotlin"},"string-escape-bracketed":{begin:/(?<!\\)(\$\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.template-expression.begin"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.template-expression.end"}},name:"meta.template.expression.kotlin",patterns:[{include:"#code"}]},"string-escape-simple":{match:/(?<!\\)\$[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"variable.string-escape.kotlin"},"string-multiline":{begin:/"""/dgv,end:/"""/dgv,name:"string.quoted.double.kotlin",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.kotlin"},{include:"#string-escape-simple"},{include:"#string-escape-bracketed"}]},"type-alias":{captures:{"1":{name:"keyword.hard.typealias.kotlin"},"2":{name:"entity.name.type.kotlin"},"3":{patterns:[{include:"#type-parameter"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(typealias)\\p{space}+(\\b[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b|`[^\\`]+`)\\p{space}*(?<GROUP><([^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:))+>))+>))+>))+>))+>)?","dgv",{"useEmulationGroups":true})},"type-annotation":{captures:{"0":{patterns:[{include:"#type-parameter"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\:\\?]):\\p{space}*([\\p{L}\\p{M}\\p{N}\\p{Pc}]|\\?|\\p{space}|->|(?<GROUP>[\\<\\(]([^\\<\\>\\(\\)\"']|(?:[\\<\\(]($E$[^\\<\\>\\(\\)\"']|(?:[\\<\\(]($E$[^\\<\\>\\(\\)\"']|(?:[\\<\\(]($E$[^\\<\\>\\(\\)\"']|(?:[\\<\\(]($E$[^\\<\\>\\(\\)\"']|(?:))+[\\)\\>]))+[\\)\\>]))+[\\)\\>]))+[\\)\\>]))+[\\)\\>]))+","dgv",{"useEmulationGroups":true})},"type-parameter":{patterns:[{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"entity.name.type.kotlin"},{match:/\b(in|out)\b/dgv,name:"storage.modifier.kotlin"}]},"unescaped-annotation":{match:/\b[\p{L}\p{M}\p{N}\p{Pc}\.]+\b/dgv,name:"entity.name.type.annotation.kotlin"},"variable-declaration":{captures:{"1":{name:"keyword.hard.kotlin"},"2":{patterns:[{include:"#type-parameter"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(val|var)\\b\\p{space}*(?<GROUP><([^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:))+>))+>))+>))+>))+>)?","dgv",{"useEmulationGroups":true})}},scopeName:"source.kotlin",embeddedLangs:undefined,aliases:["kt","kts"]})
3
+ const lang = Object.freeze({displayName:"Kotlin",fileTypes:["kt","kts"],name:"kotlin",patterns:[{include:"#import"},{include:"#package"},{include:"#code"}],repository:{"annotation-simple":{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])@[\p{L}\p{M}\p{N}\p{Pc}\.]+\b(?!:)/dgv,name:"entity.name.type.annotation.kotlin"},"annotation-site":{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(@[\p{L}\p{M}\p{N}\p{Pc}]+):\p{space}*(?!\[)/dgv,beginCaptures:{"1":{name:"entity.name.type.annotation-site.kotlin"}},end:/(?=\n?$)/dgv,patterns:[{include:"#unescaped-annotation"}]},"annotation-site-list":{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(@[\p{L}\p{M}\p{N}\p{Pc}]+):\p{space}*\[/dgv,beginCaptures:{"1":{name:"entity.name.type.annotation-site.kotlin"}},end:/\]/dgv,patterns:[{include:"#unescaped-annotation"}]},"binary-literal":{match:/0(b|B)[01][01_]*/dgv,name:"constant.numeric.binary.kotlin"},"boolean-literal":{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.kotlin"},character:{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.kotlin",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.kotlin"}]},"class-declaration":{captures:{"1":{name:"keyword.hard.class.kotlin"},"2":{name:"entity.name.type.class.kotlin"},"3":{patterns:[{include:"#type-parameter"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(class|(?:fun\\p{space}+)?interface)\\p{space}+(\\b[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b|`[^\\`]+`)\\p{space}*(?<GROUP><([^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:))+>))+>))+>))+>))+>)?","dgv",{"useEmulationGroups":true})},code:{patterns:[{include:"#comments"},{include:"#keywords"},{include:"#annotation-simple"},{include:"#annotation-site-list"},{include:"#annotation-site"},{include:"#class-declaration"},{include:"#object"},{include:"#type-alias"},{include:"#function"},{include:"#variable-declaration"},{include:"#type-constraint"},{include:"#type-annotation"},{include:"#function-call"},{include:"#method-reference"},{include:"#key"},{include:"#string"},{include:"#string-empty"},{include:"#string-multiline"},{include:"#character"},{include:"#lambda-arrow"},{include:"#operators"},{include:"#self-reference"},{include:"#decimal-literal"},{include:"#hex-literal"},{include:"#binary-literal"},{include:"#boolean-literal"},{include:"#null-literal"}]},"comment-block":{begin:/\/\*(?!\*)/dgv,end:/\*\//dgv,name:"comment.block.kotlin"},"comment-javadoc":{patterns:[{begin:/\/\*\*/dgv,end:/\*\//dgv,name:"comment.block.javadoc.kotlin",patterns:[{match:/@(return|constructor|receiver|sample|see|author|since|suppress)\b/dgv,name:"keyword.other.documentation.javadoc.kotlin"},{captures:{"1":{name:"keyword.other.documentation.javadoc.kotlin"},"2":{name:"variable.parameter.kotlin"}},match:/(@param|@property)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"keyword.other.documentation.javadoc.kotlin"},"2":{name:"variable.parameter.kotlin"}},match:/(@param)\[(\P{space}+)\]/dgv},{captures:{"1":{name:"keyword.other.documentation.javadoc.kotlin"},"2":{name:"entity.name.type.class.kotlin"}},match:/(@(?:exception|throws))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"keyword.other.documentation.javadoc.kotlin"},"2":{name:"entity.name.type.class.kotlin"},"3":{name:"variable.parameter.kotlin"}},match:/\{(@link)\p{space}+(\P{space}+)?#([\p{L}\p{M}\p{N}\p{Pc}\$]+\p{space}*\([^\(\)]*\))[^\n]*\}/dgv}]}]},"comment-line":{begin:/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line.double-slash.kotlin"},comments:{patterns:[{include:"#comment-line"},{include:"#comment-block"},{include:"#comment-javadoc"}]},"control-keywords":{match:/\b(if|else|while|do|when|try|throw|break|continue|return|for)\b/dgv,name:"keyword.control.kotlin"},"decimal-literal":{match:/\b\p{Nd}[\p{Nd}_]*(\.[\p{Nd}_]+)?((e|E)\p{Nd}+)?(u|U)?(L|F|f)?\b/dgv,name:"constant.numeric.decimal.kotlin"},function:{captures:{"1":{name:"keyword.hard.fun.kotlin"},"2":{patterns:[{include:"#type-parameter"}]},"4":{name:"entity.name.type.class.extension.kotlin"},"5":{name:"entity.name.function.declaration.kotlin"}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(fun)\\b\\p{space}*(?<GROUP><([^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:))+>))+>))+>))+>))+>)?\\p{space}*(?:(?:([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)\\.)?(\\b[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b|`[^\\`]+`))?","dgv",{"useEmulationGroups":true})},"function-call":{captures:{"1":{name:"entity.name.function.call.kotlin"},"2":{patterns:[{include:"#type-parameter"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\??\\.?(\\b[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b|`[^\\`]+`)\\p{space}*(?<GROUP><([^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:))+>))+>))+>))+>))+>)?\\p{space}*(?=[\\(\\{])","dgv",{"useEmulationGroups":true})},"hard-keywords":{match:/\b(as|typeof|is|in)\b/dgv,name:"keyword.hard.kotlin"},"hex-literal":{match:/0(x|X)[A-Fa-f0-9][A-Fa-f0-9_]*(u|U)?/dgv,name:"constant.numeric.hex.kotlin"},import:{begin:/\b(import)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.soft.kotlin"}},contentName:"entity.name.package.kotlin",end:/;|(?=\n?$)/dgv,name:"meta.import.kotlin",patterns:[{include:"#comments"},{include:"#hard-keywords"},{match:/\*/dgv,name:"variable.language.wildcard.kotlin"}]},key:{captures:{"1":{name:"variable.parameter.kotlin"},"2":{name:"keyword.operator.assignment.kotlin"}},match:/\b([\p{L}\p{M}\p{N}\p{Pc}]=)\p{space}*(=)/dgv},keywords:{patterns:[{include:"#prefix-modifiers"},{include:"#postfix-modifiers"},{include:"#soft-keywords"},{include:"#hard-keywords"},{include:"#control-keywords"}]},"lambda-arrow":{match:/->/dgv,name:"storage.type.function.arrow.kotlin"},"method-reference":{captures:{"1":{name:"entity.name.function.reference.kotlin"}},match:/\??::(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b|`[^\`]+`)/dgv},"null-literal":{match:/\bnull\b/dgv,name:"constant.language.null.kotlin"},object:{captures:{"1":{name:"keyword.hard.object.kotlin"},"2":{name:"entity.name.type.object.kotlin"}},match:/\b(object)(?:\p{space}+(\b[\p{L}\p{M}\p{N}\p{Pc}]+\b|`[^\`]+`))?/dgv},operators:{patterns:[{match:/(===?|!==?|<=|>=|<|>)/dgv,name:"keyword.operator.comparison.kotlin"},{match:/([\+\*\/\%\-]=)/dgv,name:"keyword.operator.assignment.arithmetic.kotlin"},{match:/(=)/dgv,name:"keyword.operator.assignment.kotlin"},{match:/([\+\*\/\%\-])/dgv,name:"keyword.operator.arithmetic.kotlin"},{match:/(!|&&|\|\|)/dgv,name:"keyword.operator.logical.kotlin"},{match:/(--|\+\+)/dgv,name:"keyword.operator.increment-decrement.kotlin"},{match:/(\.\.)/dgv,name:"keyword.operator.range.kotlin"}]},package:{begin:/\b(package)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.hard.package.kotlin"}},contentName:"entity.name.package.kotlin",end:/;|(?=\n?$)/dgv,name:"meta.package.kotlin",patterns:[{include:"#comments"}]},"postfix-modifiers":{match:/\b(where|by|get|set)\b/dgv,name:"storage.modifier.other.kotlin"},"prefix-modifiers":{match:/\b(abstract|final|enum|open|annotation|sealed|data|override|final|lateinit|private|protected|public|internal|inner|companion|noinline|crossinline|vararg|reified|tailrec|operator|infix|inline|external|const|suspend|value)\b/dgv,name:"storage.modifier.other.kotlin"},"self-reference":{match:/\b(this|super)(@[\p{L}\p{M}\p{N}\p{Pc}]+)?\b/dgv,name:"variable.language.this.kotlin"},"soft-keywords":{match:/\b(init|catch|finally|field)\b/dgv,name:"keyword.soft.kotlin"},string:{begin:/(?<!")"(?!")/dgv,end:/"/dgv,name:"string.quoted.double.kotlin",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.kotlin"},{include:"#string-escape-simple"},{include:"#string-escape-bracketed"}]},"string-empty":{match:/(?<!")""(?!")/dgv,name:"string.quoted.double.kotlin"},"string-escape-bracketed":{begin:/(?<!\\)(\$\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.template-expression.begin"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.template-expression.end"}},name:"meta.template.expression.kotlin",patterns:[{include:"#code"}]},"string-escape-simple":{match:/(?<!\\)\$[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"variable.string-escape.kotlin"},"string-multiline":{begin:/"""/dgv,end:/"""/dgv,name:"string.quoted.double.kotlin",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.kotlin"},{include:"#string-escape-simple"},{include:"#string-escape-bracketed"}]},"type-alias":{captures:{"1":{name:"keyword.hard.typealias.kotlin"},"2":{name:"entity.name.type.kotlin"},"3":{patterns:[{include:"#type-parameter"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(typealias)\\p{space}+(\\b[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b|`[^\\`]+`)\\p{space}*(?<GROUP><([^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:))+>))+>))+>))+>))+>)?","dgv",{"useEmulationGroups":true})},"type-annotation":{captures:{"0":{patterns:[{include:"#type-parameter"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\:\\?]):\\p{space}*([\\p{L}\\p{M}\\p{N}\\p{Pc}]|\\?|\\p{space}|->|(?<GROUP>[\\<\\(]([^\\<\\>\\(\\)\"']|(?:[\\<\\(]($E$[^\\<\\>\\(\\)\"']|(?:[\\<\\(]($E$[^\\<\\>\\(\\)\"']|(?:[\\<\\(]($E$[^\\<\\>\\(\\)\"']|(?:[\\<\\(]($E$[^\\<\\>\\(\\)\"']|(?:))+[\\)\\>]))+[\\)\\>]))+[\\)\\>]))+[\\)\\>]))+[\\)\\>]))+","dgv",{"useEmulationGroups":true})},"type-parameter":{patterns:[{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"entity.name.type.kotlin"},{match:/\b(in|out)\b/dgv,name:"storage.modifier.kotlin"}]},"unescaped-annotation":{match:/\b[\p{L}\p{M}\p{N}\p{Pc}\.]+\b/dgv,name:"entity.name.type.annotation.kotlin"},"variable-declaration":{captures:{"1":{name:"keyword.hard.kotlin"},"2":{patterns:[{include:"#type-parameter"}]}},match:/*@__PURE__*/ new EmulatedRegExp("\\b(val|var)\\b\\p{space}*(?<GROUP><([^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:<($E$[^\\<\\>]|(?:))+>))+>))+>))+>))+>)?","dgv",{"useEmulationGroups":true})}},scopeName:"source.kotlin",embeddedLangs:undefined,aliases:["kt","kts"]})
4
4
 
5
5
  export default [
6
6
  lang