Path: blob/main/extensions/julia/syntaxes/julia.tmLanguage.json
5240 views
{1"information_for_contributors": [2"This file has been converted from https://github.com/JuliaEditorSupport/atom-language-julia/blob/master/variants/julia_vscode.json",3"If you want to provide a fix or improvement, please create a pull request against the original repository.",4"Once accepted there, we are happy to receive an update request."5],6"version": "https://github.com/JuliaEditorSupport/atom-language-julia/commit/93454227ce9a7aa92f41b157c6a74f3971b4ae14",7"name": "Julia",8"scopeName": "source.julia",9"comment": "This grammar is used by Atom (Oniguruma), GitHub (PCRE), and VSCode (Oniguruma),\nso all regexps must be compatible with both engines.\n\nSpecs:\n- https://github.com/kkos/oniguruma/blob/master/doc/RE\n- https://www.pcre.org/current/doc/html/",10"patterns": [11{12"include": "#operator"13},14{15"include": "#array"16},17{18"include": "#string"19},20{21"include": "#parentheses"22},23{24"include": "#bracket"25},26{27"include": "#function_decl"28},29{30"include": "#function_call"31},32{33"include": "#for_block"34},35{36"include": "#keyword"37},38{39"include": "#number"40},41{42"include": "#comment"43},44{45"include": "#type_decl"46},47{48"include": "#symbol"49},50{51"include": "#punctuation"52}53],54"repository": {55"array": {56"patterns": [57{58"begin": "\\[",59"beginCaptures": {60"0": {61"name": "meta.bracket.julia"62}63},64"end": "(\\])((?:\\.)?'*)",65"endCaptures": {66"1": {67"name": "meta.bracket.julia"68},69"2": {70"name": "keyword.operator.transpose.julia"71}72},73"name": "meta.array.julia",74"patterns": [75{76"match": "\\bbegin\\b",77"name": "constant.numeric.julia"78},79{80"match": "\\bend\\b",81"name": "constant.numeric.julia"82},83{84"include": "#self_no_for_block"85}86]87}88]89},90"parentheses": {91"patterns": [92{93"begin": "\\(",94"beginCaptures": {95"0": {96"name": "meta.bracket.julia"97}98},99"end": "(\\))((?:\\.)?'*)",100"endCaptures": {101"1": {102"name": "meta.bracket.julia"103},104"2": {105"name": "keyword.operator.transpose.julia"106}107},108"patterns": [109{110"include": "#self_no_for_block"111}112]113}114]115},116"bracket": {117"patterns": [118{119"begin": "\\{",120"beginCaptures": {121"0": {122"name": "meta.bracket.julia"123}124},125"end": "(\\})((?:\\.)?'*)",126"endCaptures": {127"1": {128"name": "meta.bracket.julia"129},130"2": {131"name": "keyword.operator.transpose.julia"132}133},134"patterns": [135{136"include": "#self_no_for_block"137}138]139}140]141},142"comment_tags": {143"patterns": [144{145"match": "\\bTODO\\b",146"name": "keyword.other.comment-annotation.julia"147},148{149"match": "\\bFIXME\\b",150"name": "keyword.other.comment-annotation.julia"151},152{153"match": "\\bCHANGED\\b",154"name": "keyword.other.comment-annotation.julia"155},156{157"match": "\\bXXX\\b",158"name": "keyword.other.comment-annotation.julia"159}160]161},162"comment": {163"patterns": [164{165"include": "#comment_block"166},167{168"begin": "#",169"beginCaptures": {170"0": {171"name": "punctuation.definition.comment.julia"172}173},174"end": "\\n",175"name": "comment.line.number-sign.julia",176"patterns": [177{178"include": "#comment_tags"179}180]181}182]183},184"comment_block": {185"patterns": [186{187"begin": "#=",188"beginCaptures": {189"0": {190"name": "punctuation.definition.comment.begin.julia"191}192},193"end": "=#",194"endCaptures": {195"0": {196"name": "punctuation.definition.comment.end.julia"197}198},199"name": "comment.block.number-sign-equals.julia",200"patterns": [201{202"include": "#comment_tags"203},204{205"include": "#comment_block"206}207]208}209]210},211"function_call": {212"patterns": [213{214"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}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\.?(\\()",215"beginCaptures": {216"1": {217"name": "support.function.julia"218},219"2": {220"name": "support.type.julia"221},222"3": {223"name": "meta.bracket.julia"224}225},226"end": "\\)(('|(\\.'))*\\.?')?",227"endCaptures": {228"0": {229"name": "meta.bracket.julia"230},231"1": {232"name": "keyword.operator.transposed-func.julia"233}234},235"patterns": [236{237"include": "#self_no_for_block"238}239]240}241]242},243"function_decl": {244"patterns": [245{246"captures": {247"1": {248"name": "entity.name.function.julia"249},250"2": {251"name": "support.type.julia"252}253},254"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*?=(?![=>]))",255"comment": "first group is function name\nSecond group is type parameters (e.g. {T<:Number, S})\nThen open parens\nThen a lookahead ensures that we are followed by:\n - anything (function arguments)\n - 0 or more spaces\n - Finally an equal sign\nNegative lookahead ensures we don't have another equal sign (not `==`)"256},257{258"captures": {259"1": {260"name": "keyword.other.julia"261},262"2": {263"name": "keyword.operator.dots.julia"264},265"3": {266"name": "entity.name.function.julia"267},268"4": {269"name": "support.type.julia"270}271},272"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*)(?=\\()",273"comment": "similar regex to previous, but with keyword not 1-line syntax"274}275]276},277"for_block": {278"comment": "for blocks need to be special-cased to support tokenizing 'outer' properly",279"patterns": [280{281"begin": "\\b(for)\\b",282"beginCaptures": {283"0": {284"name": "keyword.control.julia"285}286},287"end": "(?<!,|\\s)(\\s*\\n)",288"patterns": [289{290"match": "\\bouter\\b",291"name": "keyword.other.julia"292},293{294"include": "$self"295}296]297}298]299},300"keyword": {301"patterns": [302{303"match": "\\b(?<![:_\\.])(?:function|mutable\\s+struct|struct|macro|quote|abstract\\s+type|primitive\\s+type|module|baremodule|where)\\b",304"name": "keyword.other.julia"305},306{307"match": "\\b(?<![:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\\b",308"name": "keyword.control.julia"309},310{311"match": "\\b(?<![:_])end\\b",312"name": "keyword.control.end.julia"313},314{315"match": "\\b(?<![:_])(?:global|local|const)\\b",316"name": "keyword.storage.modifier.julia"317},318{319"match": "\\b(?<![:_])(?:export)\\b",320"name": "keyword.control.export.julia"321},322{323"match": "^(?:public)\\b",324"name": "keyword.control.public.julia"325},326{327"match": "\\b(?<![:_])(?:import)\\b",328"name": "keyword.control.import.julia"329},330{331"match": "\\b(?<![:_])(?:using)\\b",332"name": "keyword.control.using.julia"333},334{335"match": "(?<=\\S\\s+)\\b(as)\\b(?=\\s+\\S)",336"name": "keyword.control.as.julia"337},338{339"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}←-⇿])*|[\\p{S}\\p{P}&&[^\\s@]]+)",340"name": "support.function.macro.julia"341}342]343},344"number": {345"patterns": [346{347"match": "((?<!(?:[[: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))('*)",348"captures": {349"1": {350"name": "constant.numeric.julia"351},352"2": {353"name": "keyword.operator.conjugate-number.julia"354}355}356},357{358"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",359"name": "constant.global.julia"360},361{362"match": "\\btrue\\b|\\bfalse\\b|\\bnothing\\b|\\bmissing\\b",363"name": "constant.language.julia"364}365]366},367"operator": {368"patterns": [369{370"match": "\\.?(?:<-->|->|-->|<--|←|→|↔|↚|↛|↞|↠|↢|↣|↦|↤|↮|⇎|⇍|⇏|⇐|⇒|⇔|⇴|⇶|⇷|⇸|⇹|⇺|⇻|⇼|⇽|⇾|⇿|⟵|⟶|⟷|⟹|⟺|⟻|⟼|⟽|⟾|⟿|⤀|⤁|⤂|⤃|⤄|⤅|⤆|⤇|⤌|⤍|⤎|⤏|⤐|⤑|⤔|⤕|⤖|⤗|⤘|⤝|⤞|⤟|⤠|⥄|⥅|⥆|⥇|⥈|⥊|⥋|⥎|⥐|⥒|⥓|⥖|⥗|⥚|⥛|⥞|⥟|⥢|⥤|⥦|⥧|⥨|⥩|⥪|⥫|⥬|⥭|⥰|⧴|⬱|⬰|⬲|⬳|⬴|⬵|⬶|⬷|⬸|⬹|⬺|⬻|⬼|⬽|⬾|⬿|⭀|⭁|⭂|⭃|⥷|⭄|⥺|⭇|⭈|⭉|⭊|⭋|⭌|←|→|⇜|⇝|↜|↝|↩|↪|↫|↬|↼|↽|⇀|⇁|⇄|⇆|⇇|⇉|⇋|⇌|⇚|⇛|⇠|⇢|↷|↶|↺|↻|=>)",371"name": "keyword.operator.arrow.julia"372},373{374"match": "(?::=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|÷=|\\.÷=|\\|=|&=|\\.&=|⊻=|\\.⊻=|\\$=|<<=|>>=|>>>=|=(?!=))",375"name": "keyword.operator.update.julia"376},377{378"match": "(?:<<|>>>|>>|\\.>>>|\\.>>|\\.<<)",379"name": "keyword.operator.shift.julia"380},381{382"match": "(?:\\s*(::|>:|<:)\\s*((?:(?:Union)?\\([^)]*\\)|[[:alpha:]_$∇][[:word:]⁺-ₜ!′\\.]*(?:(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})|(?:\".+?(?<!\\\\)\"))?)))(?:\\.\\.\\.)?((?:\\.)?'*)",383"captures": {384"1": {385"name": "keyword.operator.relation.types.julia"386},387"2": {388"name": "support.type.julia"389},390"3": {391"name": "keyword.operator.transpose.julia"392}393}394},395{396"match": "(\\.?((?<!<)<=|(?<!>)>=|>|<|≥|≤|===|==|≡|!=|≠|!==|≢|∈|∉|∋|∌|⊆|⊈|⊂|⊄|⊊|∝|∊|∍|∥|∦|∷|∺|∻|∽|∾|≁|≃|≂|≄|≅|≆|≇|≈|≉|≊|≋|≌|≍|≎|≐|≑|≒|≓|≖|≗|≘|≙|≚|≛|≜|≝|≞|≟|≣|≦|≧|≨|≩|≪|≫|≬|≭|≮|≯|≰|≱|≲|≳|≴|≵|≶|≷|≸|≹|≺|≻|≼|≽|≾|≿|⊀|⊁|⊃|⊅|⊇|⊉|⊋|⊏|⊐|⊑|⊒|⊜|⊩|⊬|⊮|⊰|⊱|⊲|⊳|⊴|⊵|⊶|⊷|⋍|⋐|⋑|⋕|⋖|⋗|⋘|⋙|⋚|⋛|⋜|⋝|⋞|⋟|⋠|⋡|⋢|⋣|⋤|⋥|⋦|⋧|⋨|⋩|⋪|⋫|⋬|⋭|⋲|⋳|⋴|⋵|⋶|⋷|⋸|⋹|⋺|⋻|⋼|⋽|⋾|⋿|⟈|⟉|⟒|⦷|⧀|⧁|⧡|⧣|⧤|⧥|⩦|⩧|⩪|⩫|⩬|⩭|⩮|⩯|⩰|⩱|⩲|⩳|⩵|⩶|⩷|⩸|⩹|⩺|⩻|⩼|⩽|⩾|⩿|⪀|⪁|⪂|⪃|⪄|⪅|⪆|⪇|⪈|⪉|⪊|⪋|⪌|⪍|⪎|⪏|⪐|⪑|⪒|⪓|⪔|⪕|⪖|⪗|⪘|⪙|⪚|⪛|⪜|⪝|⪞|⪟|⪠|⪡|⪢|⪣|⪤|⪥|⪦|⪧|⪨|⪩|⪪|⪫|⪬|⪭|⪮|⪯|⪰|⪱|⪲|⪳|⪴|⪵|⪶|⪷|⪸|⪹|⪺|⪻|⪼|⪽|⪾|⪿|⫀|⫁|⫂|⫃|⫄|⫅|⫆|⫇|⫈|⫉|⫊|⫋|⫌|⫍|⫎|⫏|⫐|⫑|⫒|⫓|⫔|⫕|⫖|⫗|⫘|⫙|⫷|⫸|⫹|⫺|⊢|⊣|⟂|⫪|⫫|<:|>:))",397"name": "keyword.operator.relation.julia"398},399{400"match": "(?<=\\s)(?:\\?)(?=\\s)",401"name": "keyword.operator.ternary.julia"402},403{404"match": "(?<=\\s)(?:\\:)(?=\\s)",405"name": "keyword.operator.ternary.julia"406},407{408"match": "(?:\\|\\||&&|(?<!(?:[[: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}←-⇿]))!)",409"name": "keyword.operator.boolean.julia"410},411{412"match": "(?<=[[:word:]⁺-ₜ!′∇\\)\\]\\}])(?::)",413"name": "keyword.operator.range.julia"414},415{416"match": "(?:\\|>)",417"name": "keyword.operator.applies.julia"418},419{420"match": "(?:\\||\\.\\||\\&|\\.\\&|~|¬|\\.~|⊻|\\.⊻)",421"name": "keyword.operator.bitwise.julia"422},423{424"match": "\\.?(?:\\+\\+|\\-\\-|\\+|\\-|−|¦|\\||⊕|⊖|⊞|⊟|∪|∨|⊔|±|∓|∔|∸|≏|⊎|⊻|⊽|⋎|⋓|⟇|⧺|⧻|⨈|⨢|⨣|⨤|⨥|⨦|⨧|⨨|⨩|⨪|⨫|⨬|⨭|⨮|⨹|⨺|⩁|⩂|⩅|⩊|⩌|⩏|⩐|⩒|⩔|⩖|⩗|⩛|⩝|⩡|⩢|⩣|\\*|//?|⌿|÷|%|&|·|·|⋅|∘|×|\\\\|∩|∧|⊗|⊘|⊙|⊚|⊛|⊠|⊡|⊓|∗|∙|∤|⅋|≀|⊼|⋄|⋆|⋇|⋉|⋊|⋋|⋌|⋏|⋒|⟑|⦸|⦼|⦾|⦿|⧶|⧷|⨇|⨰|⨱|⨲|⨳|⨴|⨵|⨶|⨷|⨸|⨻|⨼|⨽|⩀|⩃|⩄|⩋|⩍|⩎|⩑|⩓|⩕|⩘|⩚|⩜|⩞|⩟|⩠|⫛|⊍|▷|⨝|⟕|⟖|⟗|⨟|\\^|↑|↓|⇵|⟰|⟱|⤈|⤉|⤊|⤋|⤒|⤓|⥉|⥌|⥍|⥏|⥑|⥔|⥕|⥘|⥙|⥜|⥝|⥠|⥡|⥣|⥥|⥮|⥯|↑|↓|√|∛|∜|⋆|±|∓)",425"name": "keyword.operator.arithmetic.julia"426},427{428"match": "(?:∘)",429"name": "keyword.operator.compose.julia"430},431{432"match": "(?:::|(?<=\\s)isa(?=\\s))",433"name": "keyword.operator.isa.julia"434},435{436"match": "(?:(?<=\\s)in(?=\\s))",437"name": "keyword.operator.relation.in.julia"438},439{440"match": "(?:\\.(?=(?:@|_|\\p{L}))|\\.\\.+|…|⁝|⋮|⋱|⋰|⋯)",441"name": "keyword.operator.dots.julia"442},443{444"match": "(?:\\$)(?=.+)",445"name": "keyword.operator.interpolation.julia"446},447{448"captures": {449"2": {450"name": "keyword.operator.transposed-variable.julia"451}452},453"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}←-⇿])*)(('|(\\.'))*\\.?')"454},455{456"captures": {457"1": {458"name": "bracket.end.julia"459},460"2": {461"name": "keyword.operator.transposed-matrix.julia"462}463},464"match": "(\\])((?:'|(?:\\.'))*\\.?')"465},466{467"captures": {468"1": {469"name": "bracket.end.julia"470},471"2": {472"name": "keyword.operator.transposed-parens.julia"473}474},475"match": "(\\))((?:'|(?:\\.'))*\\.?')"476}477]478},479"string": {480"patterns": [481{482"begin": "(?:(@doc)\\s((?:doc)?\"\"\")|(doc\"\"\"))",483"beginCaptures": {484"1": {485"name": "support.function.macro.julia"486},487"2": {488"name": "punctuation.definition.string.begin.julia"489}490},491"end": "(\"\"\") ?(->)?",492"endCaptures": {493"1": {494"name": "punctuation.definition.string.end.julia"495},496"2": {497"name": "keyword.operator.arrow.julia"498}499},500"name": "string.docstring.julia",501"patterns": [502{503"include": "#string_escaped_char"504},505{506"include": "#string_dollar_sign_interpolate"507}508]509},510{511"begin": "(i?cxx)(\"\"\")",512"beginCaptures": {513"1": {514"name": "support.function.macro.julia"515},516"2": {517"name": "punctuation.definition.string.begin.julia"518}519},520"end": "\"\"\"",521"endCaptures": {522"0": {523"name": "punctuation.definition.string.end.julia"524}525},526"name": "embed.cxx.julia",527"contentName": "meta.embedded.inline.cpp",528"patterns": [529{530"include": "source.cpp#root_context"531},532{533"include": "#string_dollar_sign_interpolate"534}535]536},537{538"begin": "(py)(\"\"\")",539"beginCaptures": {540"1": {541"name": "support.function.macro.julia"542},543"2": {544"name": "punctuation.definition.string.begin.julia"545}546},547"end": "([\\s\\w]*)(\"\"\")",548"endCaptures": {549"2": {550"name": "punctuation.definition.string.end.julia"551}552},553"name": "embed.python.julia",554"contentName": "meta.embedded.inline.python",555"patterns": [556{557"include": "source.python"558},559{560"include": "#string_dollar_sign_interpolate"561}562]563},564{565"begin": "(js)(\"\"\")",566"beginCaptures": {567"1": {568"name": "support.function.macro.julia"569},570"2": {571"name": "punctuation.definition.string.begin.julia"572}573},574"end": "\"\"\"",575"endCaptures": {576"0": {577"name": "punctuation.definition.string.end.julia"578}579},580"name": "embed.js.julia",581"contentName": "meta.embedded.inline.javascript",582"patterns": [583{584"include": "source.js"585},586{587"include": "#string_dollar_sign_interpolate"588}589]590},591{592"begin": "(R)(\"\"\")",593"beginCaptures": {594"1": {595"name": "support.function.macro.julia"596},597"2": {598"name": "punctuation.definition.string.begin.julia"599}600},601"end": "\"\"\"",602"endCaptures": {603"0": {604"name": "punctuation.definition.string.end.julia"605}606},607"name": "embed.R.julia",608"contentName": "meta.embedded.inline.r",609"patterns": [610{611"include": "source.r"612},613{614"include": "#string_dollar_sign_interpolate"615}616]617},618{619"begin": "(raw)(\"\"\")",620"beginCaptures": {621"1": {622"name": "support.function.macro.julia"623},624"2": {625"name": "punctuation.definition.string.begin.julia"626}627},628"end": "\"\"\"",629"name": "string.quoted.other.julia",630"endCaptures": {631"0": {632"name": "punctuation.definition.string.end.julia"633}634},635"patterns": [636{637"include": "#string_escaped_char"638}639]640},641{642"begin": "(raw)(\")",643"beginCaptures": {644"1": {645"name": "support.function.macro.julia"646},647"2": {648"name": "punctuation.definition.string.begin.julia"649}650},651"end": "\"",652"name": "string.quoted.other.julia",653"endCaptures": {654"0": {655"name": "punctuation.definition.string.end.julia"656}657},658"patterns": [659{660"include": "#string_escaped_char"661}662]663},664{665"begin": "(sql)(\"\"\")",666"beginCaptures": {667"1": {668"name": "support.function.macro.julia"669},670"2": {671"name": "punctuation.definition.string.begin.julia"672}673},674"end": "\"\"\"",675"endCaptures": {676"0": {677"name": "punctuation.definition.string.end.julia"678}679},680"name": "embed.sql.julia",681"contentName": "meta.embedded.inline.sql",682"patterns": [683{684"include": "source.sql"685},686{687"include": "#string_dollar_sign_interpolate"688}689]690},691{692"begin": "var\"\"\"",693"end": "\"\"\"",694"name": "constant.other.symbol.julia",695"patterns": [696{697"include": "#string_escaped_char"698}699]700},701{702"begin": "var\"",703"end": "\"",704"name": "constant.other.symbol.julia",705"patterns": [706{707"include": "#string_escaped_char"708}709]710},711{712"begin": "^\\s?(doc)?(\"\"\")\\s?$",713"beginCaptures": {714"1": {715"name": "support.function.macro.julia"716},717"2": {718"name": "punctuation.definition.string.begin.julia"719}720},721"end": "(\"\"\")",722"endCaptures": {723"1": {724"name": "punctuation.definition.string.end.julia"725}726},727"name": "string.docstring.julia",728"comment": "This only matches docstrings that start and end with triple quotes on\ntheir own line in the void",729"patterns": [730{731"include": "#string_escaped_char"732},733{734"include": "#string_dollar_sign_interpolate"735}736]737},738{739"begin": "'",740"beginCaptures": {741"0": {742"name": "punctuation.definition.string.begin.julia"743}744},745"end": "'(?!')",746"endCaptures": {747"0": {748"name": "punctuation.definition.string.end.julia"749}750},751"name": "string.quoted.single.julia",752"patterns": [753{754"include": "#string_escaped_char"755}756]757},758{759"begin": "\"\"\"",760"beginCaptures": {761"0": {762"name": "punctuation.definition.string.multiline.begin.julia"763}764},765"end": "\"\"\"",766"endCaptures": {767"0": {768"name": "punctuation.definition.string.multiline.end.julia"769}770},771"name": "string.quoted.triple.double.julia",772"comment": "multi-line string with triple double quotes",773"patterns": [774{775"include": "#string_escaped_char"776},777{778"include": "#string_dollar_sign_interpolate"779}780]781},782{783"name": "string.quoted.double.julia",784"begin": "\"(?!\"\")",785"beginCaptures": {786"0": {787"name": "punctuation.definition.string.begin.julia"788}789},790"end": "\"",791"endCaptures": {792"0": {793"name": "punctuation.definition.string.end.julia"794}795},796"comment": "String with single pair of double quotes. Regex matches isolated double quote",797"patterns": [798{799"include": "#string_escaped_char"800},801{802"include": "#string_dollar_sign_interpolate"803}804]805},806{807"begin": "r\"\"\"",808"beginCaptures": {809"0": {810"name": "punctuation.definition.string.regexp.begin.julia"811}812},813"end": "(\"\"\")([imsx]{0,4})?",814"endCaptures": {815"1": {816"name": "punctuation.definition.string.regexp.end.julia"817},818"2": {819"comment": "I took this scope name from python regex grammar",820"name": "keyword.other.option-toggle.regexp.julia"821}822},823"name": "string.regexp.julia",824"patterns": [825{826"include": "#string_escaped_char"827}828]829},830{831"begin": "r\"",832"beginCaptures": {833"0": {834"name": "punctuation.definition.string.regexp.begin.julia"835}836},837"end": "(\")([imsx]{0,4})?",838"endCaptures": {839"1": {840"name": "punctuation.definition.string.regexp.end.julia"841},842"2": {843"comment": "I took this scope name from python regex grammar",844"name": "keyword.other.option-toggle.regexp.julia"845}846},847"name": "string.regexp.julia",848"patterns": [849{850"include": "#string_escaped_char"851}852]853},854{855"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}←-⇿])*)\"\"\"",856"beginCaptures": {857"0": {858"name": "punctuation.definition.string.begin.julia"859},860"1": {861"name": "support.function.macro.julia"862}863},864"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}←-⇿])*)?",865"endCaptures": {866"1": {867"name": "punctuation.definition.string.end.julia"868},869"2": {870"name": "support.function.macro.julia"871}872},873"name": "string.quoted.other.julia",874"patterns": [875{876"include": "#string_escaped_char"877}878]879},880{881"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}←-⇿])*)\"",882"beginCaptures": {883"0": {884"name": "punctuation.definition.string.begin.julia"885},886"1": {887"name": "support.function.macro.julia"888}889},890"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}←-⇿])*)?",891"endCaptures": {892"1": {893"name": "punctuation.definition.string.end.julia"894},895"2": {896"name": "support.function.macro.julia"897}898},899"name": "string.quoted.other.julia",900"patterns": [901{902"include": "#string_escaped_char"903}904]905},906{907"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}←-⇿])*)?```",908"beginCaptures": {909"0": {910"name": "punctuation.definition.string.begin.julia"911},912"1": {913"name": "support.function.macro.julia"914}915},916"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}←-⇿])*)?",917"endCaptures": {918"1": {919"name": "punctuation.definition.string.end.julia"920},921"2": {922"name": "support.function.macro.julia"923}924},925"name": "string.interpolated.backtick.julia",926"patterns": [927{928"include": "#string_escaped_char"929},930{931"include": "#string_dollar_sign_interpolate"932}933]934},935{936"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}←-⇿])*)?`",937"beginCaptures": {938"0": {939"name": "punctuation.definition.string.begin.julia"940},941"1": {942"name": "support.function.macro.julia"943}944},945"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}←-⇿])*)?",946"endCaptures": {947"1": {948"name": "punctuation.definition.string.end.julia"949},950"2": {951"name": "support.function.macro.julia"952}953},954"name": "string.interpolated.backtick.julia",955"patterns": [956{957"include": "#string_escaped_char"958},959{960"include": "#string_dollar_sign_interpolate"961}962]963}964]965},966"string_escaped_char": {967"patterns": [968{969"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}|.)",970"name": "constant.character.escape.julia"971}972]973},974"string_dollar_sign_interpolate": {975"patterns": [976{977"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}$])*",978"name": "variable.interpolation.julia"979},980{981"begin": "\\$(\\()",982"beginCaptures": {983"1": {984"name": "meta.bracket.julia"985}986},987"end": "\\)",988"endCaptures": {989"0": {990"name": "meta.bracket.julia"991}992},993"name": "variable.interpolation.julia",994"comment": "`punctuation.section.embedded`, `constant.escape`,\n& `meta.embedded.line` were considered but appear to have even spottier\nsupport among popular syntaxes.",995"patterns": [996{997"include": "#self_no_for_block"998}999]1000}1001]1002},1003"symbol": {1004"patterns": [1005{1006"match": "(?<![[: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}←-⇿]))(?![\"`])",1007"name": "constant.other.symbol.julia",1008"comment": "This is string.quoted.symbol.julia in tpoisot's package"1009}1010]1011},1012"type_decl": {1013"patterns": [1014{1015"captures": {1016"1": {1017"name": "entity.name.type.julia"1018},1019"2": {1020"name": "entity.other.inherited-class.julia"1021},1022"3": {1023"name": "punctuation.separator.inheritance.julia"1024}1025},1026"match": "(?>!:_)(?: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*(<:)\\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}←-⇿])*(?:{.*})?)?",1027"name": "meta.type.julia"1028}1029]1030},1031"self_no_for_block": {1032"comment": "Same as $self, but does not contain #for_block. 'outer' is not valid in some contexts (e.g. generators, comprehensions, indexing), so use this when matching those in begin/end patterns. Keep this up-to-date with $self!",1033"patterns": [1034{1035"include": "#operator"1036},1037{1038"include": "#array"1039},1040{1041"include": "#string"1042},1043{1044"include": "#parentheses"1045},1046{1047"include": "#bracket"1048},1049{1050"include": "#function_decl"1051},1052{1053"include": "#function_call"1054},1055{1056"include": "#keyword"1057},1058{1059"include": "#number"1060},1061{1062"include": "#comment"1063},1064{1065"include": "#type_decl"1066},1067{1068"include": "#symbol"1069},1070{1071"include": "#punctuation"1072}1073]1074},1075"punctuation": {1076"patterns": [1077{1078"match": ",",1079"name": "punctuation.separator.comma.julia"1080},1081{1082"match": ";",1083"name": "punctuation.separator.semicolon.julia"1084}1085]1086}1087}1088}10891090