
    ~-                         S r SSKJrJrJrJrJrJr  SSKJ	r	J
r
JrJrJrJrJrJrJrJr  SSKJr  SSKJrJrJrJrJr  SS/rSrS	r " S
 S\5      r " S S\5      rg)z
pygments.lexers.julia
~~~~~~~~~~~~~~~~~~~~~

Lexers for the Julia language.

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    )Lexer
RegexLexerbygroupsdo_insertionswordsinclude)
TextCommentOperatorKeywordNameStringNumberPunctuationGeneric
Whitespaceshebang_matches)OPERATORS_LISTDOTTED_OPERATORS_LISTKEYWORD_LISTBUILTIN_LISTLITERAL_LIST
JuliaLexerJuliaConsoleLexeru)   (?:[a-zA-Z_¡-􏿿][a-zA-Z_0-9!¡-􏿿]*)uN  [²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹᴺᴼᴾᴿᵀᵁᵂᵃᵇᵈᵉᵍᵏᵐᵒᵖᵗᵘᵛᵝᵞᵟᵠᵡᵢᵣᵤᵥᵦᵧᵨᵩᵪᶜᶠᶥᶦᶫᶰᶸᶻᶿ′″‴‵‶‷⁗⁰ⁱ⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓₕₖₗₘₙₚₛₜⱼⱽ]*c                   T   \ rS rSrSrSrSrSS/rS/rSS	/r	/ S
\
4PS\
4PS\R                  S4PS\4PS\4PS\-   S-   \-   S-   \" \\
\\5      4PS\-   S-   \R&                  4PS\-   S-   \" \
\R*                  5      4PS\-   S-   \-   S-   \" \R*                  \
\\
\R*                  5      4PS\-   S-   \" \\
\R*                  5      4PS\-   S-   \" \R*                  \
\5      4P\" / \Q\Q\S9\4P\" \ V Vs/ s H  nSU-   PM
     snn \S9\4P\" SS/5      \4PS\R4                  4PS\-   S -   \4PS!\" \R6                  \5      S"4PS#\" \R6                  \5      S$4PS%\" \R6                  \R8                  5      S&4PS'\" \R6                  \R8                  5      S(4PS\-   S)-   \" \R6                  \5      S*4PS\-   S+-   \" \R6                  \5      S,4PS\-   S--   \" \R6                  \R:                  5      S.4PS\-   S/-   \" \R6                  \R:                  5      S04PS\-   S1-   \" \R*                  \5      S24PS3\-   S-   \" \\
\R*                  5      4PS4\S24PS5\-   S-   \" \\
\\\R*                  5      4PS6\-   S-   \" \\
\\\R*                  5      4PS7\-   \R>                  4P\" / \QSPSP\QS7\S89\R>                  4P\" \ S9S9\4P\" \!S9S9\R*                  4P\" \"S9S9\RF                  4P\\4PS:\$RJ                  4PS;\$RJ                  4PS<\$RJ                  4PS=\$RL                  4PS>\$RN                  4PS?\$RP                  4PS@\$RR                  4P\" S/5      \4PSA\R                  4S\R                  SB4SC\R                  SD4SE\R                  4/SF\SB4SG\SD4\\R*                  4\*" SH5      /SI\SD4SJ\4/SK\SD4SL\RV                  4SM\4/SN\-   \RX                  4SO\" \RX                  \5      SP4/SQ\SB4SR\SD4\*" SH5      /SS\-   ST-   \" \\R6                  5      SD4SU\RV                  4\*" SV5      SW\RX                  4SX\4S\4/SY\-   ST-   \" \\R6                  5      SD4SU\RV                  4\*" SV5      SX\4S\4/SZ\" \R8                  \R6                  5      SD4SL\R8                  4S[\R8                  4/S\\" \R8                  \R6                  5      SD4S]\R8                  4/S^\-   ST-   \" \R:                  \R6                  5      SD4S_\RV                  4\*" SV5      S`\R:                  4S\R:                  4/Sa\-   ST-   \" \R:                  \R6                  5      SD4Sb\RV                  4\*" SV5      S`\R:                  4S\R:                  4/Sc.r-Sd r.Ser/gfs  snn f )gr      z/
For Julia source code.

.. versionadded:: 1.6
Juliazhttps://julialang.org/juliajlz*.jlztext/x-juliazapplication/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*)([<>]:))suffix.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(\{)z.(abstract|primitive)([ \t]+)(type\b)([\s()]+)(z0(mutable(?=[ \t]))?([ \t]+)?(struct\b)([\s()]+)(@)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+z0b[01]+((_[01]+)+)?z0o[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\\\$)r1   r!   r.   r&   r'   r4   r3   r+   r*   r)   r(   r-   r,   c                     [        U S5      $ )Nr   r   )texts    (lib/third_party/pygments/lexers/julia.pyanalyse_textJuliaLexer.analyse_text   s    tX..     N)0__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenames	mimetypesr   r
   	Multiliner   allowed_variabler   r   r   r   Symbolr   Typer   r   r   operator_suffixesCharAffixRegexBacktickr	   	Decoratorr   r   r   Builtinr   FloatBinOctHexIntegerr   EscapeInterpoltokensr8   __static_attributes__).0os   00r7   r   r      s    D
"CoGI!67Iq
Jq
*%q
 G%%~6q
 g	q

 K(q
 $$}47GG#Mz8T:<q
 #%55;V]]Kq
   00?Bj',,/1!q
( ##&<<?OORaaz8ZVX)q
.  00?B:w||<>/q
4 &&)99z8<>5q
@ <^<&;<+-.68Aq
D %:;%:C!G%:;+-.68Eq
H E4=!8,Iq
\017>]q
d !#44t;XFeq
j HV\\6:MJkq
l (6<<8+Fmq
p (6<<>	Jqq
r v||<gFsq
v $$y0fllF+Z9wq
z $$w.fllF+X7{q
B $$y0fllFOO4kCCq
F $$w.fllFOO4iAGq
P ##h.{3W>Qq
V  0036*gll;=Wq
\ k7+]q
` ? !#'(*gtW\\JLaq
f A !#'(*gtW\\JLgq
p $$dnn5qq
r G^GTG3G1FG#467;~~Gsq
z <.8{q
~ <.=q
B <.=Cq
H t$Iq
N [\b\h\hiOq
P .v||<Qq
R bcicocopSq
T $VZZ0Uq
V &vzz2Wq
X 26::>Yq
Z v~~.[q
` C5\8$aq
h w(()G%%w/G%%v.g''(	
 K)K(w||,FO	
 VV$!6*

 66"V]]# &)
 %%v7(6??K@)L

 K)K(FO
 '')3ffll+V5 <V]]KHM__6"6N
 ))I5ffll+V5;V]]KH6"6N
 v|| DfMV\\"&
 !(6<<"FOv||$
 '')3foov||4f>&H&//*6??#
 ))I5foov||4f>fmm$H&//*6??#
CIFV/Q <s   :V$c                   *    \ rS rSrSrSrSS/rS rSrg)	r      zV
For Julia console sessions. Modeled after MatlabSessionLexer.

.. versionadded:: 1.6
zJulia consolejlconz
julia-replc           	   #     #    [        S0 U R                  D6nSnSn/ nSnSnUR                  SS9 GH  nUR                  S5      (       a>  UR	                  [        U5      S[        R                  US S 4/45        XHSS  -  nSnSnGOUR                  S5      (       d  UR                  S	5      (       a.  U[        R                  US S 4v   US-   [        USS  4v   SnSnOUR                  S
5      (       a6  U(       d/  UR	                  [        U5      S[        US S 4/45        XHSS  -  nOyU(       a&  [        XRR                  U5      5       S h  vN   Sn/ nUR                  S5      (       d  U(       a  U[        R                  U4v   SnOU[        R                  U4v   SnU[        U5      -  nGM     U(       a#  [        XRR                  U5      5       S h  vN   g g  N N7f)Nr    FT)keependszjulia>   zhelp?>zshell>z      zERROR: r;   )r   options
splitlines
startswithappendlenr   Promptr	   r   r   get_tokens_unprocessedErrorOutput)	selfr6   jllexerstartcurcode
insertionsoutputerrorlines	            r7   ri   (JuliaConsoleLexer.get_tokens_unprocessed   s    ,t||,
OOTO2Dx((!!3w<1gnnd2Ah2O1P"QR8#**dooh.G.GW^^T"1X55aitABx//**6!!3w<1j$r(2K1L"MN8#,"$B$B7$K M M M G!#J??9--44 E55SYE5 38 $::7CE E E MEs%   EG*G&BG*G( G*(G*r;   N)	r<   r=   r>   r?   r@   rA   rC   ri   rY   r;   r:   r7   r   r      s    
 D%G&Er:   N) r@   pygments.lexerr   r   r   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   r   r   pygments.utilr   pygments.lexers._julia_builtinsr   r   r   r   r   __all__rG   rJ   r   r   r;   r:   r7   <module>rz      sn    - - - )- - ,
- D  f Y/ Y/x/E /Er:   