o a+@sdZddlZddlmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZmZddlmZddlmZmZmZmZmZddgZd Zd ZGd ddeZGd ddeZdS) z pygments.lexers.julia ~~~~~~~~~~~~~~~~~~~~~ Lexers for the Julia language. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)Lexer RegexLexerbygroups do_insertionswordsinclude) TextCommentOperatorKeywordNameStringNumber PunctuationGenericshebang_matches)OPERATORS_LISTDOTTED_OPERATORS_LIST KEYWORD_LIST BUILTIN_LIST LITERAL_LIST JuliaLexerJuliaConsoleLexeru)(?:[a-zA-Z_¡-􏿿][a-zA-Z_0-9!¡-􏿿]*)uN[²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵇᵈᵉᵍᵏᵐᵒᵖᵗᵘᵛᵝᵞᵟᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᶜᶠᶥᶦᶫᶰᶸᶻᶿ′″‴‵‶‷⁗⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓₕₖₗₘₙₚₛₜⱼⱽ]*c@seZdZdZdZddgZdgZddgZej ej BZ gde fd e fd e jd fd e fd efdededeee eefdedejfdedee ejfdededeeje ee ejfdedeee ejfdedeeje efegeeedefeddeDedefeddgefdejfdedefd eejed!fd"eejed#fd$eejejd%fd&eejejd'fded(eejed)fded*eejed+fded,eejejd-fded.eejejd/fded0eejed1fd2edeee ejfd3ed1fd4edeee ejfd5eej fegedd6ed5ed7ej fee!d8defee"d8dejfee#d8dej$feefd9e%j&fd:e%j&fd;e%j&fde%j)fd?e%j*fed6gefd@e jfd e jdAfdBe jdCfdDe jfgdEedAfdFedCfeejfe+dGgdHedCfdIefgdJedCfdKej,fdLefgdMeej-fdNeej-edOfgdPedAfdQedCfe+dGgdRedSeeejdCfdTej,fe+dUdVej-fdWefd6efgdXedSeeejdCfdTej,fe+dUdWefd6efgdYeejejdCfdKejfdZejfgd[eejejdCfd\ejfgd]edSeejejdCfd^ej,fe+dUd_ejfd6ejfgd`edSeejejdCfdaej,fe+dUd_ejfd6ejfgdb Z.dcddZ/deS)frzV For `Julia `_ source code. .. versionadded:: 1.6 Juliajuliajlz*.jlz text/x-juliazapplication/x-juliaz\nz[^\S\n]+z#= blockcommentz#.*$z [\[\](),;](z )(\s*)(:)()z(?\d.])(:z (?<=::)(\s*)(z )\b(?![(\[])z)(\s*)([<>]:)(\s*)(z ([<>]:)(\s*)(z\b(z )(\s*)([<>]:))suffixcCsg|]}d|qS).).0or"r"7/usr/lib/python3/dist-packages/pygments/lexers/julia.py LszJuliaLexer.z...z..zZ'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,3}|\\u[a-fA-F0-9]{1,4}|\\U[a-fA-F0-9]{1,6}|[^\\\'\n])'z(?<=[.\w)\]])(\'z)+z (raw)(""") tqrawstringz(raw)(") rawstringz(r)(""")tqregexz(r)(")regexz)?(""")tqstringz)?(")stringz)?(```) tqcommandz)?(`)commandz)(\{)curlyz (where)(\s+)(z(\{)zM(abstract[ \t]+type|primitive[ \t]+type|mutable[ \t]+struct|struct)([\s()]+)(@r!)prefixr z\bzJ(\d+((_\d+)+)?\.(?!\.)(\d+((_\d+)+)?)?|\.\d+((_\d+)+)?)([eEf][+-]?[0-9]+)?z\d+((_\d+)+)?[eEf][+-]?[0-9]+zQ0x[a-fA-F0-9]+((_[a-fA-F0-9]+)+)?(\.([a-fA-F0-9]+((_[a-fA-F0-9]+)+)?)?)?p[+-]?\d+z0b[01]+((_[01]+)+)?z0o[0-7]+((_[0-7]+)+)?z!0x[a-fA-F0-9]+((_[a-fA-F0-9]+)+)?z \d+((_\d+)+)?z[^=#]z#pushz=#z#popz[=#]z\{z\}rootz"""z([^"]|"[^"][^"])+"z\\"z([^"\\]|\\[^"])+z\$z(\$)(\()in-intpz\(z\)z(")(z|\d+)?z+\\([\\"\'$nrbtfav]|(x|u|U)[a-fA-F0-9]+|\d+)interpz=%[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]z [^"$%\\]+z(""")(z(")([imsxa]*)?z[^\\"]+z(""")([imsxa]*)?z[^"]+z(`)(z\\[`$]z[^\\`$]+z(```)(z\\\$) r2rr/r'r(r5r4r,r+r*r)r.r-cCs t|dS)Nrr)textr"r"r% analyse_texts zJuliaLexer.analyse_textN)0__name__ __module__ __qualname____doc__namealiases filenames mimetypesre MULTILINEUNICODEflagsrr Multilinerallowed_variablerr r r Symbolr Typerrroperator_suffixesCharAffixRegexBacktick DecoratorrrrBuiltinrFloatBinOctHexIntegerrEscapeInterpoltokensr7r"r"r"r%rsd         !+/235689<= A  D GI  MNRTVY\]^_`ab ei      =c@s$eZdZdZdZddgZddZdS)rzb For Julia console sessions. Modeled after MatlabSessionLexer. .. versionadded:: 1.6 z Julia consolejlconz julia-replc cstd i|j}d}d}g}d}d}|dD]}|dr>|t|dtj|ddfgf||dd7}d}d}nr|dsH|drd|tj|ddfV|dt|ddfVd}d}nL|d r|s|t|dt|ddfgf||dd7}n+|rt || |EdHd}g}|d s|r|tj |fVd}n|tj |fVd}|t|7}q|rt || |EdHdSdS) NrFTzjulia>zhelp?>zshell>z zERROR: r") roptions splitlines startswithappendlenrPromptrrget_tokens_unprocessedErrorOutput) selfr6jllexerstartcurcode insertionsoutputerrorliner"r"r%r`sL $"   z(JuliaConsoleLexer.get_tokens_unprocessedN)r8r9r:r;r<r=r`r"r"r"r%rs  ) r;r@pygments.lexerrrrrrrpygments.tokenrr r r r r rrr pygments.utilrpygments.lexers._julia_builtinsrrrrr__all__rErHrrr"r"r"r%s , O