github-linguist 8.0.1 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/go.mod.json +1 -1
  3. data/grammars/markdown.vue.codeblock.json +1 -0
  4. data/grammars/mdx.vue.codeblock.json +1 -0
  5. data/grammars/source.QB64.json +1 -0
  6. data/grammars/source.abap.json +1 -1
  7. data/grammars/source.abl.json +1 -1
  8. data/grammars/source.angelscript.json +1 -1
  9. data/grammars/source.basic.json +1 -1
  10. data/grammars/source.bb.json +1 -1
  11. data/grammars/source.brs.json +1 -1
  12. data/grammars/source.bsl.json +1 -1
  13. data/grammars/source.cmake.json +1 -1
  14. data/grammars/source.cmakecache.json +1 -0
  15. data/grammars/source.cobol.json +1 -1
  16. data/grammars/source.dart.json +1 -1
  17. data/grammars/source.fsharp.json +1 -1
  18. data/grammars/source.gdscript.json +1 -1
  19. data/grammars/source.graphql.json +1 -1
  20. data/grammars/source.hcl.json +1 -1
  21. data/grammars/source.hcl.terraform.json +1 -1
  22. data/grammars/source.julia.json +1 -1
  23. data/grammars/source.just.json +1 -1
  24. data/grammars/source.luau.json +1 -1
  25. data/grammars/source.matlab.json +1 -1
  26. data/grammars/source.mdx.astro.json +1 -0
  27. data/grammars/source.mdx.json +1 -1
  28. data/grammars/source.moonbit.json +1 -0
  29. data/grammars/source.msg.json +1 -0
  30. data/grammars/source.ned.json +1 -0
  31. data/grammars/source.nushell.json +1 -1
  32. data/grammars/source.odin.json +1 -1
  33. data/grammars/source.openesql.json +1 -0
  34. data/grammars/source.p4.json +1 -1
  35. data/grammars/source.polar.json +1 -1
  36. data/grammars/source.powerbuilder.json +1 -1
  37. data/grammars/source.rescript.json +1 -1
  38. data/grammars/source.rpgle.json +1 -1
  39. data/grammars/source.scala.json +1 -1
  40. data/grammars/source.sdbl.json +1 -1
  41. data/grammars/source.tact.json +1 -0
  42. data/grammars/source.toc.json +1 -1
  43. data/grammars/source.ts.json +1 -1
  44. data/grammars/source.tsp.json +1 -0
  45. data/grammars/source.tsx.json +1 -1
  46. data/grammars/source.vba.json +1 -1
  47. data/grammars/source.vue.json +1 -0
  48. data/grammars/source.wdl.json +1 -1
  49. data/grammars/text.adblock.json +1 -1
  50. data/grammars/text.md.json +1 -1
  51. data/grammars/version +1 -1
  52. data/grammars/vue.directives.json +1 -0
  53. data/grammars/vue.interpolations.json +1 -0
  54. data/grammars/vue.sfc.style.variable.injection.json +1 -0
  55. data/lib/linguist/VERSION +1 -1
  56. data/lib/linguist/generated.rb +31 -0
  57. data/lib/linguist/generic.yml +1 -0
  58. data/lib/linguist/heuristics.yml +55 -11
  59. data/lib/linguist/languages.json +1 -1
  60. data/lib/linguist/languages.yml +93 -3
  61. data/lib/linguist/lazy_blob.rb +15 -7
  62. data/lib/linguist/repository.rb +18 -13
  63. data/lib/linguist/samples.json +1 -1
  64. data/lib/linguist/source/diff.rb +72 -0
  65. data/lib/linguist/source/repository.rb +64 -0
  66. data/lib/linguist/source/rugged.rb +95 -0
  67. metadata +21 -6
  68. data/grammars/source.cache.cmake.json +0 -1
  69. data/grammars/text.html.vue.json +0 -1
  70. data/grammars/text.mdx.astro.codeblock.json +0 -1
@@ -1 +1 @@
1
- {"name":"Julia","scopeName":"source.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":[{"name":"meta.array.julia","begin":"\\[","end":"(\\])((?:\\.)?'*)","patterns":[{"name":"constant.numeric.julia","match":"\\bbegin\\b"},{"name":"constant.numeric.julia","match":"\\bend\\b"},{"include":"#self_no_for_block"}],"beginCaptures":{"0":{"name":"meta.bracket.julia"}},"endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}}}]},"bracket":{"patterns":[{"begin":"\\{","end":"(\\})((?:\\.)?'*)","patterns":[{"include":"#self_no_for_block"}],"beginCaptures":{"0":{"name":"meta.bracket.julia"}},"endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}}}]},"comment":{"patterns":[{"include":"#comment_block"},{"name":"comment.line.number-sign.julia","begin":"#","end":"\\n","patterns":[{"include":"#comment_tags"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.julia"}}}]},"comment_block":{"patterns":[{"name":"comment.block.number-sign-equals.julia","begin":"#=","end":"=#","patterns":[{"include":"#comment_tags"},{"include":"#comment_block"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.julia"}}}]},"comment_tags":{"patterns":[{"name":"keyword.other.comment-annotation.julia","match":"\\bTODO\\b"},{"name":"keyword.other.comment-annotation.julia","match":"\\bFIXME\\b"},{"name":"keyword.other.comment-annotation.julia","match":"\\bCHANGED\\b"},{"name":"keyword.other.comment-annotation.julia","match":"\\bXXX\\b"}]},"for_block":{"patterns":[{"begin":"\\b(for)\\b","end":"(?\u003c!,|\\s)(\\s*\\n)","patterns":[{"name":"keyword.other.julia","match":"\\bouter\\b"},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.julia"}}}]},"function_call":{"patterns":[{"begin":"((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\.?(\\()","end":"\\)(('|(\\.'))*\\.?')?","patterns":[{"include":"#self_no_for_block"}],"beginCaptures":{"1":{"name":"support.function.julia"},"2":{"name":"support.type.julia"},"3":{"name":"meta.bracket.julia"}},"endCaptures":{"0":{"name":"meta.bracket.julia"},"1":{"name":"keyword.operator.transposed-func.julia"}}}]},"function_decl":{"patterns":[{"match":"((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?(?=\\([^#]*\\)(::[^\\s]+)?(\\s*\\bwhere\\b\\s+.+?)?\\s*?=(?![=\u003e]))","captures":{"1":{"name":"entity.name.function.julia"},"2":{"name":"support.type.julia"}}},{"match":"\\b(function|macro)(?:\\s+(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(\\.))?((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?|\\s*)(?=\\()","captures":{"1":{"name":"keyword.other.julia"},"2":{"name":"keyword.operator.dots.julia"},"3":{"name":"entity.name.function.julia"},"4":{"name":"support.type.julia"}}}]},"keyword":{"patterns":[{"name":"keyword.other.julia","match":"\\b(?\u003c![:_\\.])(?:function|mutable\\s+struct|struct|macro|quote|abstract\\s+type|primitive\\s+type|module|baremodule|where)\\b"},{"name":"keyword.control.julia","match":"\\b(?\u003c![:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\\b"},{"name":"keyword.control.end.julia","match":"\\b(?\u003c![:_])end\\b"},{"name":"keyword.storage.modifier.julia","match":"\\b(?\u003c![:_])(?:global|local|const)\\b"},{"name":"keyword.control.export.julia","match":"\\b(?\u003c![:_])(?:export)\\b"},{"name":"keyword.control.public.julia","match":"^(?:public)\\b"},{"name":"keyword.control.import.julia","match":"\\b(?\u003c![:_])(?:import)\\b"},{"name":"keyword.control.using.julia","match":"\\b(?\u003c![:_])(?:using)\\b"},{"name":"keyword.control.as.julia"},{"name":"support.function.macro.julia","match":"(@(\\.|(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*))"}]},"number":{"patterns":[{"match":"((?\u003c!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\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))('*)","captures":{"1":{"name":"constant.numeric.julia"},"2":{"name":"keyword.operator.conjugate-number.julia"}}},{"name":"constant.global.julia","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"},{"name":"constant.language.julia","match":"\\btrue\\b|\\bfalse\\b|\\bnothing\\b|\\bmissing\\b"}]},"operator":{"patterns":[{"name":"keyword.operator.arrow.julia","match":"\\.?(?:\u003c--\u003e|-\u003e|--\u003e|\u003c--|←|→|↔|↚|↛|↞|↠|↢|↣|↦|↤|↮|⇎|⇍|⇏|⇐|⇒|⇔|⇴|⇶|⇷|⇸|⇹|⇺|⇻|⇼|⇽|⇾|⇿|⟵|⟶|⟷|⟹|⟺|⟻|⟼|⟽|⟾|⟿|⤀|⤁|⤂|⤃|⤄|⤅|⤆|⤇|⤌|⤍|⤎|⤏|⤐|⤑|⤔|⤕|⤖|⤗|⤘|⤝|⤞|⤟|⤠|⥄|⥅|⥆|⥇|⥈|⥊|⥋|⥎|⥐|⥒|⥓|⥖|⥗|⥚|⥛|⥞|⥟|⥢|⥤|⥦|⥧|⥨|⥩|⥪|⥫|⥬|⥭|⥰|⧴|⬱|⬰|⬲|⬳|⬴|⬵|⬶|⬷|⬸|⬹|⬺|⬻|⬼|⬽|⬾|⬿|⭀|⭁|⭂|⭃|⥷|⭄|⥺|⭇|⭈|⭉|⭊|⭋|⭌|←|→|⇜|⇝|↜|↝|↩|↪|↫|↬|↼|↽|⇀|⇁|⇄|⇆|⇇|⇉|⇋|⇌|⇚|⇛|⇠|⇢|↷|↶|↺|↻|=\u003e)"},{"name":"keyword.operator.update.julia","match":"(?::=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|÷=|\\.÷=|\\|=|\u0026=|\\.\u0026=|⊻=|\\.⊻=|\\$=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|=(?!=))"},{"name":"keyword.operator.shift.julia","match":"(?:\u003c\u003c|\u003e\u003e\u003e|\u003e\u003e|\\.\u003e\u003e\u003e|\\.\u003e\u003e|\\.\u003c\u003c)"},{"match":"(?:\\s*(::|\u003e:|\u003c:)\\s*((?:(?:Union)?\\([^)]*\\)|[[:alpha:]_$∇][[:word:]⁺-ₜ!′\\.]*(?:(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})|(?:\".+?(?\u003c!\\\\)\"))?)))(?:\\.\\.\\.)?((?:\\.)?'*)","captures":{"1":{"name":"keyword.operator.relation.types.julia"},"2":{"name":"support.type.julia"},"3":{"name":"keyword.operator.transpose.julia"}}},{"name":"keyword.operator.relation.julia","match":"(\\.?((?\u003c!\u003c)\u003c=|(?\u003c!\u003e)\u003e=|\u003e|\u003c|≥|≤|===|==|≡|!=|≠|!==|≢|∈|∉|∋|∌|⊆|⊈|⊂|⊄|⊊|∝|∊|∍|∥|∦|∷|∺|∻|∽|∾|≁|≃|≂|≄|≅|≆|≇|≈|≉|≊|≋|≌|≍|≎|≐|≑|≒|≓|≖|≗|≘|≙|≚|≛|≜|≝|≞|≟|≣|≦|≧|≨|≩|≪|≫|≬|≭|≮|≯|≰|≱|≲|≳|≴|≵|≶|≷|≸|≹|≺|≻|≼|≽|≾|≿|⊀|⊁|⊃|⊅|⊇|⊉|⊋|⊏|⊐|⊑|⊒|⊜|⊩|⊬|⊮|⊰|⊱|⊲|⊳|⊴|⊵|⊶|⊷|⋍|⋐|⋑|⋕|⋖|⋗|⋘|⋙|⋚|⋛|⋜|⋝|⋞|⋟|⋠|⋡|⋢|⋣|⋤|⋥|⋦|⋧|⋨|⋩|⋪|⋫|⋬|⋭|⋲|⋳|⋴|⋵|⋶|⋷|⋸|⋹|⋺|⋻|⋼|⋽|⋾|⋿|⟈|⟉|⟒|⦷|⧀|⧁|⧡|⧣|⧤|⧥|⩦|⩧|⩪|⩫|⩬|⩭|⩮|⩯|⩰|⩱|⩲|⩳|⩵|⩶|⩷|⩸|⩹|⩺|⩻|⩼|⩽|⩾|⩿|⪀|⪁|⪂|⪃|⪄|⪅|⪆|⪇|⪈|⪉|⪊|⪋|⪌|⪍|⪎|⪏|⪐|⪑|⪒|⪓|⪔|⪕|⪖|⪗|⪘|⪙|⪚|⪛|⪜|⪝|⪞|⪟|⪠|⪡|⪢|⪣|⪤|⪥|⪦|⪧|⪨|⪩|⪪|⪫|⪬|⪭|⪮|⪯|⪰|⪱|⪲|⪳|⪴|⪵|⪶|⪷|⪸|⪹|⪺|⪻|⪼|⪽|⪾|⪿|⫀|⫁|⫂|⫃|⫄|⫅|⫆|⫇|⫈|⫉|⫊|⫋|⫌|⫍|⫎|⫏|⫐|⫑|⫒|⫓|⫔|⫕|⫖|⫗|⫘|⫙|⫷|⫸|⫹|⫺|⊢|⊣|⟂|⫪|⫫|\u003c:|\u003e:))"},{"name":"keyword.operator.ternary.julia","match":"(?\u003c=\\s)(?:\\?)(?=\\s)"},{"name":"keyword.operator.ternary.julia","match":"(?\u003c=\\s)(?:\\:)(?=\\s)"},{"name":"keyword.operator.boolean.julia","match":"(?:\\|\\||\u0026\u0026|(?\u003c!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]))!)"},{"name":"keyword.operator.range.julia","match":"(?\u003c=[[:word:]⁺-ₜ!′∇\\)\\]\\}])(?::)"},{"name":"keyword.operator.applies.julia","match":"(?:\\|\u003e)"},{"name":"keyword.operator.bitwise.julia","match":"(?:\\||\\.\\||\\\u0026|\\.\\\u0026|~|¬|\\.~|⊻|\\.⊻)"},{"name":"keyword.operator.arithmetic.julia","match":"\\.?(?:\\+\\+|\\-\\-|\\+|\\-|−|¦|\\||⊕|⊖|⊞|⊟|∪|∨|⊔|±|∓|∔|∸|≏|⊎|⊻|⊽|⋎|⋓|⟇|⧺|⧻|⨈|⨢|⨣|⨤|⨥|⨦|⨧|⨨|⨩|⨪|⨫|⨬|⨭|⨮|⨹|⨺|⩁|⩂|⩅|⩊|⩌|⩏|⩐|⩒|⩔|⩖|⩗|⩛|⩝|⩡|⩢|⩣|\\*|//?|⌿|÷|%|\u0026|·|·|⋅|∘|×|\\\\|∩|∧|⊗|⊘|⊙|⊚|⊛|⊠|⊡|⊓|∗|∙|∤|⅋|≀|⊼|⋄|⋆|⋇|⋉|⋊|⋋|⋌|⋏|⋒|⟑|⦸|⦼|⦾|⦿|⧶|⧷|⨇|⨰|⨱|⨲|⨳|⨴|⨵|⨶|⨷|⨸|⨻|⨼|⨽|⩀|⩃|⩄|⩋|⩍|⩎|⩑|⩓|⩕|⩘|⩚|⩜|⩞|⩟|⩠|⫛|⊍|▷|⨝|⟕|⟖|⟗|⨟|\\^|↑|↓|⇵|⟰|⟱|⤈|⤉|⤊|⤋|⤒|⤓|⥉|⥌|⥍|⥏|⥑|⥔|⥕|⥘|⥙|⥜|⥝|⥠|⥡|⥣|⥥|⥮|⥯|↑|↓|√|∛|∜|⋆|±|∓)"},{"name":"keyword.operator.compose.julia","match":"(?:∘)"},{"name":"keyword.operator.isa.julia","match":"(?:::|(?\u003c=\\s)isa(?=\\s))"},{"name":"keyword.operator.relation.in.julia","match":"(?:(?\u003c=\\s)in(?=\\s))"},{"name":"keyword.operator.dots.julia","match":"(?:\\.(?=(?:@|_|\\p{L}))|\\.\\.+|…|⁝|⋮|⋱|⋰|⋯)"},{"name":"keyword.operator.interpolation.julia","match":"(?:\\$)(?=.+)"},{"match":"((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(('|(\\.'))*\\.?')","captures":{"2":{"name":"keyword.operator.transposed-variable.julia"}}},{"match":"(\\])((?:'|(?:\\.'))*\\.?')","captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-matrix.julia"}}},{"match":"(\\))((?:'|(?:\\.'))*\\.?')","captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-parens.julia"}}}]},"parentheses":{"patterns":[{"begin":"\\(","end":"(\\))((?:\\.)?'*)","patterns":[{"include":"#self_no_for_block"}],"beginCaptures":{"0":{"name":"meta.bracket.julia"}},"endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}}}]},"punctuation":{"patterns":[{"name":"punctuation.separator.comma.julia","match":","},{"name":"punctuation.separator.semicolon.julia","match":";"}]},"self_no_for_block":{"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":[{"name":"string.docstring.julia","begin":"(?:(@doc)\\s((?:doc)?\"\"\")|(doc\"\"\"))","end":"(\"\"\") ?(-\u003e)?","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"keyword.operator.arrow.julia"}}},{"name":"embed.cxx.julia","contentName":"source.cpp","begin":"(i?cxx)(\"\"\")","end":"\"\"\"","patterns":[{"include":"source.c++"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"embed.python.julia","contentName":"source.python","begin":"(py)(\"\"\")","end":"([\\s\\w]*)(\"\"\")","patterns":[{"include":"source.python"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"2":{"name":"punctuation.definition.string.end.julia"}}},{"name":"embed.js.julia","contentName":"source.js","begin":"(js)(\"\"\")","end":"\"\"\"","patterns":[{"include":"source.js"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"embed.R.julia","contentName":"source.r","begin":"(R)(\"\"\")","end":"\"\"\"","patterns":[{"include":"source.r"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"string.quoted.other.julia","begin":"(raw)(\"\"\")","end":"\"\"\"","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"string.quoted.other.julia","begin":"(raw)(\")","end":"\"","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"embed.sql.julia","contentName":"meta.embedded.inline.sql","begin":"(sql)(\"\"\")","end":"\"\"\"","patterns":[{"include":"source.sql"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"constant.other.symbol.julia","begin":"var\"\"\"","end":"\"\"\"","patterns":[{"include":"#string_escaped_char"}]},{"name":"constant.other.symbol.julia","begin":"var\"","end":"\"","patterns":[{"include":"#string_escaped_char"}]},{"name":"string.docstring.julia","begin":"^\\s?(doc)?(\"\"\")\\s?$","end":"(\"\"\")","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"}}},{"name":"string.quoted.single.julia","begin":"'","end":"'(?!')","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"string.quoted.triple.double.julia","begin":"\"\"\"","end":"\"\"\"","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.multiline.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.multiline.end.julia"}}},{"name":"string.quoted.double.julia","begin":"\"(?!\"\")","end":"\"","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"string.regexp.julia","begin":"r\"\"\"","end":"(\"\"\")([imsx]{0,4})?","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}}},{"name":"string.regexp.julia","begin":"r\"","end":"(\")([imsx]{0,4})?","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}}},{"name":"string.quoted.other.julia","begin":"(?\u003c!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)\"\"\"","end":"(\"\"\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}}},{"name":"string.quoted.other.julia","begin":"(?\u003c!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)\"","end":"(?\u003c![^\\\\]\\\\)(\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}}},{"name":"string.interpolated.backtick.julia","begin":"(?\u003c!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?```","end":"(```)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}}},{"name":"string.interpolated.backtick.julia","begin":"(?\u003c!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?`","end":"(?\u003c![^\\\\]\\\\)(`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}}}]},"string_dollar_sign_interpolate":{"patterns":[{"name":"variable.interpolation.julia","match":"\\$(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿]|[^\\p{^Sc}$])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]|[^\\p{^Sc}$])*"},{"name":"variable.interpolation.julia","begin":"\\$(\\()","end":"\\)","patterns":[{"include":"#self_no_for_block"}],"beginCaptures":{"1":{"name":"meta.bracket.julia"}},"endCaptures":{"0":{"name":"meta.bracket.julia"}}}]},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.julia","match":"\\\\(\\\\|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8}|.)"}]},"symbol":{"patterns":[{"name":"constant.other.symbol.julia","match":"(?\u003c![[:word:]⁺-ₜ!′∇\\)\\]\\}]):(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(?!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]))(?![\"`])"}]},"type_decl":{"patterns":[{"name":"meta.type.julia","match":"(?\u003e!:_)(?:struct|mutable\\s+struct|abstract\\s+type|primitive\\s+type)\\s+((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(\\s*(\u003c:)\\s*(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(?:{.*})?)?","captures":{"1":{"name":"entity.name.type.julia"},"2":{"name":"entity.other.inherited-class.julia"},"3":{"name":"punctuation.separator.inheritance.julia"}}}]}}}
1
+ {"name":"Julia","scopeName":"source.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":[{"name":"meta.array.julia","begin":"\\[","end":"(\\])((?:\\.)?'*)","patterns":[{"name":"constant.numeric.julia","match":"\\bbegin\\b"},{"name":"constant.numeric.julia","match":"\\bend\\b"},{"include":"#self_no_for_block"}],"beginCaptures":{"0":{"name":"meta.bracket.julia"}},"endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}}}]},"bracket":{"patterns":[{"begin":"\\{","end":"(\\})((?:\\.)?'*)","patterns":[{"include":"#self_no_for_block"}],"beginCaptures":{"0":{"name":"meta.bracket.julia"}},"endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}}}]},"comment":{"patterns":[{"include":"#comment_block"},{"name":"comment.line.number-sign.julia","begin":"#","end":"\\n","patterns":[{"include":"#comment_tags"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.julia"}}}]},"comment_block":{"patterns":[{"name":"comment.block.number-sign-equals.julia","begin":"#=","end":"=#","patterns":[{"include":"#comment_tags"},{"include":"#comment_block"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.julia"}}}]},"comment_tags":{"patterns":[{"name":"keyword.other.comment-annotation.julia","match":"\\bTODO\\b"},{"name":"keyword.other.comment-annotation.julia","match":"\\bFIXME\\b"},{"name":"keyword.other.comment-annotation.julia","match":"\\bCHANGED\\b"},{"name":"keyword.other.comment-annotation.julia","match":"\\bXXX\\b"}]},"for_block":{"patterns":[{"begin":"\\b(for)\\b","end":"(?\u003c!,|\\s)(\\s*\\n)","patterns":[{"name":"keyword.other.julia","match":"\\bouter\\b"},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.julia"}}}]},"function_call":{"patterns":[{"begin":"((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\.?(\\()","end":"\\)(('|(\\.'))*\\.?')?","patterns":[{"include":"#self_no_for_block"}],"beginCaptures":{"1":{"name":"support.function.julia"},"2":{"name":"support.type.julia"},"3":{"name":"meta.bracket.julia"}},"endCaptures":{"0":{"name":"meta.bracket.julia"},"1":{"name":"keyword.operator.transposed-func.julia"}}}]},"function_decl":{"patterns":[{"match":"((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?(?=\\([^#]*\\)(::[^\\s]+)?(\\s*\\bwhere\\b\\s+.+?)?\\s*?=(?![=\u003e]))","captures":{"1":{"name":"entity.name.function.julia"},"2":{"name":"support.type.julia"}}},{"match":"\\b(function|macro)(?:\\s+(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(\\.))?((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?|\\s*)(?=\\()","captures":{"1":{"name":"keyword.other.julia"},"2":{"name":"keyword.operator.dots.julia"},"3":{"name":"entity.name.function.julia"},"4":{"name":"support.type.julia"}}}]},"keyword":{"patterns":[{"name":"keyword.other.julia","match":"\\b(?\u003c![:_\\.])(?:function|mutable\\s+struct|struct|macro|quote|abstract\\s+type|primitive\\s+type|module|baremodule|where)\\b"},{"name":"keyword.control.julia","match":"\\b(?\u003c![:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\\b"},{"name":"keyword.control.end.julia","match":"\\b(?\u003c![:_])end\\b"},{"name":"keyword.storage.modifier.julia","match":"\\b(?\u003c![:_])(?:global|local|const)\\b"},{"name":"keyword.control.export.julia","match":"\\b(?\u003c![:_])(?:export)\\b"},{"name":"keyword.control.public.julia","match":"^(?:public)\\b"},{"name":"keyword.control.import.julia","match":"\\b(?\u003c![:_])(?:import)\\b"},{"name":"keyword.control.using.julia","match":"\\b(?\u003c![:_])(?:using)\\b"},{"name":"keyword.control.as.julia"},{"name":"support.function.macro.julia","match":"(@(\\.|(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*))"}]},"number":{"patterns":[{"match":"((?\u003c!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\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))('*)","captures":{"1":{"name":"constant.numeric.julia"},"2":{"name":"keyword.operator.conjugate-number.julia"}}},{"name":"constant.global.julia","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"},{"name":"constant.language.julia","match":"\\btrue\\b|\\bfalse\\b|\\bnothing\\b|\\bmissing\\b"}]},"operator":{"patterns":[{"name":"keyword.operator.arrow.julia","match":"\\.?(?:\u003c--\u003e|-\u003e|--\u003e|\u003c--|←|→|↔|↚|↛|↞|↠|↢|↣|↦|↤|↮|⇎|⇍|⇏|⇐|⇒|⇔|⇴|⇶|⇷|⇸|⇹|⇺|⇻|⇼|⇽|⇾|⇿|⟵|⟶|⟷|⟹|⟺|⟻|⟼|⟽|⟾|⟿|⤀|⤁|⤂|⤃|⤄|⤅|⤆|⤇|⤌|⤍|⤎|⤏|⤐|⤑|⤔|⤕|⤖|⤗|⤘|⤝|⤞|⤟|⤠|⥄|⥅|⥆|⥇|⥈|⥊|⥋|⥎|⥐|⥒|⥓|⥖|⥗|⥚|⥛|⥞|⥟|⥢|⥤|⥦|⥧|⥨|⥩|⥪|⥫|⥬|⥭|⥰|⧴|⬱|⬰|⬲|⬳|⬴|⬵|⬶|⬷|⬸|⬹|⬺|⬻|⬼|⬽|⬾|⬿|⭀|⭁|⭂|⭃|⥷|⭄|⥺|⭇|⭈|⭉|⭊|⭋|⭌|←|→|⇜|⇝|↜|↝|↩|↪|↫|↬|↼|↽|⇀|⇁|⇄|⇆|⇇|⇉|⇋|⇌|⇚|⇛|⇠|⇢|↷|↶|↺|↻|=\u003e)"},{"name":"keyword.operator.update.julia","match":"(?::=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|÷=|\\.÷=|\\|=|\u0026=|\\.\u0026=|⊻=|\\.⊻=|\\$=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|=(?!=))"},{"name":"keyword.operator.shift.julia","match":"(?:\u003c\u003c|\u003e\u003e\u003e|\u003e\u003e|\\.\u003e\u003e\u003e|\\.\u003e\u003e|\\.\u003c\u003c)"},{"match":"(?:\\s*(::|\u003e:|\u003c:)\\s*((?:(?:Union)?\\([^)]*\\)|[[:alpha:]_$∇][[:word:]⁺-ₜ!′\\.]*(?:(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})|(?:\".+?(?\u003c!\\\\)\"))?)))(?:\\.\\.\\.)?((?:\\.)?'*)","captures":{"1":{"name":"keyword.operator.relation.types.julia"},"2":{"name":"support.type.julia"},"3":{"name":"keyword.operator.transpose.julia"}}},{"name":"keyword.operator.relation.julia","match":"(\\.?((?\u003c!\u003c)\u003c=|(?\u003c!\u003e)\u003e=|\u003e|\u003c|≥|≤|===|==|≡|!=|≠|!==|≢|∈|∉|∋|∌|⊆|⊈|⊂|⊄|⊊|∝|∊|∍|∥|∦|∷|∺|∻|∽|∾|≁|≃|≂|≄|≅|≆|≇|≈|≉|≊|≋|≌|≍|≎|≐|≑|≒|≓|≖|≗|≘|≙|≚|≛|≜|≝|≞|≟|≣|≦|≧|≨|≩|≪|≫|≬|≭|≮|≯|≰|≱|≲|≳|≴|≵|≶|≷|≸|≹|≺|≻|≼|≽|≾|≿|⊀|⊁|⊃|⊅|⊇|⊉|⊋|⊏|⊐|⊑|⊒|⊜|⊩|⊬|⊮|⊰|⊱|⊲|⊳|⊴|⊵|⊶|⊷|⋍|⋐|⋑|⋕|⋖|⋗|⋘|⋙|⋚|⋛|⋜|⋝|⋞|⋟|⋠|⋡|⋢|⋣|⋤|⋥|⋦|⋧|⋨|⋩|⋪|⋫|⋬|⋭|⋲|⋳|⋴|⋵|⋶|⋷|⋸|⋹|⋺|⋻|⋼|⋽|⋾|⋿|⟈|⟉|⟒|⦷|⧀|⧁|⧡|⧣|⧤|⧥|⩦|⩧|⩪|⩫|⩬|⩭|⩮|⩯|⩰|⩱|⩲|⩳|⩵|⩶|⩷|⩸|⩹|⩺|⩻|⩼|⩽|⩾|⩿|⪀|⪁|⪂|⪃|⪄|⪅|⪆|⪇|⪈|⪉|⪊|⪋|⪌|⪍|⪎|⪏|⪐|⪑|⪒|⪓|⪔|⪕|⪖|⪗|⪘|⪙|⪚|⪛|⪜|⪝|⪞|⪟|⪠|⪡|⪢|⪣|⪤|⪥|⪦|⪧|⪨|⪩|⪪|⪫|⪬|⪭|⪮|⪯|⪰|⪱|⪲|⪳|⪴|⪵|⪶|⪷|⪸|⪹|⪺|⪻|⪼|⪽|⪾|⪿|⫀|⫁|⫂|⫃|⫄|⫅|⫆|⫇|⫈|⫉|⫊|⫋|⫌|⫍|⫎|⫏|⫐|⫑|⫒|⫓|⫔|⫕|⫖|⫗|⫘|⫙|⫷|⫸|⫹|⫺|⊢|⊣|⟂|⫪|⫫|\u003c:|\u003e:))"},{"name":"keyword.operator.ternary.julia","match":"(?\u003c=\\s)(?:\\?)(?=\\s)"},{"name":"keyword.operator.ternary.julia","match":"(?\u003c=\\s)(?:\\:)(?=\\s)"},{"name":"keyword.operator.boolean.julia","match":"(?:\\|\\||\u0026\u0026|(?\u003c!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]))!)"},{"name":"keyword.operator.range.julia","match":"(?\u003c=[[:word:]⁺-ₜ!′∇\\)\\]\\}])(?::)"},{"name":"keyword.operator.applies.julia","match":"(?:\\|\u003e)"},{"name":"keyword.operator.bitwise.julia","match":"(?:\\||\\.\\||\\\u0026|\\.\\\u0026|~|¬|\\.~|⊻|\\.⊻)"},{"name":"keyword.operator.arithmetic.julia","match":"\\.?(?:\\+\\+|\\-\\-|\\+|\\-|−|¦|\\||⊕|⊖|⊞|⊟|∪|∨|⊔|±|∓|∔|∸|≏|⊎|⊻|⊽|⋎|⋓|⟇|⧺|⧻|⨈|⨢|⨣|⨤|⨥|⨦|⨧|⨨|⨩|⨪|⨫|⨬|⨭|⨮|⨹|⨺|⩁|⩂|⩅|⩊|⩌|⩏|⩐|⩒|⩔|⩖|⩗|⩛|⩝|⩡|⩢|⩣|\\*|//?|⌿|÷|%|\u0026|·|·|⋅|∘|×|\\\\|∩|∧|⊗|⊘|⊙|⊚|⊛|⊠|⊡|⊓|∗|∙|∤|⅋|≀|⊼|⋄|⋆|⋇|⋉|⋊|⋋|⋌|⋏|⋒|⟑|⦸|⦼|⦾|⦿|⧶|⧷|⨇|⨰|⨱|⨲|⨳|⨴|⨵|⨶|⨷|⨸|⨻|⨼|⨽|⩀|⩃|⩄|⩋|⩍|⩎|⩑|⩓|⩕|⩘|⩚|⩜|⩞|⩟|⩠|⫛|⊍|▷|⨝|⟕|⟖|⟗|⨟|\\^|↑|↓|⇵|⟰|⟱|⤈|⤉|⤊|⤋|⤒|⤓|⥉|⥌|⥍|⥏|⥑|⥔|⥕|⥘|⥙|⥜|⥝|⥠|⥡|⥣|⥥|⥮|⥯|↑|↓|√|∛|∜|⋆|±|∓)"},{"name":"keyword.operator.compose.julia","match":"(?:∘)"},{"name":"keyword.operator.isa.julia","match":"(?:::|(?\u003c=\\s)isa(?=\\s))"},{"name":"keyword.operator.relation.in.julia","match":"(?:(?\u003c=\\s)in(?=\\s))"},{"name":"keyword.operator.dots.julia","match":"(?:\\.(?=(?:@|_|\\p{L}))|\\.\\.+|…|⁝|⋮|⋱|⋰|⋯)"},{"name":"keyword.operator.interpolation.julia","match":"(?:\\$)(?=.+)"},{"match":"((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(('|(\\.'))*\\.?')","captures":{"2":{"name":"keyword.operator.transposed-variable.julia"}}},{"match":"(\\])((?:'|(?:\\.'))*\\.?')","captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-matrix.julia"}}},{"match":"(\\))((?:'|(?:\\.'))*\\.?')","captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-parens.julia"}}}]},"parentheses":{"patterns":[{"begin":"\\(","end":"(\\))((?:\\.)?'*)","patterns":[{"include":"#self_no_for_block"}],"beginCaptures":{"0":{"name":"meta.bracket.julia"}},"endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}}}]},"punctuation":{"patterns":[{"name":"punctuation.separator.comma.julia","match":","},{"name":"punctuation.separator.semicolon.julia","match":";"}]},"self_no_for_block":{"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":[{"name":"string.docstring.julia","begin":"(?:(@doc)\\s((?:doc)?\"\"\")|(doc\"\"\"))","end":"(\"\"\") ?(-\u003e)?","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"keyword.operator.arrow.julia"}}},{"name":"embed.cxx.julia","contentName":"meta.embedded.inline.cpp","begin":"(i?cxx)(\"\"\")","end":"\"\"\"","patterns":[{},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"embed.python.julia","contentName":"meta.embedded.inline.python","begin":"(py)(\"\"\")","end":"([\\s\\w]*)(\"\"\")","patterns":[{"include":"source.python"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"2":{"name":"punctuation.definition.string.end.julia"}}},{"name":"embed.js.julia","contentName":"meta.embedded.inline.javascript","begin":"(js)(\"\"\")","end":"\"\"\"","patterns":[{"include":"source.js"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"embed.R.julia","contentName":"meta.embedded.inline.r","begin":"(R)(\"\"\")","end":"\"\"\"","patterns":[{"include":"source.r"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"string.quoted.other.julia","begin":"(raw)(\"\"\")","end":"\"\"\"","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"string.quoted.other.julia","begin":"(raw)(\")","end":"\"","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"embed.sql.julia","contentName":"meta.embedded.inline.sql","begin":"(sql)(\"\"\")","end":"\"\"\"","patterns":[{"include":"source.sql"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"constant.other.symbol.julia","begin":"var\"\"\"","end":"\"\"\"","patterns":[{"include":"#string_escaped_char"}]},{"name":"constant.other.symbol.julia","begin":"var\"","end":"\"","patterns":[{"include":"#string_escaped_char"}]},{"name":"string.docstring.julia","begin":"^\\s?(doc)?(\"\"\")\\s?$","end":"(\"\"\")","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"}}},{"name":"string.quoted.single.julia","begin":"'","end":"'(?!')","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"string.quoted.triple.double.julia","begin":"\"\"\"","end":"\"\"\"","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.multiline.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.multiline.end.julia"}}},{"name":"string.quoted.double.julia","begin":"\"(?!\"\")","end":"\"","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}}},{"name":"string.regexp.julia","begin":"r\"\"\"","end":"(\"\"\")([imsx]{0,4})?","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}}},{"name":"string.regexp.julia","begin":"r\"","end":"(\")([imsx]{0,4})?","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}}},{"name":"string.quoted.other.julia","begin":"(?\u003c!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)\"\"\"","end":"(\"\"\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}}},{"name":"string.quoted.other.julia","begin":"(?\u003c!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)\"","end":"(?\u003c![^\\\\]\\\\)(\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?","patterns":[{"include":"#string_escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}}},{"name":"string.interpolated.backtick.julia","begin":"(?\u003c!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?```","end":"(```)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}}},{"name":"string.interpolated.backtick.julia","begin":"(?\u003c!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?`","end":"(?\u003c![^\\\\]\\\\)(`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"},"1":{"name":"support.function.macro.julia"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"support.function.macro.julia"}}}]},"string_dollar_sign_interpolate":{"patterns":[{"name":"variable.interpolation.julia","match":"\\$(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿]|[^\\p{^Sc}$])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]|[^\\p{^Sc}$])*"},{"name":"variable.interpolation.julia","begin":"\\$(\\()","end":"\\)","patterns":[{"include":"#self_no_for_block"}],"beginCaptures":{"1":{"name":"meta.bracket.julia"}},"endCaptures":{"0":{"name":"meta.bracket.julia"}}}]},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.julia","match":"\\\\(\\\\|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8}|.)"}]},"symbol":{"patterns":[{"name":"constant.other.symbol.julia","match":"(?\u003c![[:word:]⁺-ₜ!′∇\\)\\]\\}]):(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(?!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]))(?![\"`])"}]},"type_decl":{"patterns":[{"name":"meta.type.julia","match":"(?\u003e!:_)(?:struct|mutable\\s+struct|abstract\\s+type|primitive\\s+type)\\s+((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(\\s*(\u003c:)\\s*(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(?:{.*})?)?","captures":{"1":{"name":"entity.name.type.julia"},"2":{"name":"entity.other.inherited-class.julia"},"3":{"name":"punctuation.separator.inheritance.julia"}}}]}}}
@@ -1 +1 @@
1
- {"name":"Just","scopeName":"source.just","patterns":[{"include":"#comments"},{"include":"#import"},{"include":"#module"},{"include":"#alias"},{"include":"#assignment"},{"include":"#builtins"},{"include":"#keywords"},{"include":"#expression-operators"},{"include":"#backtick"},{"include":"#strings"},{"include":"#parenthesis"},{"include":"#recipes"},{"include":"#recipe-operators"},{"include":"#embedded-languages"},{"include":"#escaping"}],"repository":{"alias":{"match":"(?x)\n ^\n (alias) \\s+ \n ([a-zA-Z_][a-zA-Z0-9_-]*) \\s* \n (:=) \\s* \n ([a-zA-Z_][a-zA-Z0-9_-]*)\n","captures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"variable.name.alias.just"},"3":{"name":"keyword.operator.assignment.just"},"4":{"name":"variable.other.just"}}},"assignment":{"patterns":[{"include":"#variable-assignment"},{"include":"#setting-assignment"}]},"backtick":{"patterns":[{"contentName":"source.shell","begin":"(```)","end":"(```)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.interpolated.just"}},"endCaptures":{"1":{"name":"string.interpolated.just"}}},{"match":"(`)([^`]*)(`)","captures":{"1":{"name":"string.interpolated.just"},"2":{"name":"source.shell","patterns":[{"include":"source.shell"}]},"3":{"name":"string.interpolated.just"}}}]},"boolean":{"patterns":[{"name":"constant.language.boolean.just","match":"\\b(true|false)\\b"}]},"builtin-functions":{"patterns":[{"name":"support.function.builtin.just","match":"(?x) \\b(\n arch|num_cpus|os|os_family|shell|env_var|env_var_or_default|env|\n is_dependency|invocation_directory|invocation_dir|invocation_directory_native|\n invocation_dir_native|justfile|justfile_directory|justfile_dir|just_executable|\n just_pid|source_file|source_directory|source_dir|module_file|module_directory|\n module_dir|append|prepend|encode_uri_component|quote|replace|replace_regex|\n trim|trim_end|trim_end_match|trim_end_matches|trim_start|trim_start_match|\n trim_start_matches|capitalize|kebabcase|lowercamelcase|lowercase|\n shoutykebabcase|shoutysnakecase|snakecase|titlecase|uppercamelcase|\n uppercase|absolute_path|blake3|blake3_file|canonicalize|extension|\n file_name|file_stem|parent_directory|parent_dir|without_extension|clean|join|\n path_exists|error|assert|sha256|sha256_file|uuid|choose|datetime|\n datetime_utc|semver_matches|cache_directory|cache_dir|config_directory|config_dir|\n config_local_directory|config_local_dir|data_directory|data_dir|data_local_directory|\n data_local_dir|executable_directory|executable_dir|home_directory|home_dir\n)\\b\n"}]},"builtins":{"patterns":[{"name":"constant.language.hex.just","match":"\\b(HEX|HEXLOWER|HEXUPPER)\\b"},{"include":"#builtin-functions"},{"include":"#literal"}]},"comments":{"patterns":[{"name":"comment.line.number-sign.just","match":"#([^!].*)$"}]},"control-keywords":{"patterns":[{"name":"keyword.control.conditional.just","match":"\\b(if|else)\\b"}]},"embedded-languages":{"patterns":[{"contentName":"source.js","begin":"^\\s+(#!/usr/bin/env\\s+node.*)$","end":"^$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"comment.line.number-sign.shebang.just"}}},{"contentName":"source.perl","begin":"^\\s+(#!/usr/bin/env\\s+perl.*)$","end":"^$","patterns":[{"include":"source.perl"}],"beginCaptures":{"1":{"name":"comment.line.number-sign.shebang.just"}}},{"contentName":"source.python","begin":"^\\s+(#!/usr/bin/env\\s+python.*)$","end":"^$","patterns":[{"include":"source.python"}],"beginCaptures":{"1":{"name":"comment.line.number-sign.shebang.just"}}},{"contentName":"source.ruby","begin":"^\\s+(#!/usr/bin/env\\s+ruby.*)$","end":"^$","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"comment.line.number-sign.shebang.just"}}},{"contentName":"source.shell","begin":"^\\s+(#!/usr/bin/env\\s+(?:sh|bash|zsh|fish).*)$","end":"^$","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"comment.line.number-sign.shebang.just"}}}]},"escaping":{"patterns":[{"name":"string.interpolated.escaping.just","match":"(?x)\n (?\u003c!\\{)\n (\\{\\{)\n \\{? (?!\\{)\n (.*?)\n (\\}\\})\n","captures":{"1":{"name":"string.interpolated.escape.just"},"2":{"patterns":[{"include":"#expression"}]},"3":{"name":"string.interpolated.escape.just"}}}]},"expression":{"patterns":[{"include":"#backtick"},{"include":"#builtins"},{"include":"#control-keywords"},{"include":"#expression-operators"},{"include":"#parenthesis"},{"include":"#strings"}]},"expression-operators":{"patterns":[{"name":"keyword.operator.path-join.just","match":"\\/"},{"name":"keyword.operator.concat.just","match":"\\+"},{"name":"keyword.operator.and.just","match":"\u0026\u0026"},{"name":"keyword.operator.equality.just","match":"(\\=\\=|\\=\\~|\\!\\=)"}]},"import":{"begin":"(?x)\n ^\n (import)\n (\\?)? \\s+\n","end":"$","patterns":[{"include":"#strings"}],"beginCaptures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"punctuation.optional.just"}}},"keywords":{"patterns":[{"include":"#reserved-keywords"},{"include":"#control-keywords"}]},"literal":{"patterns":[{"include":"#boolean"},{"include":"#number"}]},"module":{"begin":"(?x)\n ^\n (mod)\n (\\?)? \\s+\n ([a-zA-Z_][a-zA-Z0-9_-]*)\n (?=[$\\s])\n","end":"$","patterns":[{"include":"#strings"}],"beginCaptures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"punctuation.optional.just"},"3":{"name":"variable.name.module.just"}}},"number":{"patterns":[{"name":"constant.numeric.just","match":"(?x)\n (?\u003c! [a-zA-Z_\\-])(?:\n \\. \\d+\n |\n \\d+ \\. \\d+\n |\n \\d+ \\.\n |\n [1-9] \\d*\n )\n"},{"name":"invalid.illegal.name.just","match":"\\b[0-9]+[a-zA-Z_\\-]+\\b"}]},"parenthesis":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#parenthesis"}]},"recipe-attributes":{"patterns":[{"match":"(?x)\n ^\n \\[ \n ([a-zA-z\\-]+) \\s*\n (?: , ( \\s* [a-zA-z\\-]+ \\s* ) )*\n ] \\s*\n $\n","captures":{"1":{"name":"support.function.system.just"},"2":{"name":"support.function.system.just"}}},{"match":"(?x)\n ^\n \\[\n ([a-zA-z\\-]+)\n (?: \n (?: (:) (.*?) ) | (\\( (.*?) \\))\n )?\n ] \\s*\n $\n","captures":{"1":{"name":"support.function.system.just"},"2":{"name":"keyword.operator.attribute.end.just"},"3":{"patterns":[{"include":"#strings"}]},"4":{"patterns":[{"include":"#strings"}]}}}]},"recipe-dependencies":{"match":"(?x)\n (?:\n ([a-zA-Z_][a-zA-Z0-9_\\-]*)\n | ( \\( \n (?: [^\\(\\)]+ | \\( [^\\)]* \\))* \n \\) )\n | (\u0026\u0026)\n )\n","captures":{"1":{"name":"entity.name.function.just"},"2":{"patterns":[{"match":"(?x)\n \\( \n (?: \n ([a-zA-Z_][a-zA-Z0-9_\\-]*)\n (.*)\n )\n \\)\n","captures":{"1":{"name":"entity.name.function.just"},"2":{"patterns":[{"include":"#expression"}]}}}]},"3":{"name":"keyword.operator.and.just"}}},"recipe-operators":{"patterns":[{"match":"^\\s+(@)","captures":{"1":{"name":"keyword.operator.quiet.just"}}},{"match":"^\\s+(\\-)","captures":{"1":{"name":"keyword.operator.error-suppression.just"}}}]},"recipe-params":{"match":"(?x)\n (?: \n (\\+|\\*|\\$)?\n ([a-zA-Z_][a-zA-Z_0-9]*\n )\n (?:\n (=)\n (?: \n [a-zA-Z_][a-zA-Z_0-9]* \n | (\\\".*?\\\" | '.*?') \n | (`.*?`) \n | ( \\( \n (?: \n [^\\(\\)]+ \n | \\( [^)]* \\)\n )* \\) ) \n ) \n )?\n )\n","captures":{"1":{"name":"keyword.other.recipe.variadic.just"},"2":{"name":"variable.parameter.recipe.just"},"3":{"name":"keyword.operator.default.just"},"4":{"patterns":[{"include":"#strings"}]},"5":{"patterns":[{"include":"#backtick"}]},"6":{"patterns":[{"include":"#parenthesis"}]}}},"recipes":{"patterns":[{"match":"(?x)\n ^\n (@_|_@|@|_)?\n ([a-zA-Z][a-zA-Z0-9_\\-]*)\n (?: \\s+ (.*?) )?\n \\s* (:)\n (.*)\n","captures":{"1":{"name":"keyword.other.recipe.prefix.just"},"2":{"name":"entity.name.function.just"},"3":{"patterns":[{"include":"#recipe-params"}]},"4":{"name":"keyword.operator.recipe.end.just"},"5":{"patterns":[{"include":"#recipe-dependencies"}]}}},{"include":"#recipe-operators"},{"include":"#recipe-attributes"},{"include":"#embedded-languages"}]},"reserved-keywords":{"patterns":[{"match":"^(alias|export|import|mod|set)\\s+","captures":{"1":{"name":"keyword.other.reserved.just"}}}]},"setting-assignment":{"patterns":[{"begin":"(?x) \n ^\n (set) \\s+\n ([a-zA-Z_][a-zA-Z0-9_-]*) \\s*\n (:=)?\n","end":"$","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"variable.other.just"},"3":{"name":"keyword.operator.assignment.just"}}}]},"strings":{"patterns":[{"name":"string.quoted.double.indented.just","match":"([\\\"']{1,3})[\\{]+(\\1)"},{"name":"string.quoted.double.indented.just","begin":"(x)?(\"\"\")","end":"\"\"\"","patterns":[{"name":"constant.character.escape.just","match":"\\\\."},{"include":"#escaping"}],"beginCaptures":{"1":{"name":"constant.character.expanded.just"},"2":{"name":"string.quoted.double.indented.just"}}},{"name":"string.quoted.double.just","begin":"(x)?(\")","end":"\"","patterns":[{"name":"constant.character.escape.just","match":"\\\\."},{"include":"#escaping"}],"beginCaptures":{"1":{"name":"constant.character.expanded.just"},"2":{"name":"string.quoted.double.just"}}},{"name":"string.quoted.single.indented.just","begin":"(x)?(''')","end":"'''","patterns":[{"include":"#escaping"}],"beginCaptures":{"1":{"name":"constant.character.expanded.just"},"2":{"name":"string.quoted.single.indented.just"}}},{"name":"string.quoted.single.just","begin":"(x)?(')","end":"'","patterns":[{"include":"#escaping"}],"beginCaptures":{"1":{"name":"constant.character.expanded.just"},"2":{"name":"string.quoted.single.just"}}}]},"variable-assignment":{"patterns":[{"begin":"(?x) \n ^\n (?: (export) \\s+)?\n ([a-zA-Z_][a-zA-Z0-9_-]*) \\s*\n (:=)\n","end":"$","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"variable.other.just"},"3":{"name":"keyword.operator.assignment.just"}}}]}}}
1
+ {"name":"Just","scopeName":"source.just","patterns":[{"include":"#comments"},{"include":"#import"},{"include":"#module"},{"include":"#alias"},{"include":"#assignment"},{"include":"#builtins"},{"include":"#keywords"},{"include":"#expression-operators"},{"include":"#backtick"},{"include":"#strings"},{"include":"#parenthesis"},{"include":"#recipes"},{"include":"#recipe-operators"},{"include":"#embedded-languages"},{"include":"#escaping"}],"repository":{"alias":{"match":"(?x)\n ^\n (alias) \\s+ \n ([a-zA-Z_][a-zA-Z0-9_-]*) \\s* \n (:=) \\s* \n ([a-zA-Z_][a-zA-Z0-9_-]*)\n","captures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"variable.name.alias.just"},"3":{"name":"keyword.operator.assignment.just"},"4":{"name":"variable.other.just"}}},"assignment":{"patterns":[{"include":"#variable-assignment"},{"include":"#setting-assignment"}]},"backtick":{"patterns":[{"contentName":"source.shell","begin":"(```)","end":"(```)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"string.interpolated.just"}},"endCaptures":{"1":{"name":"string.interpolated.just"}}},{"match":"(`)([^`]*)(`)","captures":{"1":{"name":"string.interpolated.just"},"2":{"name":"source.shell","patterns":[{"include":"source.shell"}]},"3":{"name":"string.interpolated.just"}}}]},"boolean":{"patterns":[{"name":"constant.language.boolean.just","match":"\\b(true|false)\\b"}]},"builtin-functions":{"patterns":[{"name":"support.function.builtin.just","match":"(?x) \\b(\n arch|num_cpus|os|os_family|shell|env_var|env_var_or_default|env|\n is_dependency|invocation_directory|invocation_dir|invocation_directory_native|\n invocation_dir_native|justfile|justfile_directory|justfile_dir|just_executable|\n just_pid|source_file|source_directory|source_dir|module_file|module_directory|\n module_dir|append|prepend|encode_uri_component|quote|replace|replace_regex|\n trim|trim_end|trim_end_match|trim_end_matches|trim_start|trim_start_match|\n trim_start_matches|capitalize|kebabcase|lowercamelcase|lowercase|\n shoutykebabcase|shoutysnakecase|snakecase|titlecase|uppercamelcase|\n uppercase|absolute_path|blake3|blake3_file|canonicalize|extension|\n file_name|file_stem|parent_directory|parent_dir|without_extension|clean|join|\n path_exists|error|assert|sha256|sha256_file|uuid|choose|datetime|\n datetime_utc|semver_matches|cache_directory|cache_dir|config_directory|config_dir|\n config_local_directory|config_local_dir|data_directory|data_dir|data_local_directory|\n data_local_dir|executable_directory|executable_dir|home_directory|home_dir\n)\\b\n"}]},"builtins":{"patterns":[{"name":"constant.language.hex.just","match":"\\b(HEX|HEXLOWER|HEXUPPER)\\b"},{"include":"#builtin-functions"},{"include":"#literal"}]},"comments":{"patterns":[{"name":"comment.line.number-sign.just","match":"#([^!].*)$"}]},"control-keywords":{"patterns":[{"name":"keyword.control.conditional.just","match":"\\b(if|else)\\b"}]},"embedded-languages":{"patterns":[{"contentName":"source.js","begin":"^\\s+(#!/usr/bin/env\\s+node.*)$","end":"^$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"comment.line.number-sign.shebang.just"}}},{"contentName":"source.perl","begin":"^\\s+(#!/usr/bin/env\\s+perl.*)$","end":"^$","patterns":[{"include":"source.perl"}],"beginCaptures":{"1":{"name":"comment.line.number-sign.shebang.just"}}},{"contentName":"source.python","begin":"^\\s+(#!/usr/bin/env\\s+python.*)$","end":"^$","patterns":[{"include":"source.python"}],"beginCaptures":{"1":{"name":"comment.line.number-sign.shebang.just"}}},{"contentName":"source.ruby","begin":"^\\s+(#!/usr/bin/env\\s+ruby.*)$","end":"^$","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"comment.line.number-sign.shebang.just"}}},{"contentName":"source.shell","begin":"^\\s+(#!/usr/bin/env\\s+(?:sh|bash|zsh|fish).*)$","end":"^$","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"comment.line.number-sign.shebang.just"}}}]},"escaping":{"patterns":[{"name":"string.interpolated.escaping.just","match":"(?x)\n (?\u003c!\\{)\n (\\{\\{)\n \\{? (?!\\{)\n (.*?)\n (\\}\\})\n","captures":{"1":{"name":"string.interpolated.escape.just"},"2":{"patterns":[{"include":"#expression"}]},"3":{"name":"string.interpolated.escape.just"}}}]},"expression":{"patterns":[{"include":"#backtick"},{"include":"#builtins"},{"include":"#control-keywords"},{"include":"#expression-operators"},{"include":"#parenthesis"},{"include":"#strings"}]},"expression-operators":{"patterns":[{"name":"keyword.operator.path-join.just","match":"\\/"},{"name":"keyword.operator.concat.just","match":"\\+"},{"name":"keyword.operator.and.just","match":"\u0026\u0026"},{"name":"keyword.operator.equality.just","match":"(\\=\\=|\\=\\~|\\!\\=)"}]},"import":{"begin":"(?x)\n ^\n (import)\n (\\?)? \\s+\n","end":"$","patterns":[{"include":"#strings"}],"beginCaptures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"punctuation.optional.just"}}},"keywords":{"patterns":[{"include":"#reserved-keywords"},{"include":"#control-keywords"}]},"literal":{"patterns":[{"include":"#boolean"},{"include":"#number"}]},"module":{"begin":"(?x)\n ^\n (mod)\n (\\?)? \\s+\n ([a-zA-Z_][a-zA-Z0-9_-]*)\n (?=[$\\s])\n","end":"$","patterns":[{"include":"#strings"}],"beginCaptures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"punctuation.optional.just"},"3":{"name":"variable.name.module.just"}}},"number":{"patterns":[{"name":"constant.numeric.just","match":"(?x)\n (?\u003c! [a-zA-Z_\\-])(?:\n \\. \\d+\n |\n \\d+ \\. \\d+\n |\n \\d+ \\.\n |\n [1-9] \\d*\n )\n"},{"name":"invalid.illegal.name.just","match":"\\b[0-9]+[a-zA-Z_\\-]+\\b"}]},"parenthesis":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#parenthesis"}]},"recipe-attributes":{"patterns":[{"match":"(?x)\n ^\n \\[ \n ([a-zA-z\\-]+) \\s*\n (?: , ( \\s* [a-zA-z\\-]+ \\s* ) )*\n ] \\s*\n $\n","captures":{"1":{"name":"support.function.system.just"},"2":{"name":"support.function.system.just"}}},{"match":"(?x)\n ^\n \\[\n ([a-zA-z\\-]+)\n (?: \n (?: (:) (.*?) ) | (\\( (.*?) \\))\n )?\n ] \\s*\n $\n","captures":{"1":{"name":"support.function.system.just"},"2":{"name":"keyword.operator.attribute.end.just"},"3":{"patterns":[{"include":"#strings"}]},"4":{"patterns":[{"include":"#strings"}]}}}]},"recipe-dependencies":{"match":"(?x)\n (?:\n ([a-zA-Z_][a-zA-Z0-9_\\-]*)\n | ( \\( \n (?: [^\\(\\)]+ | \\( [^\\)]* \\))* \n \\) )\n | (\u0026\u0026)\n )\n","captures":{"1":{"name":"entity.name.function.just"},"2":{"patterns":[{"match":"(?x)\n \\( \n (?: \n ([a-zA-Z_][a-zA-Z0-9_\\-]*)\n (.*)\n )\n \\)\n","captures":{"1":{"name":"entity.name.function.just"},"2":{"patterns":[{"include":"#expression"}]}}}]},"3":{"name":"keyword.operator.and.just"}}},"recipe-operators":{"patterns":[{"match":"^\\s+(@)","captures":{"1":{"name":"keyword.operator.quiet.just"}}},{"match":"^\\s+(\\-)","captures":{"1":{"name":"keyword.operator.error-suppression.just"}}}]},"recipe-params":{"match":"(?x)\n (?: \n (\\+|\\*|\\$)?\n ([a-zA-Z_][a-zA-Z_0-9]*\n )\n (?:\n (=)\n (?: \n [a-zA-Z_][a-zA-Z_0-9]* \n | (\\\".*?\\\" | '.*?') \n | (`.*?`) \n | ( \\( \n (?: \n [^\\(\\)]+ \n | \\( [^)]* \\)\n )* \\) ) \n ) \n )?\n )\n","captures":{"1":{"name":"keyword.other.recipe.variadic.just"},"2":{"name":"variable.parameter.recipe.just"},"3":{"name":"keyword.operator.default.just"},"4":{"patterns":[{"include":"#strings"}]},"5":{"patterns":[{"include":"#backtick"}]},"6":{"patterns":[{"include":"#parenthesis"}]}}},"recipes":{"patterns":[{"match":"(?x)\n ^\n (@_|_@|@|_)?\n ([a-zA-Z][a-zA-Z0-9_\\-]*)\n (?: \\s+ (.*?) )?\n \\s* (:)\n (.*)\n","captures":{"1":{"name":"keyword.other.recipe.prefix.just"},"2":{"name":"entity.name.function.just"},"3":{"patterns":[{"include":"#recipe-params"}]},"4":{"name":"keyword.operator.recipe.end.just"},"5":{"patterns":[{"include":"#recipe-dependencies"}]}}},{"include":"#recipe-operators"},{"include":"#recipe-attributes"},{"include":"#embedded-languages"}]},"reserved-keywords":{"patterns":[{"match":"^(alias|export|unexport|import|mod|set)\\s+","captures":{"1":{"name":"keyword.other.reserved.just"}}}]},"setting-assignment":{"patterns":[{"begin":"(?x) \n ^\n (set) \\s+\n ([a-zA-Z_][a-zA-Z0-9_-]*) \\s*\n (:=)?\n","end":"$","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"variable.other.just"},"3":{"name":"keyword.operator.assignment.just"}}}]},"strings":{"patterns":[{"name":"string.quoted.double.indented.just","match":"([\\\"']{1,3})[\\{]+(\\1)"},{"name":"string.quoted.double.indented.just","begin":"(x)?(\"\"\")","end":"\"\"\"","patterns":[{"name":"constant.character.escape.just","match":"\\\\.(?:(?\u003c=u)\\{.+?\\})?"},{"include":"#escaping"}],"beginCaptures":{"1":{"name":"constant.character.expanded.just"},"2":{"name":"string.quoted.double.indented.just"}}},{"name":"string.quoted.double.just","begin":"(x)?(\")","end":"\"","patterns":[{"name":"constant.character.escape.just","match":"\\\\.(?:(?\u003c=u)\\{.+?\\})?"},{"include":"#escaping"}],"beginCaptures":{"1":{"name":"constant.character.expanded.just"},"2":{"name":"string.quoted.double.just"}}},{"name":"string.quoted.single.indented.just","begin":"(x)?(''')","end":"'''","patterns":[{"include":"#escaping"}],"beginCaptures":{"1":{"name":"constant.character.expanded.just"},"2":{"name":"string.quoted.single.indented.just"}}},{"name":"string.quoted.single.just","begin":"(x)?(')","end":"'","patterns":[{"include":"#escaping"}],"beginCaptures":{"1":{"name":"constant.character.expanded.just"},"2":{"name":"string.quoted.single.just"}}}]},"variable-assignment":{"patterns":[{"match":"^(unexport)\\s+([a-zA-Z_][a-zA-Z0-9_-]*)","captures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"variable.other.just"}}},{"begin":"(?x) \n ^\n (?: (export) \\s+)?\n ([a-zA-Z_][a-zA-Z0-9_-]*) \\s*\n (:=)\n","end":"$","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.other.reserved.just"},"2":{"name":"variable.other.just"},"3":{"name":"keyword.operator.assignment.just"}}}]}}}
@@ -1 +1 @@
1
- {"name":"Luau","scopeName":"source.luau","patterns":[{"include":"#function-definition"},{"include":"#number"},{"include":"#string"},{"include":"#shebang"},{"include":"#comment"},{"include":"#local-declaration"},{"include":"#for-loop"},{"include":"#type-alias-declaration"},{"include":"#keyword"},{"include":"#language_constant"},{"include":"#standard_library"},{"include":"#identifier"},{"include":"#operator"},{"include":"#parentheses"},{"include":"#table"},{"include":"#type_cast"},{"include":"#type_annotation"},{"include":"#attribute"}],"repository":{"attribute":{"patterns":[{"name":"meta.attribute.luau","match":"(@)([a-zA-Z_][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.operator.attribute.luau"},"2":{"name":"storage.type.attribute.luau"}}}]},"comment":{"patterns":[{"name":"comment.block.luau","begin":"--\\[(=*)\\[","end":"\\]\\1\\]","patterns":[{"name":"keyword.operator.other.luau","begin":"(```lua)\\s+","end":"(```)","patterns":[{"include":"source.luau"}],"beginCaptures":{"1":{"name":"comment.luau"}},"endCaptures":{"1":{"name":"comment.luau"}}},{"include":"#doc_comment_tags"}]},{"name":"comment.line.double-dash.documentation.luau","begin":"---","end":"\\n","patterns":[{"include":"#doc_comment_tags"}]},{"name":"comment.line.double-dash.luau","begin":"--","end":"\\n"}]},"doc_comment_tags":{"patterns":[{"name":"storage.type.class.luadoc.luau","match":"@\\w+"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]param)(?:\\s)+(\\b\\w+\\b)","captures":{"1":{"name":"storage.type.class.luadoc.luau"},"2":{"name":"variable.parameter.luau"}}}]},"for-loop":{"begin":"\\b(for)\\b","end":"\\b(in)\\b|(=)","patterns":[{"begin":"(:)","end":"(?=\\s*in\\b|\\s*[=,]|\\s*$)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"variable.parameter.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"keyword.control.luau"}},"endCaptures":{"1":{"name":"keyword.control.luau"},"2":{"name":"keyword.operator.assignment.luau"}}},"function-definition":{"name":"meta.function.luau","begin":"\\b(?:(local)\\s+)?(function)\\b(?![,:])","end":"(?\u003c=[\\)\\-{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"include":"#generics-declaration"},{"name":"meta.parameter.luau","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"name":"variable.parameter.function.varargs.luau","match":"\\.\\.\\."},{"name":"variable.parameter.function.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.luau","match":","},{"begin":":","end":"(?=[\\),])","patterns":[{"include":"#type_literal"}],"beginCaptures":{"0":{"name":"keyword.operator.type.luau"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.luau"}}},{"name":"variable.language.metamethod.luau","match":"\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm|__iter|__idiv)\\b"},{"name":"entity.name.function.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.local.luau"},"2":{"name":"keyword.control.luau"}}},"generics-declaration":{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"name":"entity.name.type.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"keyword.operator.assignment.luau","match":"="},{"include":"#type_literal"}]},"identifier":{"patterns":[{"name":"entity.name.function.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"variable.other.property.luau","match":"(?\u003c=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{"name":"variable.other.constant.luau","match":"\\b([A-Z_][A-Z0-9_]*)\\b"},{"name":"variable.other.readwrite.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}]},"interpolated_string_expression":{"name":"meta.template.expression.luau","contentName":"meta.embedded.line.luau","begin":"\\{","end":"\\}","patterns":[{"include":"source.luau"}],"beginCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.begin.luau"}},"endCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.end.luau"}}},"keyword":{"patterns":[{"name":"keyword.control.luau","match":"\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\b"},{"name":"storage.modifier.local.luau","match":"\\b(local)\\b"},{"name":"keyword.control.luau","match":"\\b(function)\\b(?![,:])"},{"name":"variable.language.self.luau","match":"(?\u003c![^.]\\.|:)\\b(self)\\b"},{"name":"keyword.operator.logical.luau keyword.operator.wordlike.luau","match":"\\b(and|or|not)\\b"},{"name":"variable.language.metamethod.luau","match":"(?\u003c=[^.]\\.|:)\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm)\\b"},{"name":"keyword.other.unit.luau","match":"(?\u003c![.])\\.{3}(?!\\.)"}]},"language_constant":{"patterns":[{"name":"constant.language.boolean.false.luau","match":"(?\u003c![^.]\\.|:)\\b(false)\\b"},{"name":"constant.language.boolean.true.luau","match":"(?\u003c![^.]\\.|:)\\b(true)\\b"},{"name":"constant.language.nil.luau","match":"(?\u003c![^.]\\.|:)\\b(nil(?!:))\\b"}]},"local-declaration":{"begin":"\\b(local)\\b","end":"(?=\\s*do\\b|\\s*[=;]|\\s*$)","patterns":[{"include":"#comment"},{"include":"#attribute"},{"begin":"(:)","end":"(?=\\s*do\\b|\\s*[=;,]|\\s*$)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"variable.other.constant.luau","match":"\\b([A-Z_][A-Z0-9_]*)\\b"},{"name":"variable.other.readwrite.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.local.luau"}}},"number":{"patterns":[{"name":"constant.numeric.hex.luau","match":"\\b0_*[xX]_*[\\da-fA-F_]*(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"},{"name":"constant.numeric.binary.luau","match":"\\b0_*[bB][01_]+(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"},{"name":"constant.numeric.decimal.luau","match":"(?:\\d[\\d_]*(?:\\.[\\d_]*)?|\\.\\d[\\d_]*)(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"}]},"operator":{"patterns":[{"name":"keyword.operator.comparison.luau","match":"==|~=|!=|\u003c=?|\u003e=?"},{"name":"keyword.operator.assignment.luau","match":"\\+=|-=|/=|//=|\\*=|%=|\\^=|\\.\\.=|="},{"name":"keyword.operator.arithmetic.luau","match":"\\+|-|%|\\*|\\/\\/|\\/|\\^"},{"name":"keyword.operator.other.luau","match":"#|(?\u003c!\\.)\\.{2}(?!\\.)"}]},"parentheses":{"begin":"(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.arguments.luau","match":","},{"include":"source.luau"}],"beginCaptures":{"1":{"name":"punctuation.arguments.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.arguments.end.luau"}}},"shebang":{"name":"comment.line.shebang.luau","match":"\\A(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.luau"}}},"standard_library":{"patterns":[{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(assert|collectgarbage|error|gcinfo|getfenv|getmetatable|ipairs|loadstring|newproxy|next|pairs|pcall|print|rawequal|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|typeof|unpack|xpcall)\\b"},{"name":"constant.language.luau","match":"(?\u003c![^.]\\.|:)\\b(_G|_VERSION)\\b"},{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(bit32\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\.(?:info|loadmodule|profilebegin|profileend|traceback)|math\\.(?:abs|acos|asin|atan|atan2|ceil|clamp|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sin|sinh|sqrt|tan|tanh)|os\\.(?:clock|date|difftime|time)|string\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\.(?:concat|create|find|foreach|foreachi|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\.(?:create|fromstring|tostring|len|readi8|readu8|readi16|readu16|readi32|readu32|readf32|readf64|writei8|writeu8|writei16|writeu16|writei32|writeu32|writef32|writef64|readstring|writestring|copy|fill))\\b"},{"name":"support.constant.luau","match":"(?\u003c![^.]\\.|:)\\b(bit32|buffer|coroutine|debug|math(\\.(huge|pi))?|os|string|table|task|utf8(\\.charpattern)?)\\b"},{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\\b"},{"name":"constant.language.luau","match":"(?\u003c![^.]\\.|:)\\b(game|plugin|shared|script|workspace|Enum(?:\\.\\w+){0,2})\\b"}]},"string":{"patterns":[{"name":"string.quoted.double.luau","begin":"\"","end":"\"","patterns":[{"include":"#string_escape"}]},{"name":"string.quoted.single.luau","begin":"'","end":"'","patterns":[{"include":"#string_escape"}]},{"name":"string.other.multiline.luau","begin":"\\[(=*)\\[","end":"\\]\\1\\]"},{"name":"string.interpolated.luau","begin":"`","end":"`","patterns":[{"include":"#interpolated_string_expression"},{"include":"#string_escape"}]}]},"string_escape":{"patterns":[{"name":"constant.character.escape.luau","match":"\\\\[abfnrtvz'\"`{\\\\]"},{"name":"constant.character.escape.luau","match":"\\\\\\d{1,3}"},{"name":"constant.character.escape.luau","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.luau","match":"\\\\u\\{[0-9a-fA-F]*\\}"},{"name":"constant.character.escape.luau","match":"\\\\$"}]},"table":{"begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.separator.fields.luau","match":"[,;]"},{"include":"source.luau"}],"beginCaptures":{"1":{"name":"punctuation.table.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.table.end.luau"}}},"type-alias-declaration":{"begin":"^\\b(?:(export)\\s+)?(type)\\b","end":"(?=\\s*$)|(?=\\s*;)","patterns":[{"include":"#type_literal"},{"name":"keyword.operator.assignment.luau","match":"="}],"beginCaptures":{"1":{"name":"storage.modifier.visibility.luau"},"2":{"name":"storage.type.luau"}}},"type_annotation":{"begin":":(?!\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[)))","end":"(?\u003c=\\))(?!\\s*-\u003e)|=|;|$|(?=\\breturn\\b)|(?=\\bend\\b)","patterns":[{"include":"#comment"},{"include":"#type_literal"}]},"type_cast":{"begin":"(::)","end":"(?=^|[;),}\\]:?\\-\\+\\\u003e](?!\\s*[\u0026\\|])|$|\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\b)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.typecast.luau"}}},"type_literal":{"patterns":[{"include":"#comment"},{"include":"#string"},{"name":"keyword.operator.type.luau","match":"\\?|\\\u0026|\\|"},{"name":"keyword.operator.type.luau","match":"-\u003e"},{"name":"constant.language.boolean.false.luau","match":"\\b(false)\\b"},{"name":"constant.language.boolean.true.luau","match":"\\b(true)\\b"},{"name":"support.type.primitive.luau","match":"\\b(nil|string|number|boolean|thread|userdata|symbol|any)\\b"},{"begin":"\\b(typeof)\\b(\\()","end":"(\\))","patterns":[{"include":"source.luau"}],"beginCaptures":{"1":{"name":"support.function.luau"},"2":{"name":"punctuation.arguments.begin.typeof.luau"}},"endCaptures":{"1":{"name":"punctuation.arguments.end.typeof.luau"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"name":"keyword.operator.assignment.luau","match":"="},{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}},"endCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"entity.name.type.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{"begin":"\\{","end":"\\}","patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#type_literal"}]},{"match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(:)","captures":{"1":{"name":"variable.property.luau"},"2":{"name":"keyword.operator.type.luau"}}},{"include":"#type_literal"},{"name":"punctuation.separator.fields.type.luau","match":"[,;]"}]},{"begin":"\\(","end":"\\)","patterns":[{"name":"variable.parameter.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(:)","captures":{"1":{"name":"variable.parameter.luau"},"2":{"name":"keyword.operator.type.luau"}}},{"include":"#type_literal"}]}]}}}
1
+ {"name":"Luau","scopeName":"source.luau","patterns":[{"include":"#function-definition"},{"include":"#number"},{"include":"#string"},{"include":"#shebang"},{"include":"#comment"},{"include":"#local-declaration"},{"include":"#for-loop"},{"include":"#type-alias-declaration"},{"include":"#keyword"},{"include":"#language_constant"},{"include":"#standard_library"},{"include":"#identifier"},{"include":"#operator"},{"include":"#parentheses"},{"include":"#table"},{"include":"#type_cast"},{"include":"#type_annotation"},{"include":"#attribute"}],"repository":{"attribute":{"patterns":[{"name":"meta.attribute.luau","match":"(@)([a-zA-Z_][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.operator.attribute.luau"},"2":{"name":"storage.type.attribute.luau"}}}]},"comment":{"patterns":[{"name":"comment.block.luau","begin":"--\\[(=*)\\[","end":"\\]\\1\\]","patterns":[{"name":"keyword.operator.other.luau","begin":"(```luau?)\\s+","end":"(```)","patterns":[{"include":"source.luau"}],"beginCaptures":{"1":{"name":"comment.luau"}},"endCaptures":{"1":{"name":"comment.luau"}}},{"include":"#doc_comment_tags"}]},{"name":"comment.line.double-dash.documentation.luau","begin":"---","end":"\\n","patterns":[{"include":"#doc_comment_tags"}]},{"name":"comment.line.double-dash.luau","begin":"--","end":"\\n"}]},"doc_comment_tags":{"patterns":[{"name":"storage.type.class.luadoc.luau","match":"@\\w+"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]param)(?:\\s)+(\\b\\w+\\b)","captures":{"1":{"name":"storage.type.class.luadoc.luau"},"2":{"name":"variable.parameter.luau"}}}]},"for-loop":{"begin":"\\b(for)\\b","end":"\\b(in)\\b|(=)","patterns":[{"begin":"(:)","end":"(?=\\s*in\\b|\\s*[=,]|\\s*$)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"variable.parameter.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"keyword.control.luau"}},"endCaptures":{"1":{"name":"keyword.control.luau"},"2":{"name":"keyword.operator.assignment.luau"}}},"function-definition":{"name":"meta.function.luau","begin":"\\b(?:(local)\\s+)?(function)\\b(?![,:])","end":"(?\u003c=[\\)\\-{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"include":"#generics-declaration"},{"name":"meta.parameter.luau","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"name":"variable.parameter.function.varargs.luau","match":"\\.\\.\\."},{"name":"variable.parameter.function.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.luau","match":","},{"begin":":","end":"(?=[\\),])","patterns":[{"include":"#type_literal"}],"beginCaptures":{"0":{"name":"keyword.operator.type.luau"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.luau"}}},{"name":"variable.language.metamethod.luau","match":"\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm|__iter|__idiv)\\b"},{"name":"entity.name.function.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.local.luau"},"2":{"name":"keyword.control.luau"}}},"generics-declaration":{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"name":"entity.name.type.luau","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"keyword.operator.assignment.luau","match":"="},{"include":"#type_literal"}]},"identifier":{"patterns":[{"name":"entity.name.function.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"variable.other.property.luau","match":"(?\u003c=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{"name":"variable.other.constant.luau","match":"\\b([A-Z_][A-Z0-9_]*)\\b"},{"name":"variable.other.readwrite.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}]},"interpolated_string_expression":{"name":"meta.template.expression.luau","contentName":"meta.embedded.line.luau","begin":"\\{","end":"\\}","patterns":[{"include":"source.luau"}],"beginCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.begin.luau"}},"endCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.end.luau"}}},"keyword":{"patterns":[{"name":"keyword.control.luau","match":"\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\b"},{"name":"storage.modifier.local.luau","match":"\\b(local)\\b"},{"name":"keyword.control.luau","match":"\\b(function)\\b(?![,:])"},{"name":"variable.language.self.luau","match":"(?\u003c![^.]\\.|:)\\b(self)\\b"},{"name":"keyword.operator.logical.luau keyword.operator.wordlike.luau","match":"\\b(and|or|not)\\b"},{"name":"variable.language.metamethod.luau","match":"(?\u003c=[^.]\\.|:)\\b(__add|__call|__concat|__div|__eq|__index|__le|__len|__lt|__metatable|__mod|__mode|__mul|__newindex|__pow|__sub|__tostring|__unm)\\b"},{"name":"keyword.other.unit.luau","match":"(?\u003c![.])\\.{3}(?!\\.)"}]},"language_constant":{"patterns":[{"name":"constant.language.boolean.false.luau","match":"(?\u003c![^.]\\.|:)\\b(false)\\b"},{"name":"constant.language.boolean.true.luau","match":"(?\u003c![^.]\\.|:)\\b(true)\\b"},{"name":"constant.language.nil.luau","match":"(?\u003c![^.]\\.|:)\\b(nil(?!:))\\b"}]},"local-declaration":{"begin":"\\b(local)\\b","end":"(?=\\s*do\\b|\\s*[=;]|\\s*$)","patterns":[{"include":"#comment"},{"include":"#attribute"},{"begin":"(:)","end":"(?=\\s*do\\b|\\s*[=;,]|\\s*$)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.type.luau"}}},{"name":"variable.other.constant.luau","match":"\\b([A-Z_][A-Z0-9_]*)\\b"},{"name":"variable.other.readwrite.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.local.luau"}}},"number":{"patterns":[{"name":"constant.numeric.hex.luau","match":"\\b0_*[xX]_*[\\da-fA-F_]*(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"},{"name":"constant.numeric.binary.luau","match":"\\b0_*[bB][01_]+(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"},{"name":"constant.numeric.decimal.luau","match":"(?:\\d[\\d_]*(?:\\.[\\d_]*)?|\\.\\d[\\d_]*)(?:[eE][\\+\\-]?_*\\d[\\d_]*(?:\\.[\\d_]*)?)?"}]},"operator":{"patterns":[{"name":"keyword.operator.comparison.luau","match":"==|~=|!=|\u003c=?|\u003e=?"},{"name":"keyword.operator.assignment.luau","match":"\\+=|-=|/=|//=|\\*=|%=|\\^=|\\.\\.=|="},{"name":"keyword.operator.arithmetic.luau","match":"\\+|-|%|\\*|\\/\\/|\\/|\\^"},{"name":"keyword.operator.other.luau","match":"#|(?\u003c!\\.)\\.{2}(?!\\.)"}]},"parentheses":{"begin":"(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.arguments.luau","match":","},{"include":"source.luau"}],"beginCaptures":{"1":{"name":"punctuation.arguments.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.arguments.end.luau"}}},"shebang":{"name":"comment.line.shebang.luau","match":"\\A(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.luau"}}},"standard_library":{"patterns":[{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(assert|collectgarbage|error|gcinfo|getfenv|getmetatable|ipairs|loadstring|newproxy|next|pairs|pcall|print|rawequal|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|typeof|unpack|xpcall)\\b"},{"name":"constant.language.luau","match":"(?\u003c![^.]\\.|:)\\b(_G|_VERSION)\\b"},{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(bit32\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\.(?:info|loadmodule|profilebegin|profileend|traceback)|math\\.(?:abs|acos|asin|atan|atan2|ceil|clamp|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sin|sinh|sqrt|tan|tanh)|os\\.(?:clock|date|difftime|time)|string\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\.(?:concat|create|find|foreach|foreachi|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\.(?:create|fromstring|tostring|len|readi8|readu8|readi16|readu16|readi32|readu32|readf32|readf64|writei8|writeu8|writei16|writeu16|writei32|writeu32|writef32|writef64|readstring|writestring|copy|fill))\\b"},{"name":"support.constant.luau","match":"(?\u003c![^.]\\.|:)\\b(bit32|buffer|coroutine|debug|math(\\.(huge|pi))?|os|string|table|task|utf8(\\.charpattern)?)\\b"},{"name":"support.function.luau","match":"(?\u003c![^.]\\.|:)\\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\\b"},{"name":"constant.language.luau","match":"(?\u003c![^.]\\.|:)\\b(game|plugin|shared|script|workspace|Enum(?:\\.\\w+){0,2})\\b"}]},"string":{"patterns":[{"name":"string.quoted.double.luau","begin":"\"","end":"\"","patterns":[{"include":"#string_escape"}]},{"name":"string.quoted.single.luau","begin":"'","end":"'","patterns":[{"include":"#string_escape"}]},{"name":"string.other.multiline.luau","begin":"\\[(=*)\\[","end":"\\]\\1\\]"},{"name":"string.interpolated.luau","begin":"`","end":"`","patterns":[{"include":"#interpolated_string_expression"},{"include":"#string_escape"}]}]},"string_escape":{"patterns":[{"name":"constant.character.escape.luau","match":"\\\\[abfnrtvz'\"`{\\\\]"},{"name":"constant.character.escape.luau","match":"\\\\\\d{1,3}"},{"name":"constant.character.escape.luau","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.luau","match":"\\\\u\\{[0-9a-fA-F]*\\}"},{"name":"constant.character.escape.luau","match":"\\\\$"}]},"table":{"begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.separator.fields.luau","match":"[,;]"},{"include":"source.luau"}],"beginCaptures":{"1":{"name":"punctuation.table.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.table.end.luau"}}},"type-alias-declaration":{"begin":"^\\b(?:(export)\\s+)?(type)\\b","end":"(?=\\s*$)|(?=\\s*;)","patterns":[{"include":"#type_literal"},{"name":"keyword.operator.assignment.luau","match":"="}],"beginCaptures":{"1":{"name":"storage.modifier.visibility.luau"},"2":{"name":"storage.type.luau"}}},"type_annotation":{"begin":":(?!\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[)))","end":"(?\u003c=\\))(?!\\s*-\u003e)|=|;|$|(?=\\breturn\\b)|(?=\\bend\\b)","patterns":[{"include":"#comment"},{"include":"#type_literal"}]},"type_cast":{"begin":"(::)","end":"(?=^|[;),}\\]:?\\-\\+\\\u003e](?!\\s*[\u0026\\|])|$|\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\b)","patterns":[{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"keyword.operator.typecast.luau"}}},"type_literal":{"patterns":[{"include":"#comment"},{"include":"#string"},{"name":"keyword.operator.type.luau","match":"\\?|\\\u0026|\\|"},{"name":"keyword.operator.type.function.luau","match":"-\u003e"},{"name":"constant.language.boolean.false.luau","match":"\\b(false)\\b"},{"name":"constant.language.boolean.true.luau","match":"\\b(true)\\b"},{"name":"support.type.primitive.luau","match":"\\b(nil|string|number|boolean|thread|userdata|symbol|any)\\b"},{"begin":"\\b(typeof)\\b(\\()","end":"(\\))","patterns":[{"include":"source.luau"}],"beginCaptures":{"1":{"name":"support.function.luau"},"2":{"name":"punctuation.arguments.begin.typeof.luau"}},"endCaptures":{"1":{"name":"punctuation.arguments.end.typeof.luau"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"name":"keyword.operator.assignment.luau","match":"="},{"include":"#type_literal"}],"beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.luau"}},"endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.luau"}}},{"name":"entity.name.type.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{"begin":"\\{","end":"\\}","patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#type_literal"}]},{"match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(:)","captures":{"1":{"name":"variable.property.luau"},"2":{"name":"keyword.operator.type.luau"}}},{"include":"#type_literal"},{"name":"punctuation.separator.fields.type.luau","match":"[,;]"}]},{"begin":"\\(","end":"\\)","patterns":[{"name":"variable.parameter.luau","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(:)","captures":{"1":{"name":"variable.parameter.luau"},"2":{"name":"keyword.operator.type.luau"}}},{"include":"#type_literal"}]}]}}}
@@ -1 +1 @@
1
- {"name":"MATLAB","scopeName":"source.matlab","patterns":[{"include":"#rules_before_command_dual"},{"include":"#command_dual"},{"include":"#rules_after_command_dual"}],"repository":{"anonymous_function":{"name":"meta.function.anonymous.matlab","begin":"(@)[^\\S\\n]*(?=\\()","patterns":[{"name":"meta.parameters.matlab","begin":"\\G(\\()","end":"\\)","patterns":[{"name":"variable.parameter.input.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"name":"meta.parameters.matlab","begin":"(?\u003c=\\))[^\\S\\n]*(\\()?","patterns":[{"include":"$self"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"punctuation.section.group.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.section.group.end.matlab"}}},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"punctuation.definition.function.anonymous.matlab"}}},"blocks":{"patterns":[{"name":"meta.for.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(for)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.for.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.if.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(if)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.if.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"name":"meta.elseif.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(elseif)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=elseif|else|end)\\b","patterns":[{"name":"meta.elseif.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.elseif.matlab"}}},{"name":"meta.else.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(else)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.else.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.if.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.if.matlab"},"2":{"patterns":[{"include":"$self"}]}}},{"name":"meta.for.parallel.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(parfor)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.for.parallel.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.repeat.parallel.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(spmd)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.repeat.parallel.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.repeat.parallel.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.repeat.parallel.matlab"}}},{"name":"meta.switch.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(switch)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.switch.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"name":"meta.case.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(case)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=case|otherwise|end)\\b","patterns":[{"name":"meta.case.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.case.matlab"}}},{"name":"meta.otherwise.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(otherwise)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.otherwise.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.switch.matlab"},"2":{"patterns":[{"include":"$self"}]}}},{"name":"meta.try.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(try)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.catch.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(catch)\\b\\s*(\\w+)?","captures":{"2":{"name":"keyword.control.catch.matlab"},"3":{"name":"variable.other.constant.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.try.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.try.matlab"}}},{"name":"meta.while.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(while)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.while.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.while.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.while.matlab"}}}]},"braced_validator_list":{"contentName":"meta.block.validation.matlab","begin":"\\s*({)\\s*","end":"}","patterns":[{"include":"#function_call"},{"include":"#braced_validator_list"},{"include":"#validator_strings"},{"include":"#line_continuation"},{"name":"punctuation.accessor.dot.matlab","match":"\\."}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.matlab"}}},"classdef":{"patterns":[{"name":"meta.class.matlab","begin":"(?x)\n\t\t\t\t\t\t\t^\\s* \t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(classdef)\n\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.class.declaration.matlab","begin":"\\G","end":"(?\u003c!\\.{3})(?=\\n)","patterns":[{"name":"storage.modifier.section.class.matlab","begin":"\\G\\(","end":"\\)(?=\\s*\\w+)","patterns":[{"name":"punctuation.separator.modifier.comma.matlab","match":","},{"name":"storage.modifier.class.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"(=)\\s*","end":"(?=\\)|,)","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"keyword.operator.other.question.matlab","match":"(?\u003c!\\w)\\?(?=\\w)"},{"include":"#metaclass_literal"},{"include":"#string"},{"include":"#curly_brackets"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"include":"#comments"},{"include":"#line_continuation"}]},{"begin":"\\s*(\\w+)","end":"(?\u003c!\\.{3})(?=\\s*%|\\n)","patterns":[{"begin":"\\G","end":"(?\u003c!\\.{3})(?=\\n)","patterns":[{"include":"#comments"},{"include":"#line_continuation"},{"name":"punctuation.separator.lt.inheritance.matlab","match":"\u003c"},{"name":"meta.inherited-class.matlab","begin":"(?\u003c!\\.)\\b(?=[a-zA-Z])","end":"(?\u003c=[a-zA-Z0-9_])(?!\\.)","patterns":[{"name":"entity.other.inherited-class.matlab","match":"(?\u003c=[\\s.\u003c])[a-zA-Z][a-zA-Z0-9_]*(?=\\s|$)"},{"name":"entity.name.namespace.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.accessor.dot.matlab","match":"\\."}]},{"name":"keyword.operator.type.matlab","match":"\u0026"}]},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.type.class.matlab"}}},{"include":"#comments"}]},{"name":"meta.properties.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(properties)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.properties.matlab"},"3":{"patterns":[{"name":"storage.modifier.properties.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"(=)\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}}]}},"endCaptures":{"1":{"name":"keyword.control.end.properties.matlab"}}},{"name":"meta.methods.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(methods)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.methods.matlab"},"3":{"patterns":[{"name":"storage.modifier.methods.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.methods.matlab"}}},{"name":"meta.events.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(events)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.assignment.definition.event.matlab","match":"(?:^\\s*|,\\s*)([a-zA-Z0-9_]+)","captures":{"1":{"name":"entity.name.type.event.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.events.matlab"},"3":{"patterns":[{"name":"variable.parameter.events.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.events.matlab"}}},{"name":"meta.enum.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(enumeration)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.assignment.definition.enummember.matlab","match":"(?:^\\s*|,\\s*)([a-zA-Z0-9_]+)","captures":{"1":{"name":"variable.other.enummember.matlab"}}},{"name":"punctuation.separator.comma.matlab","match":","},{"include":"#parentheses"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"keyword.control.enum.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.enum.matlab"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.type.class.matlab"}},"endCaptures":{"1":{"name":"storage.type.class.end.matlab"}}}]},"command_dual":{"name":"meta.function-call.command.matlab","match":"(?\u003c=^|[^.]\\n|;|,|=)([^\\S\\n]*)(?# A\u003e )(\\b\\w+\\b)([^\\S\\n]+)(?# B\u003e )((?!(\\+|-|\\*|\\.\\*|\\/|\\.\\/|\\\\|\\.\\\\|\\^|\\.\\^|==|~=|\u0026|\u0026\u0026|\\||\\|\\||=|:|\u003e|\u003e=|\u003c|\u003c=|\\.{3})[^\\S\\n]?)[^\\s({=;%][^\\n;%]*)","captures":{"2":{"name":"entity.name.function.command.matlab","patterns":[{"include":"$self"}]},"4":{"name":"string.unquoted.matlab","patterns":[{"include":"#string_quoted_single"}]}}},"comment_block":{"name":"comment.block.percentage.matlab","begin":"(^[\\s]*)(%\\{)[^\\S\\n]*+\\n","end":"(^[\\s]*)(%\\})[^\\S\\n]*+(?:\\n|$)","patterns":[{"include":"#comment_block"},{"match":"^[^\\n]*\\n"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"},"2":{"name":"punctuation.definition.comment.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"},"2":{"name":"punctuation.definition.comment.end.matlab"}}},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=%%\\s)","end":"\\Z","patterns":[{"name":"comment.line.double-percentage.matlab","begin":"%%","end":"\\n","patterns":[{"contentName":"entity.name.section.matlab","begin":"\\G[^\\S\\n]*(?![\\n\\s])","end":"(?=\\n)","beginCaptures":{"0":{"name":"punctuation.whitespace.comment.leading.matlab"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}},{"include":"#comment_block"},{"begin":"(^[ \\t]+)?(?=%)","end":"\\Z","patterns":[{"name":"comment.line.percentage.matlab","begin":"%","end":"\\Z","beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}}]},"conjugate_transpose":{"name":"keyword.operator.transpose.matlab","match":"((?\u003c=[^\\s])|(?\u003c=\\])|(?\u003c=\\))|(?\u003c=\\}))'"},"constants":{"patterns":[{"name":"constant.numeric.matlab","match":"(?\u003c!\\.)\\b(eps|Inf|inf|intmax|intmin|namelengthmax|realmax|realmin|pi)\\b"},{"name":"constant.language.nan.matlab","match":"(?\u003c!\\.)\\b(NaN|nan|NaT|nat)\\b"},{"name":"constant.language.boolean.matlab","match":"(?\u003c!\\.)\\b(on|off|false|true)\\b"}]},"control_statements":{"name":"meta.control.matlab","match":"\\s*(?\u003c=^|[\\s,;])(break|continue|return)\\b","captures":{"1":{"name":"keyword.control.flow.matlab"}}},"curly_brackets":{"contentName":"meta.cell.literal.matlab","begin":"\\{","end":"\\}","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.matlab"}}},"end_in_parentheses":{"name":"keyword.operator.word.matlab","match":"\\bend\\b"},"function":{"patterns":[{"name":"meta.function.matlab","begin":"(?x)\n\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(function)\n\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b(\\s*\\n)?","patterns":[{"name":"meta.function.declaration.matlab","begin":"\\G","patterns":[{"contentName":"meta.assignment.variable.output.matlab","begin":"\\G(?=[^\\(]*?(?:=|\\[|\\.{3}))","end":"\\s*(=)\\s*","patterns":[{"name":"punctuation.section.assignment.group.begin.matlab","match":"\\G\\["},{"match":"(\\])\\s*","captures":{"1":{"name":"punctuation.section.assignment.group.end.matlab"}}},{"name":"variable.parameter.output.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#line_continuation"},{"include":"#comments"}],"endCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"name":"entity.name.function.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*(?\u003e\\.[a-zA-Z0-9_]+)*","patterns":[{"name":"punctuation.accessor.dot.matlab","match":"\\."},{"include":"#line_continuation"}]},{"name":"meta.parameters.matlab","begin":"\\s*\\(","end":"\\)","patterns":[{"name":"variable.parameter.input.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"variable.language.anonymous.matlab","match":"~"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"include":"#line_continuation"},{"include":"#comments"}]},{"name":"meta.arguments.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(arguments)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"keyword.operator.other.matlab","match":"(?\u003c=\\w)\\.\\?(?=\\w)"},{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.arguments.matlab"},"3":{"name":"meta.arguments.declaration.matlab","patterns":[{"name":"punctuation.section.parens.begin.matlab","match":"\\("},{"name":"storage.modifier.arguments.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.section.parens.end.matlab","match":"\\)"}]}},"endCaptures":{"1":{"name":"keyword.control.end.arguments.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"storage.type.function.matlab"}},"endCaptures":{"1":{"name":"storage.type.function.end.matlab"}}}]},"function_call":{"name":"meta.function-call.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)\\s*(\\()","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"entity.name.function.matlab","patterns":[{"include":"$self"}]},"2":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"global_persistent":{"match":"^\\s*(global|persistent)\\b","captures":{"1":{"name":"storage.modifier.matlab"}}},"import":{"name":"meta.import.matlab","match":"[^\\S\\r\\n]*\\b(import)\\b[^\\S\\n]+([a-zA-Z0-9.\\*]*)[^\\S\\n]*(?=;|%|$)","captures":{"1":{"name":"keyword.other.import.matlab"},"2":{"name":"entity.name.namespace.matlab","patterns":[{"name":"entity.name.module.matlab","match":"\\w+"},{"name":"punctuation.separator.matlab","match":"\\."},{"name":"variable.language.wildcard.matlab","match":"\\*"}]}}},"indexing_by_expression":{"contentName":"meta.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)\\s*(\\.)(\\()","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"variable.other.readwrite.matlab"},"2":{"name":"punctuation.accessor.dot.matlab"},"3":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"indexing_curly_brackets":{"begin":"([a-zA-Z][a-zA-Z0-9_\\.]*\\s*)\\{","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"patterns":[{"include":"#variables"}]}}},"line_continuation":{"name":"meta.continuation.line.matlab","match":"(\\.{3})(.*)$","captures":{"1":{"name":"punctuation.separator.continuation.line.matlab"},"2":{"name":"comment.continuation.line.matlab"}}},"metaclass_literal":{"name":"meta.metaclass.matlab","begin":"(?\u003c=\\?)(?=[a-zA-Z])","end":"(?\u003c=[a-zA-Z0-9_])(?![a-zA-Z0-9_]|\\.|\\(|{)","patterns":[{"name":"entity.other.class.matlab","match":"(?\u003c=[.\\?])[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_.])"},{"name":"entity.name.namespace.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"}]},"multiple_assignment":{"contentName":"meta.assignment.variable.group.matlab","begin":"\\[(?=[^\\]]+\\]\\s*=[a-zA-Z0-9_\\s(])","end":"\\]","patterns":[{"name":"variable.language.anonymous.matlab","match":"(?\u003c=[\\[,])\\s{0,4}~\\s{0,4}(?=[\\],])"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.assignment.group.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.assignment.group.end.matlab"}}},"numbers":{"patterns":[{"name":"constant.numeric.decimal.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)\\d*\\.?\\d+([eE][+-]?\\d)?([0-9\u0026\u0026[^\\.]])*(i|j)?\\b","captures":{"3":{"name":"storage.type.number.imaginary.matlab"}}},{"name":"constant.numeric.hex.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)0[xX][[:xdigit:]]+([su](?:8|16|32|64))?\\b","captures":{"1":{"name":"storage.type.number.hex.matlab"}}},{"name":"constant.numeric.binary.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)0[bB][10]+([su](?:8|16|32|64))?\\b","captures":{"1":{"name":"storage.type.number.binary.matlab"}}}]},"operators":{"patterns":[{"name":"keyword.operator.storage.at.matlab","match":"(?\u003c!\\w)@(?=\\s{,4}\\w)"},{"name":"keyword.operator.other.question.matlab","match":"(?\u003c!\\w)\\?(?=\\w)"},{"name":"keyword.operator.arithmetic.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\\+|-|\\*|\\.\\*|/|\\./|\\\\|\\.\\\\|\\^|\\.\\^)(?=[a-zA-Z0-9\\s]|(?:\\.{3}))"},{"name":"keyword.operator.logical.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(==|~=|\u0026|\u0026\u0026|\\||\\|\\|)(?=[a-zA-Z0-9\\s]|(?:\\.{3}))"},{"name":"keyword.operator.assignment.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(=)(?!=)"},{"name":"keyword.operator.vector.colon.matlab","match":"(?\u003c=[a-zA-Z0-9_\\s(){,]|^):(?=[a-zA-Z0-9_\\s()},]|$||(?:\\.{3}))"},{"name":"keyword.operator.relational.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\u003e|\u003e=|\u003c|\u003c=)(?=[a-zA-Z0-9\\s]|(?:\\.{3}))"}]},"parentheses":{"contentName":"meta.parens.matlab","begin":"\\(","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"property":{"name":"variable.other.property.matlab","match":"(?\u003c=\\.)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())"},"property_access":{"name":"punctuation.accessor.dot.matlab","match":"\\."},"punctuation":{"patterns":[{"name":"punctuation.accessor.dot.matlab","match":"(?\u003c=\\w)\\.(?!\\()"},{"name":"punctuation.separator.comma.matlab","match":","},{"name":"punctuation.terminator.semicolon.matlab","match":";(?=\\s|$)"}]},"readwrite_operations":{"match":"(?\u003c![a-zA-Z0-9_]|\\.)[a-zA-Z][a-zA-Z0-9_]*(?:\\.[a-zA-Z][a-zA-Z0-9_]*)*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())","captures":{"0":{"patterns":[{"include":"#property"},{"include":"#readwrite_variable"},{"include":"#property_access"}]}}},"readwrite_variable":{"name":"variable.other.readwrite.matlab","match":"(?\u003c![a-zA-Z0-9_]|\\.|\\?)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())"},"rules_after_command_dual":{"patterns":[{"include":"#string"},{"include":"#line_continuation"},{"include":"#comments"},{"include":"#conjugate_transpose"},{"include":"#transpose"},{"include":"#constants"},{"include":"#variables"},{"include":"#numbers"},{"include":"#operators"},{"include":"#punctuation"}]},"rules_before_command_dual":{"patterns":[{"include":"#classdef"},{"include":"#function"},{"include":"#blocks"},{"include":"#control_statements"},{"include":"#global_persistent"},{"include":"#import"},{"include":"#superclass_method_call"},{"include":"#anonymous_function"},{"include":"#function_call"},{"include":"#parentheses"},{"include":"#indexing_curly_brackets"},{"include":"#indexing_by_expression"},{"include":"#multiple_assignment"},{"include":"#single_assignment"},{"include":"#square_brackets"},{"include":"#curly_brackets"},{"include":"#metaclass_literal"}]},"shell_string":{"match":"^\\s*((!)(.*)$\\n?)","captures":{"1":{"name":"meta.interpolation.shell.matlab"},"2":{"name":"punctuation.section.interpolation.begin.matlab"},"3":{"name":"source.shell.embedded.matlab","patterns":[{"include":"source.shell"}]}}},"single_assignment":{"match":"(?\u003c=^|,|;|for)\\s*([a-zA-Z][a-zA-Z0-9_.]*)(?=\\s*=)","captures":{"1":{"name":"meta.assignment.variable.single.matlab","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}]}}},"square_brackets":{"contentName":"meta.brackets.matlab","begin":"\\[(?![^\\]]+\\]\\s{,4}=)","end":"\\]","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.matlab"}}},"string":{"patterns":[{"include":"#shell_string"},{"include":"#string_quoted_single"},{"include":"#string_quoted_double"}]},"string_quoted_double":{"name":"string.quoted.double.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\||\\s|;|:|,)|$)","patterns":[{"name":"constant.character.escape.matlab","match":"\"\""},{"name":"invalid.illegal.unescaped-quote.matlab","match":"\"(?=.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},"string_quoted_single":{"name":"string.quoted.single.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^|\\s|;|:|,)|$)","patterns":[{"name":"constant.character.escape.matlab","match":"''"},{"name":"invalid.illegal.unescaped-quote.matlab","match":"'(?=.)"},{"name":"constant.character.escape.matlab","match":"((\\%([\\+\\-0]?\\d{0,3}(\\.\\d{1,3})?)(c|d|e|E|f|g|i|G|s|((b|t)?(o|u|x|X))))|\\%\\%|\\\\(b|f|n|r|t|\\\\))"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},"superclass_method_call":{"name":"meta.method-call.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)(@)\\s*([a-zA-Z][a-zA-Z0-9_]*(?:\\.[a-zA-Z][a-zA-Z0-9_]*)*)(\\()","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"entity.name.function.matlab","patterns":[{"include":"$self"}]},"2":{"name":"punctuation.accessor.scope-resolution.superclass.matlab"},"3":{"patterns":[{"name":"entity.name.type.class.matlab","match":"(\\w+)(?=\\s*\\z)"},{"match":"([a-zA-Z][a-zA-Z0-9_]*)(\\.)","captures":{"1":{"name":"entity.name.module.matlab"},"2":{"name":"punctuation.accessor.dot.matlab"}}},{"include":"$self"}]},"4":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"transpose":{"name":"keyword.operator.transpose.matlab","match":"\\.'"},"validator_strings":{"patterns":[{"patterns":[{"name":"string.quoted.single.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\s|;|:|,)|$)","patterns":[{"match":"''"},{"match":"'(?=.)"},{"match":"([^']+)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},{"name":"string.quoted.double.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\||\\s|;|:|,)|$|\\z)","patterns":[{"match":"\"\""},{"match":"\"(?=.)"},{"match":"[^\"]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}}]}]},"validators":{"name":"meta.assignment.definition.property.matlab","begin":"\\s*[;]?\\s*([a-zA-Z][a-zA-Z0-9_\\.\\?]*)","end":"([;\\n%=].*)","patterns":[{"include":"#line_continuation"},{"match":"\\s*(\\()([^\\)]*)(\\))","captures":{"1":{"name":"punctuation.section.parens.begin.matlab"},"2":{"name":"meta.parens.size.matlab","patterns":[{"include":"#numbers"},{"include":"#operators"},{"include":"#punctuation"}]},"3":{"name":"punctuation.section.parens.end.matlab"}}},{"name":"storage.type.matlab","match":"[a-zA-Z][a-zA-Z0-9_\\.]*"},{"include":"#braced_validator_list"}],"beginCaptures":{"1":{"name":"variable.object.property.matlab"}},"endCaptures":{"1":{"patterns":[{"match":"([%].*)","captures":{"1":{"patterns":[{"include":"$self"}]}}},{"match":"(=[^;]*)","captures":{"1":{"patterns":[{"include":"$self"}]}}},{"match":"([\\n;]\\s*[a-zA-Z].*)","captures":{"1":{"patterns":[{"include":"#validators"}]}}},{"include":"$self"}]}}},"variables":{"name":"variable.language.function.matlab","match":"(?\u003c!\\.)\\b(nargin|nargout|varargin|varargout)\\b"}},"injections":{"source.matlab -comment -entity -support -string -variable -interpolation -source.shell":{"patterns":[{"include":"#readwrite_operations"}]}}}
1
+ {"name":"MATLAB","scopeName":"source.matlab","patterns":[{"include":"#rules_before_command_dual"},{"include":"#command_dual"},{"include":"#rules_after_command_dual"}],"repository":{"anonymous_function":{"name":"meta.function.anonymous.matlab","begin":"(@)[^\\S\\n]*(?=\\()","patterns":[{"name":"meta.parameters.matlab","begin":"\\G(\\()","end":"\\)","patterns":[{"name":"variable.parameter.input.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"name":"meta.parameters.matlab","begin":"(?\u003c=\\))[^\\S\\n]*(\\()?","patterns":[{"include":"$self"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"punctuation.section.group.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.section.group.end.matlab"}}},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"punctuation.definition.function.anonymous.matlab"}}},"blocks":{"patterns":[{"name":"meta.for.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(for)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.for.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.if.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(if)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.if.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"name":"meta.elseif.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(elseif)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=elseif|else|end)\\b","patterns":[{"name":"meta.elseif.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.elseif.matlab"}}},{"name":"meta.else.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(else)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.else.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.if.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.if.matlab"},"2":{"patterns":[{"include":"$self"}]}}},{"name":"meta.for.parallel.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(parfor)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.for.parallel.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.for.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.for.matlab"}}},{"name":"meta.repeat.parallel.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(spmd)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.repeat.parallel.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.repeat.parallel.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.repeat.parallel.matlab"}}},{"name":"meta.switch.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(switch)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.switch.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"name":"meta.case.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(case)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=case|otherwise|end)\\b","patterns":[{"name":"meta.case.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.case.matlab"}}},{"name":"meta.otherwise.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(otherwise)\\b","end":"\\s*(?\u003c=^|[\\s,;])(?=end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.otherwise.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.switch.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.switch.matlab"},"2":{"patterns":[{"include":"$self"}]}}},{"name":"meta.try.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(try)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.catch.matlab","match":"(\\s*)(?\u003c=^|[\\s,;])(catch)\\b\\s*(\\w+)?","captures":{"2":{"name":"keyword.control.catch.matlab"},"3":{"name":"variable.other.constant.matlab"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.try.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.try.matlab"}}},{"name":"meta.while.matlab","begin":"\\s*(?\u003c=^|[\\s,;])(while)\\b","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.while.declaration.matlab","begin":"\\G(?!$)","patterns":[{"include":"$self"}]},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.while.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.while.matlab"}}}]},"braced_validator_list":{"contentName":"meta.block.validation.matlab","begin":"\\s*({)\\s*","end":"}","patterns":[{"include":"#function_call"},{"include":"#braced_validator_list"},{"include":"#validator_strings"},{"include":"#line_continuation"},{"name":"punctuation.accessor.dot.matlab","match":"\\."}],"beginCaptures":{"1":{"name":"punctuation.section.block.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.matlab"}}},"classdef":{"patterns":[{"name":"meta.class.matlab","begin":"(?x)\n\t\t\t\t\t\t\t^\\s* \t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(classdef)\n\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.class.declaration.matlab","begin":"\\G","end":"(?\u003c!\\.{3})(?=\\n)","patterns":[{"name":"storage.modifier.section.class.matlab","begin":"\\G\\(","end":"\\)","patterns":[{"name":"punctuation.separator.modifier.comma.matlab","match":","},{"name":"storage.modifier.class.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"(=)\\s*","end":"(?=\\)|,)","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"keyword.operator.other.question.matlab","match":"(?\u003c!\\w)\\?(?=\\w)"},{"include":"#metaclass_literal"},{"include":"#string"},{"include":"#curly_brackets"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"include":"#comments"},{"include":"#line_continuation"}]},{"begin":"\\s*(\\w+)","end":"(?\u003c!\\.{3})(?=\\s*%|\\n)","patterns":[{"begin":"\\G","end":"(?\u003c!\\.{3})(?=\\n)","patterns":[{"include":"#comments"},{"include":"#line_continuation"},{"name":"punctuation.separator.lt.inheritance.matlab","match":"\u003c"},{"name":"meta.inherited-class.matlab","begin":"(?\u003c!\\.)\\b(?=[a-zA-Z])","end":"(?\u003c=[a-zA-Z0-9_])(?!\\.)","patterns":[{"name":"entity.other.inherited-class.matlab","match":"(?\u003c=[\\s.\u003c])[a-zA-Z][a-zA-Z0-9_]*(?=\\s|$)"},{"name":"entity.name.namespace.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.accessor.dot.matlab","match":"\\."}]},{"name":"keyword.operator.type.matlab","match":"\u0026"}]},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.type.class.matlab"}}},{"include":"#comments"},{"include":"#line_continuation"}]},{"name":"meta.properties.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(properties)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.properties.matlab"},"3":{"patterns":[{"name":"storage.modifier.properties.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"(=)\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}}]}},"endCaptures":{"1":{"name":"keyword.control.end.properties.matlab"}}},{"name":"meta.methods.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(methods)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.methods.matlab"},"3":{"patterns":[{"name":"storage.modifier.methods.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.methods.matlab"}}},{"name":"meta.events.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(events)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.assignment.definition.event.matlab","match":"(?:^\\s*|,\\s*)([a-zA-Z0-9_]+)","captures":{"1":{"name":"entity.name.type.event.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.events.matlab"},"3":{"patterns":[{"name":"variable.parameter.events.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"begin":"=\\s*","end":",|(?=\\))","patterns":[{"name":"constant.language.boolean.matlab","match":"true|false"},{"name":"storage.modifier.access.matlab","match":"public|protected|private"}]}]}},"endCaptures":{"1":{"name":"keyword.control.end.events.matlab"}}},{"name":"meta.enum.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(enumeration)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"meta.assignment.definition.enummember.matlab","match":"(?:^\\s*|,\\s*)([a-zA-Z0-9_]+)","captures":{"1":{"name":"variable.other.enummember.matlab"}}},{"name":"punctuation.separator.comma.matlab","match":","},{"include":"#parentheses"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"keyword.control.enum.matlab"}},"endCaptures":{"1":{"name":"keyword.control.end.enum.matlab"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.type.class.matlab"}},"endCaptures":{"1":{"name":"storage.type.class.end.matlab"}}}]},"command_dual":{"name":"meta.function-call.command.matlab","match":"(?\u003c=^|[^.]\\n|;|,|=)([^\\S\\n]*)(?# A\u003e )(\\b\\w+\\b)([^\\S\\n]+)(?# B\u003e )((?!(\\+|-|\\*|\\.\\*|\\/|\\.\\/|\\\\|\\.\\\\|\\^|\\.\\^|==|~=|\u0026|\u0026\u0026|\\||\\|\\||=|:|\u003e|\u003e=|\u003c|\u003c=|\\.{3})[^\\S\\n]?)[^\\s({=;%][^\\n;%]*)","captures":{"2":{"name":"entity.name.function.command.matlab","patterns":[{"include":"$self"}]},"4":{"name":"string.unquoted.matlab","patterns":[{"include":"#string_quoted_single"}]}}},"comment_block":{"name":"comment.block.percentage.matlab","begin":"(^[\\s]*)(%\\{)[^\\S\\n]*+\\n","end":"(^[\\s]*)(%\\})[^\\S\\n]*+(?:\\n|$)","patterns":[{"include":"#comment_block"},{"match":"^[^\\n]*\\n"}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"},"2":{"name":"punctuation.definition.comment.begin.matlab"}},"endCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"},"2":{"name":"punctuation.definition.comment.end.matlab"}}},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=%%\\s)","end":"\\Z","patterns":[{"name":"comment.line.double-percentage.matlab","begin":"%%","end":"\\n","patterns":[{"contentName":"entity.name.section.matlab","begin":"\\G[^\\S\\n]*(?![\\n\\s])","end":"(?=\\n)","beginCaptures":{"0":{"name":"punctuation.whitespace.comment.leading.matlab"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}},{"include":"#comment_block"},{"begin":"(^[ \\t]+)?(?=%)","end":"\\Z","patterns":[{"name":"comment.line.percentage.matlab","begin":"%","end":"\\Z","beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}}}]},"conjugate_transpose":{"name":"keyword.operator.transpose.matlab","match":"((?\u003c=[^\\s])|(?\u003c=\\])|(?\u003c=\\))|(?\u003c=\\}))'"},"constants":{"patterns":[{"name":"constant.numeric.matlab","match":"(?\u003c!\\.)\\b(eps|Inf|inf|intmax|intmin|namelengthmax|realmax|realmin|pi)\\b"},{"name":"constant.language.nan.matlab","match":"(?\u003c!\\.)\\b(NaN|nan|NaT|nat)\\b"},{"name":"constant.language.boolean.matlab","match":"(?\u003c!\\.)\\b(on|off|false|true)\\b"}]},"control_statements":{"name":"meta.control.matlab","match":"\\s*(?\u003c=^|[\\s,;])(break|continue|return)\\b","captures":{"1":{"name":"keyword.control.flow.matlab"}}},"curly_brackets":{"contentName":"meta.cell.literal.matlab","begin":"\\{","end":"\\}","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.matlab"}}},"end_in_parentheses":{"name":"keyword.operator.word.matlab","match":"\\bend\\b"},"function":{"patterns":[{"name":"meta.function.matlab","begin":"(?x)\n\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t(function)\n\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b(\\s*\\n)?","patterns":[{"name":"meta.function.declaration.matlab","begin":"\\G","patterns":[{"contentName":"meta.assignment.variable.output.matlab","begin":"\\G(?=[^\\(]*?(?:=|\\[|\\.{3}))","end":"\\s*(=)\\s*","patterns":[{"name":"punctuation.section.assignment.group.begin.matlab","match":"\\G\\["},{"match":"(\\])\\s*","captures":{"1":{"name":"punctuation.section.assignment.group.end.matlab"}}},{"name":"variable.parameter.output.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#line_continuation"},{"include":"#comments"}],"endCaptures":{"1":{"name":"keyword.operator.assignment.matlab"}}},{"name":"entity.name.function.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*(?\u003e\\.[a-zA-Z0-9_]+)*","patterns":[{"name":"punctuation.accessor.dot.matlab","match":"\\."},{"include":"#line_continuation"}]},{"name":"meta.parameters.matlab","begin":"\\s*\\(","end":"\\)","patterns":[{"name":"variable.parameter.input.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"variable.language.anonymous.matlab","match":"~"},{"name":"punctuation.separator.parameter.comma.matlab","match":","},{"include":"#comments"},{"include":"#line_continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.matlab"}}},{"include":"#line_continuation"},{"include":"#comments"}]},{"name":"meta.arguments.matlab","begin":"(?x)\n\t\t\t\t\t\t\t\t\t(^\\s*)\t\t\t\t\t\t\t\t# Leading whitespace\n\t\t\t\t\t\t\t\t\t(arguments)\\b([^%]*)\n\t\t\t\t\t\t\t\t\t\\s*\n\t\t\t\t\t\t\t\t\t(\t\t\t\t\t\t\t\t\t# Optional attributes\n\t\t\t\t\t\t\t\t\t\t\\( [^)]* \\)\n\t\t\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t\t\t\t\\s*($|(?=%))\n\t\t\t\t\t\t\t\t","end":"\\s*(?\u003c=^|[\\s,;])(end)\\b","patterns":[{"name":"keyword.operator.other.matlab","match":"(?\u003c=\\w)\\.\\?(?=\\w)"},{"include":"#validators"},{"include":"$self"}],"beginCaptures":{"2":{"name":"keyword.control.arguments.matlab"},"3":{"name":"meta.arguments.declaration.matlab","patterns":[{"name":"punctuation.section.parens.begin.matlab","match":"\\("},{"name":"storage.modifier.arguments.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"},{"name":"punctuation.section.parens.end.matlab","match":"\\)"}]}},"endCaptures":{"1":{"name":"keyword.control.end.arguments.matlab"}}},{"include":"$self"}],"beginCaptures":{"2":{"name":"storage.type.function.matlab"}},"endCaptures":{"1":{"name":"storage.type.function.end.matlab"}}}]},"function_call":{"name":"meta.function-call.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)\\s*(\\()","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"entity.name.function.matlab","patterns":[{"include":"$self"}]},"2":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"global_persistent":{"match":"^\\s*(global|persistent)\\b","captures":{"1":{"name":"storage.modifier.matlab"}}},"import":{"name":"meta.import.matlab","match":"[^\\S\\r\\n]*\\b(import)\\b[^\\S\\n]+([a-zA-Z0-9.\\*]*)[^\\S\\n]*(?=;|%|$)","captures":{"1":{"name":"keyword.other.import.matlab"},"2":{"name":"entity.name.namespace.matlab","patterns":[{"name":"entity.name.module.matlab","match":"\\w+"},{"name":"punctuation.separator.matlab","match":"\\."},{"name":"variable.language.wildcard.matlab","match":"\\*"}]}}},"indexing_by_expression":{"contentName":"meta.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)\\s*(\\.)(\\()","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"variable.other.readwrite.matlab"},"2":{"name":"punctuation.accessor.dot.matlab"},"3":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"indexing_curly_brackets":{"begin":"([a-zA-Z][a-zA-Z0-9_\\.]*\\s*)\\{","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"patterns":[{"include":"#variables"}]}}},"line_continuation":{"name":"meta.continuation.line.matlab","match":"(\\.{3})(.*)$","captures":{"1":{"name":"punctuation.separator.continuation.line.matlab"},"2":{"name":"comment.continuation.line.matlab"}}},"metaclass_literal":{"name":"meta.metaclass.matlab","begin":"(?\u003c=\\?)(?=[a-zA-Z])","end":"(?\u003c=[a-zA-Z0-9_])(?![a-zA-Z0-9_]|\\.|\\(|{)","patterns":[{"name":"entity.other.class.matlab","match":"(?\u003c=[.\\?])[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_.])"},{"name":"entity.name.namespace.matlab","match":"[a-zA-Z][a-zA-Z0-9_]*"}]},"multiple_assignment":{"contentName":"meta.assignment.variable.group.matlab","begin":"\\[(?=[^\\]]+\\]\\s*=[a-zA-Z0-9_\\s(])","end":"\\]","patterns":[{"name":"variable.language.anonymous.matlab","match":"(?\u003c=[\\[,])\\s{0,4}~\\s{0,4}(?=[\\],])"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.assignment.group.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.assignment.group.end.matlab"}}},"numbers":{"patterns":[{"name":"constant.numeric.decimal.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)\\d*\\.?\\d+([eE][+-]?\\d)?([0-9\u0026\u0026[^\\.]])*(i|j)?\\b","captures":{"3":{"name":"storage.type.number.imaginary.matlab"}}},{"name":"constant.numeric.hex.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)0[xX][[:xdigit:]]+([su](?:8|16|32|64))?\\b","captures":{"1":{"name":"storage.type.number.hex.matlab"}}},{"name":"constant.numeric.binary.matlab","match":"(?\u003c=[\\s\\+\\-\\*\\/\\\\=:\\[\\(\\{,^]|^)0[bB][10]+([su](?:8|16|32|64))?\\b","captures":{"1":{"name":"storage.type.number.binary.matlab"}}}]},"operators":{"patterns":[{"name":"keyword.operator.storage.at.matlab","match":"(?\u003c!\\w)@(?=\\s{,4}\\w)"},{"name":"keyword.operator.other.question.matlab","match":"(?\u003c!\\w)\\?(?=\\w)"},{"name":"keyword.operator.arithmetic.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\\+|-|\\*|\\.\\*|/|\\./|\\\\|\\.\\\\|\\^|\\.\\^)(?=[a-zA-Z0-9\\s]|(?:\\.{3}))"},{"name":"keyword.operator.logical.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(==|~=|\u0026|\u0026\u0026|\\||\\|\\|)(?=[a-zA-Z0-9\\s]|(?:\\.{3}))"},{"name":"keyword.operator.assignment.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(=)(?!=)"},{"name":"keyword.operator.vector.colon.matlab","match":"(?\u003c=[a-zA-Z0-9_\\s(){,]|^):(?=[a-zA-Z0-9_\\s()},]|$||(?:\\.{3}))"},{"name":"keyword.operator.relational.matlab","match":"(?\u003c=[a-zA-Z0-9\\s])(\u003e|\u003e=|\u003c|\u003c=)(?=[a-zA-Z0-9\\s]|(?:\\.{3}))"}]},"parentheses":{"contentName":"meta.parens.matlab","begin":"\\(","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"property":{"name":"variable.other.property.matlab","match":"(?\u003c=\\.)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())"},"property_access":{"name":"punctuation.accessor.dot.matlab","match":"\\."},"punctuation":{"patterns":[{"name":"punctuation.accessor.dot.matlab","match":"(?\u003c=\\w)\\.(?!\\()"},{"name":"punctuation.separator.comma.matlab","match":","},{"name":"punctuation.terminator.semicolon.matlab","match":";(?=\\s|$)"}]},"readwrite_operations":{"match":"(?\u003c![a-zA-Z0-9_]|\\.)[a-zA-Z][a-zA-Z0-9_]*(?:\\.[a-zA-Z][a-zA-Z0-9_]*)*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())","captures":{"0":{"patterns":[{"include":"#property"},{"include":"#readwrite_variable"},{"include":"#property_access"}]}}},"readwrite_variable":{"name":"variable.other.readwrite.matlab","match":"(?\u003c![a-zA-Z0-9_]|\\.|\\?)[a-zA-Z][a-zA-Z0-9_]*(?![a-zA-Z0-9_]|(?:\\(|\\{|\\.\\())"},"rules_after_command_dual":{"patterns":[{"include":"#string"},{"include":"#line_continuation"},{"include":"#comments"},{"include":"#conjugate_transpose"},{"include":"#transpose"},{"include":"#constants"},{"include":"#variables"},{"include":"#numbers"},{"include":"#operators"},{"include":"#punctuation"}]},"rules_before_command_dual":{"patterns":[{"include":"#classdef"},{"include":"#function"},{"include":"#blocks"},{"include":"#control_statements"},{"include":"#global_persistent"},{"include":"#import"},{"include":"#superclass_method_call"},{"include":"#anonymous_function"},{"include":"#function_call"},{"include":"#parentheses"},{"include":"#indexing_curly_brackets"},{"include":"#indexing_by_expression"},{"include":"#multiple_assignment"},{"include":"#single_assignment"},{"include":"#square_brackets"},{"include":"#curly_brackets"},{"include":"#metaclass_literal"}]},"shell_string":{"match":"^\\s*((!)(.*)$\\n?)","captures":{"1":{"name":"meta.interpolation.shell.matlab"},"2":{"name":"punctuation.section.interpolation.begin.matlab"},"3":{"name":"source.shell.embedded.matlab","patterns":[{"include":"source.shell"}]}}},"single_assignment":{"match":"(?\u003c=^|,|;|for)\\s*([a-zA-Z][a-zA-Z0-9_.]*)(?=\\s*=)","captures":{"1":{"name":"meta.assignment.variable.single.matlab","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}]}}},"square_brackets":{"contentName":"meta.brackets.matlab","begin":"\\[(?![^\\]]+\\]\\s{,4}=)","end":"\\]","patterns":[{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.matlab"}}},"string":{"patterns":[{"include":"#shell_string"},{"include":"#string_quoted_single"},{"include":"#string_quoted_double"}]},"string_quoted_double":{"name":"string.quoted.double.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\||\\s|;|:|,)|$)","patterns":[{"name":"constant.character.escape.matlab","match":"\"\""},{"name":"invalid.illegal.unescaped-quote.matlab","match":"\"(?=.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},"string_quoted_single":{"name":"string.quoted.single.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|/|\\\\|\\.|\\^|\\s|;|:|,)|$)","patterns":[{"name":"constant.character.escape.matlab","match":"''"},{"name":"invalid.illegal.unescaped-quote.matlab","match":"'(?=.)"},{"name":"constant.character.escape.matlab","match":"((\\%([\\+\\-0]?\\d{0,3}(\\.\\d{1,3})?)(c|d|e|E|f|g|i|G|s|((b|t)?(o|u|x|X))))|\\%\\%|\\\\(b|f|n|r|t|\\\\))"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},"superclass_method_call":{"name":"meta.method-call.parens.matlab","begin":"([a-zA-Z][a-zA-Z0-9_]*)(@)\\s*([a-zA-Z][a-zA-Z0-9_]*(?:\\.[a-zA-Z][a-zA-Z0-9_]*)*)(\\()","patterns":[{"include":"#end_in_parentheses"},{"include":"#rules_before_command_dual"},{"include":"#rules_after_command_dual"}],"beginCaptures":{"1":{"name":"entity.name.function.matlab","patterns":[{"include":"$self"}]},"2":{"name":"punctuation.accessor.scope-resolution.superclass.matlab"},"3":{"patterns":[{"name":"entity.name.type.class.matlab","match":"(\\w+)(?=\\s*\\z)"},{"match":"([a-zA-Z][a-zA-Z0-9_]*)(\\.)","captures":{"1":{"name":"entity.name.module.matlab"},"2":{"name":"punctuation.accessor.dot.matlab"}}},{"include":"$self"}]},"4":{"name":"punctuation.section.parens.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.matlab"}}},"transpose":{"name":"keyword.operator.transpose.matlab","match":"\\.'"},"validator_strings":{"patterns":[{"patterns":[{"name":"string.quoted.single.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)'","end":"'(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\s|;|:|,)|$)","patterns":[{"match":"''"},{"match":"'(?=.)"},{"match":"([^']+)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}},{"name":"string.quoted.double.matlab","begin":"((?\u003c=(\\[|\\(|\\{|=|\\s|;|:|,|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^))|^)\"","end":"\"(?=(\\[|\\(|\\{|\\]|\\)|\\}|=|~|\u003c|\u003e|\u0026|\\||-|\\+|\\*|\\/|\\\\|\\.|\\^|\\||\\s|;|:|,)|$|\\z)","patterns":[{"match":"\"\""},{"match":"\"(?=.)"},{"match":"[^\"]+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}}}]}]},"validators":{"name":"meta.assignment.definition.property.matlab","begin":"\\s*[;]?\\s*([a-zA-Z][a-zA-Z0-9_\\.\\?]*)","end":"([;\\n%=].*)","patterns":[{"include":"#line_continuation"},{"match":"\\s*(\\()([^\\)]*)(\\))","captures":{"1":{"name":"punctuation.section.parens.begin.matlab"},"2":{"name":"meta.parens.size.matlab","patterns":[{"include":"#numbers"},{"include":"#operators"},{"include":"#punctuation"}]},"3":{"name":"punctuation.section.parens.end.matlab"}}},{"name":"storage.type.matlab","match":"[a-zA-Z][a-zA-Z0-9_\\.]*"},{"include":"#braced_validator_list"}],"beginCaptures":{"1":{"name":"variable.object.property.matlab"}},"endCaptures":{"1":{"patterns":[{"match":"([%].*)","captures":{"1":{"patterns":[{"include":"$self"}]}}},{"match":"(=[^;]*)","captures":{"1":{"patterns":[{"include":"$self"}]}}},{"match":"([\\n;]\\s*[a-zA-Z].*)","captures":{"1":{"patterns":[{"include":"#validators"}]}}},{"include":"$self"}]}}},"variables":{"name":"variable.language.function.matlab","match":"(?\u003c!\\.)\\b(nargin|nargout|varargin|varargout)\\b"}},"injections":{"source.matlab -comment -entity -support -string -variable -interpolation -source.shell":{"patterns":[{"include":"#readwrite_operations"}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.mdx.astro","patterns":[{"include":"#mdx_fenced_code_block_astro"}],"repository":{"mdx_fenced_code_block_astro":{"name":"markup.code.astro.mdx","begin":"(?:^|\\G)[\\t ]*([`~]{3,})(?:[\\t ]*((?:astro|(?:.*\\.)?(?:astro)))(?:[\\t ]+((?:[^\\n\\r`])+))?)(?:[\\t ]*$)","end":"(^\\1)\\s*$","patterns":[{"begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"contentName":"mdx.embedded.astro.frontmatter","begin":"^\\s*---\\s*$","end":"^\\s*---\\s*$","patterns":[{"include":"source.tsx"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.xi.begin.t"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.xi.end.t"}}},{"contentName":"mdx.embedded.astro","include":"source.astro"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.markdown"},"2":{"name":"entity.name.function.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}}}