3
V'íc~- ã @ s° d Z ddlmZmZmZmZmZmZ ddlm Z m
Z
mZmZm
Z
mZmZmZmZmZ ddlmZ ddlmZmZmZmZmZ ddgZdZd ZG d
d deZG dd deZdS )
zÍ
pygments.lexers.julia
~~~~~~~~~~~~~~~~~~~~~
Lexers for the Julia language.
:copyright: Copyright 2006-2022 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 , @ sÆ e Zd ZdZdZdZddgZdgZddgZd e fd
e fde
jdfd
e
fdefde
d e
d eee eefde
d ejfde
d ee ejfde
d e
d eeje ee ejfde
d eee ejfde
d eeje efeeeedefedd eD edefeddgefdejfde d efd!eejed"fd#eejed$fd%eejejd&fd'eejejd(fde
d) eejed*fde
d+ eejed,fde
d- eejejd.fde
d/ eejejd0fde
d1 eejed2fd3e
d eee ejfd4ed2fd5e
d eee eeejfd6e
d eee eeejfd7e
ejfeedhed7ed9ejfeed:defee d:dejfee!d:dej"fe
efd;e#j$fd<e#j$fd=e#j$fd>e#j%fd?e#j&fd@e#j'fdAe#j(fed8gefg+dBe
jfde
jdCfdDe
jdEfdFe
jfgdGedCfdHedEfe
ejfe)dIgdJedEfdKefgdLedEfdMej*fdNefgdOe
ej+fdPeej+edQfgdRedCfdSedEfe)dIgdTe
dU eeejdEfdVej*fe)dWdXej+fdYefd8efgdZe
dU eeejdEfdVej*fe)dWdYefd8efgd[eejejdEfdMejfd\ejfgd]eejejdEfd^ejfgd_e
dU eejejdEfd`ej*fe)dWdaejfd8ejfgdbe
dU eejejdEfdcej*fe)dWdaejfd8ejfgdd
Z,dedf Z-dgS )ir z;
For Julia source code.
.. versionadded:: 1.6
ZJuliazhttps://julialang.org/ÚjuliaZjlz*.jlztext/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*)([<>]:))Úsuffixc C s g | ]}d | qS )Ú.© )Ú.0Úor r ú9/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/julia.pyú
<listcomp>K s zJuliaLexer.<listcomp>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()]+)(ú@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(\$)(\()zin-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&