Ë _Ì ¤ cêãóÒ—dZddlZddlmZmZmZmZmZmZm Z m Z ddl m Z m Z mZmZmZmZmZmZmZgd¢ZGd„de«ZGd„d e«Zd „Zdd „ZGd „d e«ZGd„de«Zy)zà pygments.lexers.erlang ~~~~~~~~~~~~~~~~~~~~~~ Lexers for Erlang. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. éN)ÚLexerÚ RegexLexerÚbygroupsÚwordsÚ do_insertionsÚincludeÚdefaultÚline_re) ÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚ PunctuationÚGenericÚ Whitespace)Ú ErlangLexerÚErlangShellLexerÚElixirConsoleLexerÚ ElixirLexercóN—eZdZdZdZdZdgZgd¢ZdgZdZ dZ d Z d Z d Z d Zd ZdZdZdZdezdzezdzezdzezdzZdezdze zdzZdZdefdeee«fee d¬«efee d¬«ej8fee d¬«ej<fdedfe efde dfdejBfd ejBfd!e zd"zeejDe«fd#e zd$zeejFee«fd%ezd&ze$jJfd'e$jJfd(e$jLfd)efeejNfe efd*ezejPfd+ezd,ze jRfd-e zd.ze zd/zejBfd0ejTfd1ed2fgee jVfde d3fd4e jXfd5e fd6e fgd7ezdzeejZeeejP«d3fd8ezdzeejZeeejB«d3fe ejZd3fge.d9«d:ed;fded3fd?ed3fgd@œZ/yA)BrzT For the Erlang functional programming language. .. versionadded:: 0.9 ÚErlangzhttps://www.erlang.org/Úerlang)z*.erlz*.hrlz*.esz *.escriptz text/x-erlang)ÚafterÚbeginÚcaseÚcatchÚcondÚendÚfunÚifÚletÚofÚqueryÚreceiveÚtryÚwhen){ÚabsÚappend_elementÚapplyÚ atom_to_listÚbinary_to_listÚbitstring_to_listÚbinary_to_termÚbit_sizeÚbump_reductionsÚ byte_sizeÚ cancel_timerÚcheck_process_codeÚ delete_moduleÚ demonitorÚdisconnect_nodeÚdisplayÚelementÚeraseÚexitÚfloatÚ float_to_listÚfun_infoÚ fun_to_listÚfunction_exportedÚgarbage_collectÚgetÚget_keysÚ group_leaderÚhashÚhdÚinteger_to_listÚiolist_to_binaryÚ iolist_sizeÚis_atomÚ is_binaryÚ is_bitstringÚ is_booleanÚ is_builtinÚis_floatÚ is_functionÚ is_integerÚis_listÚ is_numberÚis_pidÚis_portÚis_process_aliveÚ is_recordÚ is_referenceÚis_tupleÚlengthÚlinkÚ list_to_atomÚlist_to_binaryÚlist_to_bitstringÚlist_to_existing_atomÚ list_to_floatÚlist_to_integerÚ list_to_pidÚ list_to_tupleÚ load_moduleÚlocaltime_to_universaltimeÚ make_tupleÚmd5Ú md5_finalÚ md5_updateÚmemoryÚ module_loadedÚmonitorÚ monitor_nodeÚnodeÚnodesÚ open_portÚphashÚphash2Ú pid_to_listÚ port_closeÚ port_commandÚ port_connectÚ port_controlÚ port_callÚ port_infoÚ port_to_listÚprocess_displayÚ process_flagÚ process_infoÚ purge_moduleÚputÚ read_timerÚ ref_to_listÚregisterÚresume_processÚroundÚsendÚ send_afterÚsend_nosuspendÚ set_cookieÚ setelementÚsizeÚspawnÚ spawn_linkÚ spawn_monitorÚ spawn_optÚ split_binaryÚ start_timerÚ statisticsÚsuspend_processÚ system_flagÚ system_infoÚsystem_monitorÚsystem_profileÚterm_to_binaryÚtlÚtraceÚtrace_deliveredÚ trace_infoÚ trace_patternÚtruncÚ tuple_sizeÚ tuple_to_listÚuniversaltime_to_localtimeÚunlinkÚ unregisterÚwhereisz1(\+\+?|--?|\*|/|<|>|/=|=:=|=/=|=<|>=|==?|<-|!|\?))ÚandÚandalsoÚbandÚbnotÚborÚbslÚbsrÚbxorÚdivÚnotÚorÚorelseÚremÚxorz(?:[a-z]\w*|'[^\n']*[^\\]')z (?:[A-Z_]\w*)z[bdefnrstv\'"\\]z[0-7][0-7]?[0-7]?z%(?:x[0-9a-fA-F]{2}|x\{[0-9a-fA-F]+\})z \^[a-zA-Z]z(?:\\(?:Ú|z))ú(?:Ú)z(?:[2-9]|[12][0-9]|3[0-6])ú\s+z (%.*)(\n)z\b)Úsuffixz^-Ú directiveÚ"Ústringú<<ú>>Ú(z)(:)z (?:^|(?<=:))(z )(\s*)(\()z[+-]?z #[0-9a-zA-Z]+z[+-]?\d+z [+-]?\d+.\d+z[]\[:_@\".{}()|;,]z\?z\$(?:z|\\[ %]|[^\\])Ú#z(:?\.z)?z\A#!.+\nú#\{Úmap_keyú#popz~[0-9.*]*[~#+BPWXb-ginpswx]z[^"\\~]+Ú~z(define)(\s*)(\()(z(record)(\s*)(\()(Úrootú=>Úmap_valz:=ú\}Ú,ú(?=\}))rÂr¹r·r¿rÄN)0Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚnameÚurlÚaliasesÚ filenamesÚ mimetypesÚkeywordsÚbuiltinsÚ operatorsÚword_operatorsÚatom_reÚ variable_reÚ esc_char_reÚ esc_octal_reÚ esc_hex_reÚ esc_ctrl_reÚ escape_reÚmacro_reÚbase_rerrr rr rÚBuiltinr ÚWordrrÚLabelÚ NamespaceÚFunctionrÚIntegerÚFloatÚVariableÚConstantÚCharÚHashbangÚEscapeÚInterpolÚEntityrÚtokens©óú;/usr/lib/python3.12/site-packages/pygments/lexers/erlang.pyrrs„ñð €DØ #€C؈j€GÚ7€IØ Ð!€Ið€Hð €Hð<E€Ið€Nð -€Gà"€Kà%€KØ'€LØ9€JØ€KؘKÑ'¨Ñ,¨\Ñ9¸$Ñ>¸zÑIÈ$ÑNÈ{ÑZÐ[`Ñ`€Ià�kÑ! $Ñ& wÑ.¨tÑ3€Hà+€Gð�ZÐ Ø ™8 G¨ZÓ8Ð 9Ù �8 EÔ *¨GÐ 4Ù �8 EÔ *¨D¯L©LÐ 9Ù �>¨%Ô 0°(·-±-Ð @Ø �K Ð -Ø ˜Ð !Ø �6˜8Ð $Ø �D—J‘JÐ Ø �D—J‘JÐ Ø �7‰]˜VÑ #¡X¨d¯n©n¸kÓ%JÐ KØ ˜wÑ &¨Ñ 6Ù �d—m‘m Z°Ó =ð ?à ˜Ñ Ð"2Ñ 2°F·N±NÐ CØ ˜&Ÿ.™.Ð )Ø ˜fŸl™lÐ +Ø " KÐ 0Ø ˜$Ÿ-™-Ð (Ø �dˆOØ �8‰^˜TŸ]™]Ð +Ø �iÑ Ð 1Ñ 1°6·;±;Ð ?Ø �'‰\˜(Ñ " 7Ñ *¨5Ñ 0°$·*±*Ð =ð˜'×*Ñ*Ð +ð�[ )Ð ,ð; ð@˜Ÿ ™ Ð &Ø �6˜6Ð "Ø +¨V¯_©_Ð =Ø ˜&Ð !Ø �6ˆNð  ð# 8Ñ +¨DÑ 0Ù �d—k‘k :¨{¸D¿M¹MÓ JÈFð Tà " 8Ñ +¨DÑ 0Ù �d—k‘k :¨{¸D¿J¹JÓ GÈð Qà �d—k‘k 6Ð *ð  ñ �F‹OØ �K Ð +Ø �K Ð +Ø �K Ð (ð  ñ �F‹OØ �; Ð 'Ø ˜  VÐ ,ð ñi9�FrîrcóP—eZdZdZdZdgZdgZdgZejd«Z d„Z y) rzM Shell sessions in erl (for Erlang code). .. versionadded:: 1.1 zErlang erl sessionÚerlz*.erl-shztext/x-erl-shellsessionz(?:\([\w@_.]+\))?\d+>(?=\s|\Z)c #ó¶K—tdi|j¤Ž}d}g}tj|«D]ú}|j «}|j j |«}|�J|j«}|jt|«dtj|d|fgf«|||dz }Œz|r't||j|««Ed{–—†d}g}|jd«r$|j«tj |f–—ŒØ|j«tj"|f–—Œü|r$t||j|««Ed{–—†yy7Œ‰7Œ­w)NÚrÚ*rí)rÚoptionsr ÚfinditerÚgroupÚ _prompt_reÚmatchr ÚappendÚlenrÚPromptrÚget_tokens_unprocessedÚ startswithÚstartÚ TracebackÚOutput) ÚselfÚtextÚerlexerÚcurcodeÚ insertionsrùÚlineÚmr s rïrýz'ErlangShellLexer.get_tokens_unprocessed£sQèø€ÜÑ- § ¡ Ñ-ˆàˆØˆ Ü×%Ñ% dÖ+ˆEØ—;‘;“=ˆDØ—‘×%Ñ% dÓ+ˆA؈}Ø—e‘e“g�Ø×!Ñ!¤3 w£<Ø%&¬¯©¸¸T¸c¸ Ð$CÐ#Dð#FôGà˜4  ˜:Ñ%‘áÜ,¨ZØ-4×-KÑ-KÈGÓ-Tó V÷VðVà �GØ!#�JØ—?‘? 3Ô'ØŸ+™+›-¬×):Ñ):¸DÐ@Ó@àŸ+™+›-¬¯©¸Ð=Ó=ð#,ñ$ Ü$ ZØ%,×%CÑ%CÀGÓ%LóN÷ Nñ Nð ðVøð Nús%‚C Eà Eà BEÅEÅEÅEN) rÈrÉrÊrËrÌrÎrÏrÐÚreÚcompilerørýrírîrïrr–s;„ñð €D؈g€GØ� €IØ*Ð+€Ià�—‘Ð=Ó>€JóNrîrcóx—i}d|›d�|ftd«d|fd|›d�t|«dftd«g|d |z<|S) Nú[^#ú\\]+Úescapesú\\.r¼r´rÀÚinterpolÚstring_)rr)rÌÚsymbolÚtokenÚstatess rïÚgen_elixir_string_rulesr¿sR€Ø �FâÐ ! 5Ð)Ü� ÓØ �‰ÚÐ œh u›o¨vÐ6Ü� Óð  €Fˆ9�tÑ Ñð €Mrîcóz—|r'd|›d�|ftd«d|f|›d�|dftd«gSd|›d�|fd|f|›d�|dfgS) Nr r rrz [a-zA-Z]*rÀrz[^)r)ÚtermÚ term_classrrs rïÚgen_elixir_sigstr_rulesrËsn€Úâ'Ð )¨5Ð 1Ü �IÓ Ø �UˆOÚ#Ð % u¨fÐ 5Ü �JÓ ð  ð ðò'Ð (¨%Ð 0Ø �UˆOÚ#Ð % u¨fÐ 5ð ð rîcóþ—eZdZdZdZdZgd¢Zgd¢ZdgZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZd„Zd„Zdj-d„eD««Zdj-d„eD««Zdj-d„eD««Zde›de›de›d�Zdj-d„eD««ZdZdezZddeizZde›de›de›d�ZdZ d Z!d!Z"d"Z#gd#e$f‘d$e%jLf‘d%e!ze'e(jRe(jTe+jXe(jT«f‘d%e"ze'e(jRe(jT«f‘d%e#ze'e(jRe(jT«f‘d&e(jRf‘d'e(jZf‘d(e.f‘d)e ze(jZf‘d)eze(jZf‘d*e(jZd+f‘d,e(jZd-f‘d.e ›de›d/�e'e(jZe/«f‘d0eze0jbf‘ee0f‘d1e›d�e'e/e0jd«f‘ee.f‘ee.f‘ee/f‘d2e0jff‘ee.f‘d3e+jhf‘d4e+jjf‘d5e+jXf‘d6e+jlf‘d7e+jnf‘d8e'e(jpe$«d9f‘d:e'e(jpe$«d;f‘de(jLd?f‘e:d@«‘dAe/dBf‘dCe/dDf‘dEe'e$e(jp«dFfe:dG«gdHe(jpdFfe:dG«gdIe(jpfe:dJ«dKe(jpfdLe(jpfe:dM«gdNe(jpfdKe(jpfdLe$fge!e'e(jTe+jXe(jT«fe"e(jTfe#e(jTfgdOe(jvdPfgdQe(jvdFfe:dR«ge:dR«d)e/dSfdTe/dSfdQe/dFfge:dR«dUe/dFfdVe/dFfge:dR«dQe/dFfgdWœ ZdXddYd>e(jL««edZdd[d>e(jZ««e>>z|||z&&&z^^^z~~~z===z!==z~>>z<~>z|~>z<|>)z==z!=z<=z>=z&&z||z<>z++z--z|>z=~z->z<-r²Ú.Ú=z~>z<~) Ú<Ú>Ú+Ú-rôÚ/Ú!Ú^Ú&) z\\rºr»rÃr¼r´Ú:Ú;rÆÚ[Ú]c#ódK—tj||«D�]\}}}|turü||jvr |t|f–—Œ*||j vr|t j|f–—ŒN||jvr |t|f–—Œh||jvr|tj|f–—ŒŒ||jvr|tj|f–—Œ°||jvr|tj|f–—ŒÔ||jvr!|tj j"|f–—�Œ|||f–—�Œ |||f–—�Œy­w©N)rrýrÚKEYWORDr ÚKEYWORD_OPERATORr rßÚBUILTINÚBUILTIN_DECLARATIONÚ DeclarationÚBUILTIN_NAMESPACEráÚCONSTANTræÚ PSEUDO_VARrÞÚPseudo)rrÚindexrÚvalues rïrýz"ElixirLexer.get_tokens_unprocessedsèø€Ü#-×#DÑ#DÀTÈ4×#PÑ ˆE�5˜%Øœ‰}ؘDŸL™LÑ(ؤ¨%Ð/Ó/ؘd×3Ñ3Ñ3ؤ§¡°Ð5Ó5ؘdŸl™lÑ*ؤ¨%Ð/Ó/ؘd×6Ñ6Ñ6ؤ×!4Ñ!4°eÐ;Ó;ؘd×4Ñ4Ñ4ؤ×!2Ñ!2°EÐ9Ó9ؘdŸm™mÑ+ؤ§¡°Ð5Ó5ؘdŸo™oÑ-ؤ§¡×!4Ñ!4°eÐ;Ô;à ¨Ð-Ô-à˜U EÐ)Ô)ñ'$Qùs‚D.D0c ó—gd¢}ddg}tj}dgi}|D]è\}}|dxxd|›d�t|tj«|dz|dzffd |›d�t|tj«|dz|d zffgz cc<d |d ft d «g||dz<d |zdztt tj«d ft d«g||dz<d |zdztt tj«d ft d«g||d z<Œê|D]P\}}}}|dxxd|z||dzfd|z||d zfgz cc<t|||«||dz<t|||d¬«||d z<ŒR|S)N))ú\{rÅÚ}Úcb)z\[ú\]rbÚsb)z\(z\)r´Úpa)rErFrFÚab)rIrIrIÚslas)ú\|rgr²Úpipe)r¸r¸r¸Úquot)Ú'rjrjÚapos)z"""Útriquot)z'''ÚtriaposÚsigilsz (~[a-z])(r´z-endz-intpz (~[A-Z])(z-no-intpz [a-zA-Z]+rÀz^(\s*)(Úheredoc_interpolÚheredoc_no_interpolz~[a-z]z~[A-Z]F)r)rÚOtherrÚHeredocr rrr) Ú terminatorsÚ triquotesrrrrÌÚltermÚrtermÚ rterm_classs rïÚgen_elixir_sigil_rulesz"ElixirLexer.gen_elixir_sigil_rulessÈ€ò  ˆ ð)Ð*=Ð>ˆ ä— ‘ ˆØ˜B�ˆã#‰JˆD�$Ø �8Ô Ú$(Ð*¬H°U¼F¿N¹NÓ,KؘF‘] D¨7¡NÐ3ñ5â$(Ð*¬H°U¼F¿N¹NÓ,KؘF‘] D¨:Ñ$5Ð6ð8ð!ñ Ó ð˜u fÐ-ܘ“ð%ˆF�4˜&‘=Ñ !ð ˜dÑ" SÑ(¬(´:¼v¿~¹~Ó*NÐPVÐWÜÐ*Ó+ð&ˆF�4˜'‘>Ñ "ð ˜dÑ" CÑ'¬´*¼f¿n¹nÓ)MÈvÐVÜÐ-Ó.ð)ˆF�4˜*Ñ$Ò %ð!$ó*0;Ñ +ˆE�5˜+ tØ �8Ó Ø˜UÑ" E¨4°'©>Ð:ؘUÑ" E¨4°*Ñ+<Ð=ð!ñ Ó ô (¨¨{¸EÓBð �4˜'‘>Ñ "ô(¨¨{¸EÈEÔRð �4˜*Ñ$Ò %ð0;ðˆ rîr²c#óFK—|]}tj|«–—Œy­wrR©r Úescape©Ú.0Úss rïÚ zElixirLexer.Qóèø€Ð7©J q”b—i‘i —l©Jùó‚!c#óFK—|]}tj|«–—Œy­wrRrzr|s rïrzElixirLexer.Rr€r�c#óFK—|]}tj|«–—Œy­wrRrzr|s rïrzElixirLexer.Sr€r�r³r´c#óFK—|]}tj|«–—Œy­wrRrzr|s rïrzElixirLexer.Usèø€Ð@±K¨qœbŸi™i¨Ÿl±Kùr�z\wz(?:\.\.\.|[a-z_]%s*[!?]?)z%[A-Z]%(alnum)s*(?:\.[A-Z]%(alnum)s*)*Úalnumz(?:\.\.\.|<<>>|%\{\}|%|\{\})z(\\x\{)([\da-fA-F]+)(\})z(\\x[\da-fA-F]{1,2})z(\\[abdefnrstv])rµz#.*$z(\?)z\?\\?.z:::z::rMz:"Ústring_double_atomz:'Ústring_single_atomr¼z )(:)(?=\s|\n)Ú@z(%?)(z&\dz0b[01]+z0o[0-7]+z 0x[\da-fA-F]+z)\d(_?\d)*\.\d(_?\d)*([eE][-+]?\d(_?\d)*)?z \d(_?\d)*z (""")(\s*)Úheredoc_doublez (''')(\s*)$Úheredoc_singler¸Ú string_doublerjÚ string_singlernz%\{r¿r_Útuplez ^(\s*)(""")rÀroz^\s*'''z [^#\\\n]+rrz\n+rz[^\\\n]+r¾Úinterpol_stringrÅrÂrÄrÃrÆrÇ) rÂr‰rŠrorprrrŽr¿rÄr�ÚdoubleÚsingleÚ double_atomÚ single_atomN)?rÈrÉrÊrËrÌrÍrÎrÏrÐrSrTrUrVrXrYrZÚ OPERATORS3Ú OPERATORS2Ú OPERATORS1Ú PUNCTUATIONrýrxÚjoinÚop3_reÚop2_reÚop1_reÚops_reÚpunctuation_rer…Úname_reÚ modname_reÚcomplex_name_reÚspecial_atom_reÚlong_hex_char_reÚ hex_char_reÚescape_char_rerr ÚSinglerrrçrérÚHexÚSymbolr rrÚ AttributeÚClassrëÚBinÚOcträrãrrÚDoublerrêrìÚupdaterrírîrïrrÜs „ñð €DØ "€CÚ%€GÚ4€IØ Ð!€IàE€GØ9Ðð€GðÐð >ÐØ'€HàH€Jð€Jð€Jð?€Jð€Kò*ò,2ðh�X‰XÑ7©JÓ7Ó 7€FØ �X‰XÑ7©JÓ7Ó 7€FØ �X‰XÑ7©JÓ7Ó 7�FÚ &ª²Ð 7€FØ—X‘XÑ@±KÓ@Ó@€NØ €EØ*¨UÑ2€GØ9¸WÀeЙ>Ð *ð_= ðd™H V§^¡^°ZÓ@Ø ð "ðe= ðh™X f§n¡n°jÓAØ ð "ði= ðl�6—=‘= /Ð 2ðm= ðn�6—=‘= /Ð 2ðo= ñr �HÓ ðs= ðv�[ )Ð ,ðw= ðx�K Ð )ðy= ð~™X j°&·.±.ÓAÀ6Ð JÙ Ð&Ó 'ð 𠘟™¨Ð 0Ù Ð&Ó 'ð ð ˜6Ÿ>™>Ð *Ù �IÓ Ø �V—^‘^Ð $Ø �V—^‘^Ð $Ù �JÓ ð  ð˜&Ÿ.™.Ð )Ø �V—^‘^Ð $Ø �ZÐ ð ð Ù˜Ÿ™¨¯ © °F·M±MÓBð Dà ˜&Ÿ-™-Ð (Ø ˜VŸ]™]Ð +ð  ð�V—_‘_Ð&7Ð 8ð ð�F—O‘O VÐ ,Ù �F‹Oð ñ �F‹OØ �;  Ð *Ø �K Ð +Ø �K Ð (ð  ñ �F‹OØ �; Ð 'Ø ˜  VÐ ,ð ñ �F‹OØ �K Ð (ð ñWo€Fð` ‡M�MÑ)¨(°C¸¿¹ÓGÔHØ ‡M�MÑ)¨(°C¸¿¹ÓGÔHØ ‡M�MÑ)¨-¸¸f¿m¹mÓLÔMØ ‡M�MÑ)¨-¸¸f¿m¹mÓLÔMØ ‡M�MÑ(Ó*Õ+rîrcóJ—eZdZdZdZdgZdgZejd«Z d„Z y)ra8 For Elixir interactive console (iex) output like: .. sourcecode:: iex iex> [head | tail] = [1,2,3] [1,2,3] iex> head 1 iex> tail [2,3] iex> [head | tail] [1,2,3] iex> length [head | tail] 3 .. versionadded:: 1.5 zElixir iex sessionÚiexztext/x-elixir-shellsessionz,(iex|\.{3})((?:\([\w@_.]+\))?\d+|\(\d+\))?> c #óK—tdi|j¤Ž}d}d}g}tj|«D�])}|j «}|j d«r¹>�EØŸ+™+›-¨°Ð4Ô4ð-,ñ. Ü$ؘG×:Ñ:¸7ÓCóE÷ Eñ Eð ð Qøð Eús%‚DF ÄFÄA"F ÆF ÆF Æ F N) rÈrÉrÊrËrÌrÎrÐr r rørýrírîrïrr×s4„ñð& €D؈g€GØ-Ð.€Ià�—‘ÐKÓL€JóErîr)T)rËr Úpygments.lexerrrrrrrr r Úpygments.tokenr r r rrrrrrÚ__all__rrrrrrrírîrïÚr·syðñó ÷÷ó÷-÷-õ-ò €ô}�*ô}ô@&N�uô&NòR ó ô"x,�*ôx,ôv9E˜õ9Erî