+
    TBiJ                         R t ^ RIt^ RIHtHtHtHtHtHtH	t	H
t
 ^ RIHtHtHtHtHtHtHtHtHt . ROt ! R R]4      t ! R	 R]4      tR
 tRR lt ! R R]4      t ! R R]4      tR# )z
pygments.lexers.erlang
~~~~~~~~~~~~~~~~~~~~~~

Lexers for Erlang.

:copyright: Copyright 2006-2025 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                   L   ] tR t^tRtRtRtR.t. R?OtR.t	Rt
R@tRAtRtRBtRtR	tR
tRtRtRtR],           R,           ],           R,           ],           R,           ],           R,           tR],           R,           ],           R,           tRtRR]3R]! ]]4      3]! ]RR7      ]3]! ]RR7      ]P<                  3]! ]RR7      ]P@                  3R]!R3]]3R]"R3R]PF                  3R]PF                  3R],           R ,           ]! ]PH                  ]!4      3R!],           R",           ]! ]PJ                  ]]!4      3R#],           R$,           ]&PN                  3R%]&PN                  3R&]&PP                  3R']!3]]PR                  3]]3R(],           ]PT                  3R)],           R*,           ]"PV                  3R+],           R,,           ],           R-,           ]PF                  3R.]PX                  3R/]!R03.R]]"PZ                  3R]"R13R2]"P\                  3R3]"3R4]"3.RR5],           R,           ]! ]P^                  ]]!]PT                  4      R13R6],           R,           ]! ]P^                  ]]!]PF                  4      R13]]P^                  R13.R0]0! R4      R7]!R83R9]!R83R:]!R13.R8]0! R4      R;]!R13R<]!R13./t1R=t2R># )Cr   z1
For the Erlang functional programming language.
Erlanghttps://www.erlang.org/erlangztext/x-erlangz0.9z1(\+\+?|--?|\*|/|<|>|/=|=:=|=/=|=<|>=|==?|<-|!|\?)z(?:[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])root\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*)(\()(=>map_valz:=\},(?=\}) N)z*.erlz*.hrlz*.esz	*.escript)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whereis)andandalsobandbnotborbslbsrbxordivnotororelseremxor)3__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenames	mimetypesversion_added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_rer   r   r
   r   r   r   Builtinr   Wordr   r   Label	NamespaceFunctionr   IntegerFloatVariableConstantCharHashbangEscapeInterpolEntityr   tokens__static_attributes__r1       ;/usr/lib/python3.14/site-packages/pygments/lexers/erlang.pyr   r      s.    D
#CjG7I !IMH
H< EIN
 -G"K%K'L9JKK',\9$>zI$N{Z[``Ik!$&w.t3H+G 	Z 8GZ898E*G48E*DLL9>%0(--@K-!68$DJJDJJ7]V#Xdnnk%JKw&6dmmZ=?"22FNNC&..)fll+"K0$--(dO8^T]]+i 116;;?'\("7*50$**= '**+ [),;
> 	&66"+V__=&!6N
 	"8+D0dkk:{DMMJFT"8+D0dkk:{DJJGQdkk6*
 	FOK+K+K(	
 	FO;'V,
i9Fr   c                   l   a  ] tR t^t o RtRtR.tR.tR.tRt	Rt
]P                  ! R4      tR	 tR
tV tR# )r   z*
Shell sessions in erl (for Erlang code).
zErlang erl sessionerlz*.erl-shztext/x-erl-shellsessionr   z1.1z(?:\([\w@_.]+\))?\d+>(?=\s|\Z)c           	   #    "   \        R/ V P                  B pR p. p\        P                  ! V4       EF  pVP	                  4       pV P
                  P                  V4      pVeO   VP                  4       pVP                  \        V4      ^ \        P                  VRV 3.34       W6VR ,          pK  V'       d(   \        VVP                  V4      4       Rj  xL
  R p. pVP                  R4      '       d&   VP                  4       \        P                   V3x  K  VP                  4       \        P"                  V3x  EK  	  V'       d&   \        VVP                  V4      4       Rj  xL
  R# R#  L L
5i) N*r1   )r   optionsr	   finditergroup
_prompt_rematchr7   appendlenr   Promptr   get_tokens_unprocessed
startswithstart	TracebackOutput)	selftexterlexercurcode
insertionsr   linemr7   s	   &&       r   r   'ErlangShellLexer.get_tokens_unprocessed   sP    --
%%d+E;;=D%%d+A}eeg!!3w<%&Tc
$C#D#F G:%,Z-4-K-KG-T V V V G!#J??3''++-):):D@@++-==# ,$ $Z%,%C%CG%LN N N VNs7   B8E9;E9E5E99AE9E9,E7-	E97E9r1   N)r   r   r   r   r   r   r   r   r   r   r   recompiler   r   r   __classdictcell____classdict__s   @r   r   r      sL       DgGI*+I
#CM=>JN Nr   c                     / pR V R2V3\        R4      RV3RV R2\        V4      R3\        R4      .VRV ,           &   V# )	[^#\\]+escapes\\.r&   r   r*   interpolstring_)r   r   )r   symboltokenstatess   &&& r   gen_elixir_string_rulesr     s]    Fxt	e$		fXQ%&1
 F9t Mr   c                     V'       d(   R V R2V3\        R4      RV3V  R2VR3\        R4      .# RV R2V3RV3V  R2VR3.# )r  r  r  r  z	[a-zA-Z]*r*   r  z[^)r   )term
term_classr  r  s   &&&&r   gen_elixir_sigstr_rulesr      s}    J<t$e,IUOi %0J
 	
 :,d#U+UOi %0
 	
r   c                   `	  a  ] tR t^t o RtRtRt. RTOt. RUOtR.t	Rt
RVtRWtRXtRYtRZtR[tR\tR]tR^tR_tR`tR tR tRP1                  R ] 4       4      tRP1                  R ] 4       4      tRP1                  R ] 4       4      tR] R] R] R	2tRP1                  R ] 4       4      tRtR] R2tR] R] R2t R] R]  R] R	2t!Rt"Rt#Rt$Rt%R. R]&3NR]'PP                  3NR ]#,           ])! ]*PV                  ]*PX                  ]-P\                  ]*PX                  4      3NR ]$,           ])! ]*PV                  ]*PX                  4      3NR ]%,           ])! ]*PV                  ]*PX                  4      3NR!]*PV                  3NR"]*P^                  3NR#]03NR
]",           ]*P^                  3NR
]!,           ]*P^                  3NR$]*P^                  R%3NR&]*P^                  R'3NR]" R]! R(2])! ]*P^                  ]14      3NR)],           ]2Pf                  3N]]23NR*]  R	2])! ]1]2Ph                  4      3N]]03N]]03N]]13NR+]2Pj                  3N]]03NR,]-Pl                  3NR-]-Pn                  3NR.]-P\                  3NR/]-Pp                  3NR0]-Pr                  3NR1])! ]*Pt                  ]&4      R23NR3])! ]*Pt                  ]&4      R43NR5]*Pv                  R63NR7]*PP                  R83N]<! R94      NR:]1R;3NR<]1R=3NR2R>])! ]&]*Pt                  4      R?3]<! R@4      .R4RA]*Pt                  R?3]<! R@4      .R@RB]*Pt                  3]<! RC4      RD]*Pt                  3RE]*Pt                  3]<! RF4      .RGRH]*Pt                  3RD]*Pt                  3RE]&3.RC]#])! ]*PX                  ]-P\                  ]*PX                  4      3]$]*PX                  3]%]*PX                  3.RFRI]*Pz                  RJ3.RJRK]*Pz                  R?3]<! R4      .R;]<! R4      R
]1RL3R]1RL3RK]1R?3.RL]<! R4      R]1R?3RM]1R?3.R=]<! R4      RK]1R?3./t>]>P                  ]@! RNR5]*Pv                  4      4       ]>P                  ]@! ROR7]*PP                  4      4       ]>P                  ]@! RPR5]*P^                  4      4       ]>P                  ]@! RQR7]*P^                  4      4       ]>P                  ]! 4       4       RRtAV tBRS# )ar   z
For the Elixir language.
Elixirhttps://elixir-lang.orgztext/x-elixir1.5r   r,   r&   r   :r/   c              #    "   \         P                  ! W4       EF)  w  r#pV\        J Ed   W@P                  9   d   V\        V3x  K/  W@P
                  9   d   V\        P                  V3x  KV  W@P                  9   d   V\        V3x  Ks  W@P                  9   d   V\        P                  V3x  K  W@P                  9   d   V\        P                  V3x  K  W@P                  9   d   V\        P                  V3x  K  W@P                  9   d#   V\        P                   P"                  V3x  EK  W#V3x  EK#  W#V3x  EK,  	  R # 5iN)r   r   r   KEYWORDr   KEYWORD_OPERATORr   r   BUILTINBUILTIN_DECLARATIONDeclarationBUILTIN_NAMESPACEr   CONSTANTr   
PSEUDO_VARr   Pseudo)r  r  indexr  values   &&   r   r   "ElixirLexer.get_tokens_unprocessed  s    #-#D#DT#PE%}LL(%//33355ll*%//666!4!4e;;444!2!2E99mm+55oo-!4!4e;;--E))' $Qs   EE	c            
     ^   . ROp RR.p\         P                  pR. /pV EF  w  rEVR;;,          RV R2\        V\         P                  4      VR,           VR,           33RV R2\        V\         P                  4      VR,           VR,           33.,          uu&   RVR	3\	        R	4      .W5R,           &   R
V,           R,           \        \
        \         P                  4      R	3\        R4      .W5R,           &   R
V,           R,           \        \
        \         P                  4      R	3\        R4      .W5R,           &   EK  	  V  Fi  w  rgrVR;;,          RV,           W%R,           3RV,           W%R,           3.,          uu&   \        WxV4      W5R,           &   \        WxVRR7      W5R,           &   Kk  	  V# )\{r   sigilsz	(~[a-z])(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  ))r5  r.   }cb)z\[\]r;  sb)z\(z\)r   pa)<>r?  ab)/rA  rA  slas)\|rC  r   pipe)r"   r"   r"   quot)'rF  rF  apos)z"""triquot)z'''triapos)r   Otherr   Heredocr   r   r   r   )	terminators	triquotesr  r  r  r   ltermrtermrterm_classs	            r   gen_elixir_sigil_rules"ElixirLexer.gen_elixir_sigil_rules  s   	
 )*=>	B#JD8dV1%xv~~'FF]D7N35dV1%xv~~'FF]D:$568!  uf-%F&=!
 d"S((:v~~*NPVW*+&F'>"
 d"C'*fnn)MvV-.)F*$%! $* 0;+E+8U"E'>:U"E*+<=! 
 (EB '>" (EER *$% 0; r   c              #  N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir'  r  escape.0ss   & r   	<genexpr>ElixirLexer.<genexpr>O       7JqbiillJ   #%c              #  N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir'  rT  rV  s   & r   rY  rZ  P  r[  r\  c              #  N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir'  rT  rV  s   & r   rY  rZ  Q  r[  r\  r   c              #  N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir'  rT  rV  s   & r   rY  rZ  S  s     @KqbiillKr\  z\wz(?:\.\.\.|[a-z_]z*[!?]?)z[A-Z]z*(?:\.[A-Z]z*)*z(?:\.\.\.|<<>>|%\{\}|%|\{\})z(\\x\{)([\da-fA-F]+)(\})z(\\x[\da-fA-F]{1,2})z(\\[abdefnrstv])r   r   z#.*$z(\?)z\?\\?.z:::z::z:"string_double_atomz:'string_single_atomz)(:)(?=\s|\n)@z(%?)(z&\dz0b[01]+z0o[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_doublerF  string_singler6  z%\{r)   r5  tuplez^(\s*)(""")r*   r7  z^\s*'''z	[^#\\\n]+r  r  z\n+r  r8  z[^\\\n]+r(   interpol_stringr.   r-   r0   doublesingledouble_atomsingle_atomr1   N)elixirexexs)z*.exz*.eexz*.exsz*.leex)fndor7   r2   elserescuer5   )r   r   r   r?   in)r4   r6   forr9   unlessr>   r=   raisequoteunquoteunquote_splicingthrowsuper)defdefp	defmoduledefprotocoldefmacro	defmacropdefdelegatedefexception	defstructdefimpldefcallback)importrequireusealias)niltruefalse)_
__MODULE____DIR____ENV__
__CALLER__)z<<<z>>>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>  r?  +-r   rA  !^&)z\\r$   r%   r,   r&   r   r%  ;r/   [])Cr   r   r   r   r   r   r   r   r   r   r   r(  r)  r*  r+  r-  r.  r/  
OPERATORS3
OPERATORS2
OPERATORS1PUNCTUATIONr   rQ  joinop3_reop2_reop1_reops_repunctuation_realnumname_re
modname_recomplex_name_respecial_atom_relong_hex_char_rehex_char_reescape_char_rer   r
   Singler   r   r   r   r   HexSymbolr   r   r   	AttributeClassr   BinOctr   r   rK  Doubler   r   r   updater  r   r  r  s   @r   r   r      s     D
#C%G4I !IMEG9G
 >'HHJJJ ?JK*,2h XX7J77FXX7J77FXX7J77FF81VHAfXQ/FXX@K@@NE!%0G%E7#6JWIQzl!F81=O5O2)K(N 	 =
Z =
gnn%=

 ''

FMMCD=
 {"fmm46=
 ~%fmm46=
 $=
 V]]#=
  H!=
& O#V]]3'=
( O#V]]3)=
* FMM#78+=
, FMM#78-=
2 /"!O#4MB463=
: G^T^^,;=
@ dOA=
B j\#Xk4::%FGC=
H XI=
J XK=
L [)M=
N T[[!O=
P XQ=
V $W=
X &**%Y=
Z vzz*[=
\ :6<<H]=
^ 6>>*_=
d HV^^Z@ "e=
h XfnnjA "i=
l 6==/2m=
n 6==/2o=
r Hs=
v [),w=
x K)y=
| 	Xj&..A6J&'
 	0&'
 	6>>*IV^^$V^^$J
 	&..)V^^$Z  

 	

FMMBD&--(V]]+	
 	V__&78
 	FOOV,FO
 	FO;	*K+K(	
 	FO;'V,

 	FOK(
WoF` MM)(CGH
MM)(CGH
MM)-fmmLM
MM)-fmmLM
MM(*++r   c                   f   a  ] tR tRt o RtRtR.tR.tRtRt	]
P                  ! R4      tR	 tR
tV tR# )r   i  z
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
zElixir iex sessioniexztext/x-elixir-shellsessionr#  r$  z,(iex|\.{3})((?:\([\w@_.]+\))?\d+|\(\d+\))?> c           	   #  b  "   \        R/ V P                  B pR pRp. p\        P                  ! V4       EFD  pVP	                  4       pVP                  R4      '       dA   RpVP                  \        V4      ^ \        P                  VRR 3.34       W7RR ,          pKk  V P                  P                  V4      pVeQ   RpVP                  4       p	VP                  \        V4      ^ \        P                  VRV	 3.34       W7V	R ,          pK  V'       d'   \        WRP                  V4      4       Rj  xL
  R p. pV'       d   \        P                  M\        P                   p
VP#                  4       W3x  EKG  	  V'       d%   \        WRP                  V4      4       Rj  xL
  R# R#  Lw L
5i)r   Fz** TNr1   )r   r   r	   r   r   r  r   r   r   Errorr   r   r7   r   r   r   r  r  )r  r  exlexerr  in_errorr	  r   r
  r  r7   r  s   &&         r   r   )ElixirConsoleLexer.get_tokens_unprocessed  s    --
%%d+E;;=Du%%!!3w<%&tCRy$A#B#D E9$OO))$/=$H%%'C%%s7|)*GNND#J(G'H'J KCDz)G#0&(F(Fw(O$Q Q Q"$%'
-5GMM7>>E++-44- ,. $::7CE E E QEs7   DF/F/3F+4F/A F/F/"F-#	F/-F/r1   N)r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r  r  s   @r   r   r     sE     "  DgG-.I
#CMKLJE Er   )r   r   r   r   )T)r   r  pygments.lexerr   r   r   r   r   r   r   r	   pygments.tokenr
   r   r   r   r   r   r   r   r   __all__r   r   r  r   r   r   r1   r   r   <module>r     sy    
  - - -|* |~&Nu &NR	
"w,* w,t9E 9Er   