
    ,hx                         d Z ddlZddlmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZ ddgZ G d de      Z G d de      Zy)	z
    pygments.lexers.haxe
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Haxe and related stuff.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)ExtendedRegexLexer
RegexLexerincludebygroupsdefault)
TextCommentOperatorKeywordNameStringNumberPunctuationGeneric
Whitespace	HaxeLexer	HxmlLexerc                      e Zd ZdZdZdZg dZddgZg dZdZ	d	Z
d
Zdez   dz   ZdZde
z   dz   ez   Zej                   ej"                  z  Zg Zd Zi d ed       ed      dej.                  dfdej.                  dfdej.                  dfdej0                  fdej0                  dfdej0                  dfdej0                  d fd!ej0                  d"fd#ed$fgdd%efd&ej8                  fd'ej:                  fd(efgd)d*ej>                  d+fd,ej@                  fd-ez   dz   ej>                  d.f ed/      gd/d0ej8                  d1fd2ej@                  fd3ej8                  fgd4d5ejB                  d1fd2ej@                  fd3ejB                  fgd6d7ez   ej>                  fd8ej>                  d1fgd9 ed      ee"j.                  fd:e#d;f e$d1      gd< ed      ee"j.                  fd=efd:e#d;fd>ej.                  d.f e$d1      gd; ed      d=ed1fee"j.                  d1fgd? ed      ee"j.                  fd:e#d;f e$d1      gd@d%efd0ej8                  dAfd5ejB                  dBf e$d1      gdCd%efdDejJ                  fdEejJ                  dFfeejJ                  d1fdGe&jN                  fdHe&jN                  fdIe&jN                  fdJe&jN                  fdKez   dLz   e&jN                  fdMe&jP                  fdNe&jR                  fd0ej8                  dAfd5ejB                  dBfgdOd%efdPejJ                  d1f e$dQ      gdRd%efeejJ                  dSf e$d1      gdQd%efdDejJ                  fdEejJ                  dTfeejJ                  dUfdGe&jN                  dUfdHe&jN                  dUfdIe&jN                  dUfdJe&jN                  dUfdKez   dLz   e&jN                  dUfdMe&jP                  dUfdNe&jR                  dUfd0ej8                  dVfd5ejB                  dWfgd ed       e$dX      gdY ed      dZe#d[fgi d\ ed      dEe#d]f e$d1      gd^ ed      d_ej0                  d`fdae#f e$d1      gd ed      dbe"jT                  dcfgdd ed      dee"jT                  d1f e$d1      gdf ed      ee"jT                  d1fgdg ed      dEe"jT                  dhf e$d1      gdi ed      dPe"jT                  d1f e$dj      gdk ed      dPe"jT                  d1fdae#dhfgd" ed       e$dl      gdm ed      dne+dofgd  ed       e$dp      gdq ed       ed      d8e#d1fee"drfgds ed      dEe#dtf e$du      gd ed       e$dv      gdw ed      dxej0                  d`fdae#f e$d1      gdy ed      dZe#d1fgdz ed      d8e#d1fgi d{ ed       ed      d8e#d1fd|ej0                  f e$d}      gd} ed      d~ej0                  dfdej0                  dfgd ed      ee"jX                  df e$d      gd ed       ed       e$d1      gd ed      ee"jX                  dfgd ed      dPe#d1fde#fee"dfgd ed      dPe#d1fdae#dfgd ed      dEe#df e$d1      gd ed      ded1feed1fgd$ ed       e$d      gdg  ed      dbe"jT                  dfde+fdEe#dfdej0                  fdej0                  dfdZe#dfdejZ                  dfdedfdedfdedfdej0                  dfdedfdedfdedfdedfdedfdedfdefdedfdedfded1fdez   dz   e"dfee"dfdGe&jN                  dfdHe&jN                  dfdIe&jN                  dfdJe&jN                  dfdKez   dLz   e&jN                  dfdMe&jP                  dfdNe&jR                  dfd0ej8                  dfd5ejB                  dfdej\                  dfde#dfd ed      de+fee+dfdedfde+dfdez   dz    e/e#e"      fde#dfdEe#df e$d1      g	d ed       ed      dee#dfdej0                  fdej0                  dfdej0                  dfdej0                  dfd!ej0                  df e$d      g	ddZe#d[f ed      gd ed      dEe#df e$d      gd ed      dae#df e$d1      gd ed      dedf e$d1      gi d ed       e$dѫ      gd ed      dedfgd ed      dEe#dfgd ed      dEe#dfgd ed      dEe#dfgd ed      dedf e$d1      gd ed       e$dܫ      gd ed      dedfd8e#d1fgd ed      dee#d1f e$d      gd ed      dee#d1fdae#dfgd ed      dedf e$d1      gd ed      ded$f e$d1      gd ed       e$d      gd ed      de#d1f e$d      gd ed      de#d1fdae#dfgd ed       e$d      gd ed      de#d1fgi d ed      dae#d1fgd ed      dee#d1fgd ed      de#d1fgd ed      de#d1f e$d1      gd. ed      ee"d1fgd ed      dZe#df e$d      gd ed      ee"d1fgd ed      d:e#d.f e$d1      gd` ed      de#fee"dfdZe#dfdEe#dfgd ed       e$d]      gd ed      de#dfde#d f e$d1      gd ed      d8e#d1fde#fde#dfee"df ed{      gd ed      d8e#d1fdae#dfgddGe&jN                  d1fdHe&jN                  d1fdIe&jN                  d1fdJe&jN                  d1fdKez   dLz   e&jN                  d1fdMe&jP                  d1fdNe&jR                  d1fd0ej8                  dAfd5ejB                  dBfdej\                  d1fde+df ed`      gd  ed       e$d	      gd
 ed      de#d1fdae#dfgd ed      de#df e$d1      gi d ed      de#d1fdae#dfgd ed      dee#df e$d1      gd ed      dEe#df e$dī      gd ed      dPe#d1fdae#d`fgd ed       e$d      gd ed      dEe#d1fgd ed      dPe#d1fgd ed      eedfgd ed      dae#df e$d1      gd ed      dne+df e$d1      gd ed      dee#df e$d1      gd ed      dee+d1fgd ed      dPe#d1f e$d      gd ed      dPe#d1fdae#d fgd! ed      d"ez   d#z   ez   e"d$fd0ej8                  d%fd5ejB                  d&f e$d'      gd( ed      dee#d)f e$d*      gd+ ed      d8e#d1f e$d$      g ed      d8e#d1f e$d,      g ed      ee"d1fd0ej8                  dAfd5ejB                  dBfg ed      d8e#d1fdae#d-fgd.Z0d/ Z1y0(1  r   z
    For Haxe source code.
    Haxezhttp://haxe.org/)haxehxslhxz*.hxz*.hxsl)z	text/haxeztext/x-haxez	text/x-hxz1.3a  (?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\bz
_*[A-Z]\w*z(?:_*[a-z]\w*|_+[0-9]\w*|z
|_+|\$\w+)z(?:%=|&=|\|=|\^=|\+=|\-=|\*=|/=|<<=|>\s*>\s*=|>\s*>\s*>\s*=|==|!=|<=|>\s*=|&&|\|\||<<|>>>|>\s*>|\.\.\.|<|>|%|&|\||\^|\+|\*|/|\-|=>|=)z(?!)c              #   "  K   |j                  d      }|dk(  r)| j                  j                  |j                  d d         nS|dv r$| j                  rC| j                  d   d d  |_        n+|dk(  r&| j                  r| j                  j	                          |dv r|j                  j                  d       |dv r|j                  j                  d	       |j                         t        j                  d
|z   f |j                         |_	        y w)N   if)elseelseifend)r   r   preproc-expr)errorpreproc-error#)
grouppreproc_stackappendstackpopstartr	   Preprocr    pos)selfmatchctxprocs       V/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/haxe.pypreproc_callbackzHaxeLexer.preproc_callback:   s     {{1~4<%%ciil3''!! ..r215	U]!!""&&( ##II^, 9II_-kkmW__cDj88))+s   DDrootspacesmetaz(?:package)\b)	semicolonpackagez(?:import)\b)r6   importz(?:using)\b)r6   usingz(?:extern|private)\bz(?:abstract)\babstractz(?:class|interface)\bclassz
(?:enum)\benumz(?:typedef)\btypedefz(?=.)zexpr-statementz\s+z
//[^\n\r]*z	/\*.*?\*/z(#)(if|elseif|else|end|error)\bstring-single-interpolz\$\{)string-interpol-closeexprz\$\$z\$(?=identstring-single'#popz\\..string-double"r?   z\$z\}r7   z\.zimport-identr8   z\*inr9   r#   )rD   rB   )rD   rF   r!   z\!z\()rD   preproc-parenthesisz\.[0-9]+z[0-9]+[eE][+\-]?[0-9]+z[0-9]+\.[0-9]*[eE][+\-]?[0-9]+z[0-9]+\.[0-9]+z[0-9]+\.(?!z|\.\.)z0x[0-9a-fA-F]+z[0-9]+rI   z\)preproc-expr-in-parenthesispreproc-expr-chain)rD   rJ   )rD   rK   rI   )rD   rK   )rD   rK   rB   )rD   rK   rF   )rD   abstract-bodyabstract-relationabstract-opaquetype-param-constraint	type-namerL   z\{)rD   
class-bodyrN   )rD   parenthesis-closetyperM   z(?:to|from)rS   ,@)	meta-body
meta-ident
meta-colonrX   :rW   rV   )rD   	meta-callrZ   )rD   meta-call-sepr@   r[   )rD   typedef-bodyrO   rP   r\   =)rD   optional-semicolonrS   )rD   	enum-bodybracket-openrO   rP   r_   )enum-memberrO   ra   )rD   r6   flagfunction-param)rD   r6   rb   )rD   rQ   r`   extendsrO   rP   rd   z(?:extends|implements)\br`   bracket-closerQ   z9(?:static|public|private|override|dynamic|inline|macro)\bzclass-memberz(var)\b)rD   r^   varz(function)\b)rD   r^   class-methodfunction-local)rD   optional-exprrb   rc   parenthesis-openrO   ri   r@   rg   rc   z\?)rD   function-param-sepassignrb   rk   )rD   rc   prop-get-set)rD   rR   prop-get-set-optcommarn   rn   z((?:default|null|never|dynamic|get|set)\b)rD   r^   r@   )rD   ri   rV   rW   rX   z(?:\+\+|\-\-|~(?!/)|!|\-))rD   
expr-chainparenthesisz3(?:static|public|private|override|dynamic|inline)\bz(?:function)\b)rD   rp   rh   )rD   rp   bracketz(?:true|false|null)\b)rD   rp   z
(?:this)\bz
(?:cast)\b)rD   rp   castz	(?:try)\b)rD   catchr@   z	(?:var)\b)rD   rf   z	(?:new)\b)rD   rp   newz(?:switch)\b)rD   switchz(?:if)\b)rD   r   z(?:do)\b)rD   doz(?:while)\b)rD   whilez	(?:for)\b)rD   forz(?:untyped|throw)\bz(?:return)\b)rD   ri   z(?:macro)\b)rD   macroz(?:continue|break)\bz(?:\$\s*[a-z]\b|\$(?!z)))rD   dollar)rD   rp   r>   )rD   rp   rF   z#~/(\\\\|\\[^\\]|[^/\\\n])*/[gimsu]*z\[)rD   rp   
array-declrp   z(?:\+\+|\-\-))rD   r@   z(?:in)\b)rD   r@   ternaryr@   z(\.)(zarray-accesscallrz   )rD   rS   )rD   r^   r:   )rD   r^   macro-class)rD   r^   r<   )rD   r^   r=   r   rs   )rD   rR   	cast-typer@   r   rt   z(?:catch)\b)r@   rc   rj   rw   )rD   do-whiler@   r   )rD   rq   rj   rx   )rD   r@   rq   ry   r   )rD   r   r^   r@   rq   r   z
(?:else)\brv   )rD   switch-bodyr`   r@   r   z(?:case|default)\b)
case-blockcaser   )rD   case-sep
case-guardr@   r   )rD   r   r   r   z(?!(?:case|default)\b|\})ru   )rD   r~   rj   rS   r|   z\])rD   array-decl-sepr@   r   )rD   r|   )rD   array-access-closer@   r   ro   colonr6   ;r^   r{   )rD   rp   re   r@   rP   type-full-name)rD   
type-checkr   )rD   r   type-struct)rD   r   type-parenthesisr   r   z->z<(?!=)
type-paramr   >)ro   rS   )rD   type-struct-seprS   r   r   )rD   r   type-param-typez!~/(\\\\|\\[^\\]|[^/\\\n])*/[gim]*)rD   type-param-sepr   r   )rD   r   rO   )rD   type-param-constraint-septype-param-constraint-flagrP   r   r   )rD   type-param-constraint-flag-typer   )rD   #type-param-constraint-flag-type-seprS   r   rq   )rD   rR   rb   r@   rj   rR   rf   )rD   var-seprl   rb   rm   r   rl   rb   r}   )rD   call-sepr@   r   )rD   r~   rr   z(?!(?:\$\s*[a-z]\b|\$(?!z))))rD   bracket-check)rD   r   rB   )rD   r   rF   )rD   blockr   )rD   
object-sepr@   )rD   r   r^   rp   r   )rD   r   r@   r   ident-or-string)rD   object)r   r   r   c                 2    t        j                  d|       ryy )Nz\w+\s*:\s*\wg333333?)rer.   )texts    r1   analyse_textzHaxeLexer.analyse_text|  s    88OT* +    N)2__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedkeywordtypeidrA   binopident_no_keywordr   DOTALL	MULTILINEflagsr&   r2   r   r   	NamespaceDeclarationr   r   r	   Single	Multiliner   InterpolEscapeDoubler   r   r   r+   r   FloatHexInteger	Decoratorr
   FunctionConstantRegexr   tokensr    r   r1   r   r      se    D
C$G"I9IM;G F )61MAEE
 '#-5II$EM4fHFOw002JKg//1HIW..0FG$g&9&9: 3 3Z@%w':':GDG//8w22I> t-.!
f* 	Z GNN+7,,-/1AB	
+f8 	!foo'HIfmm$#V__g>O$	#
9fF 	6==&)V]]#6==!
GfR 	6==&)V]]#6==!
Sf^ 	 5[&//*FOOV,"
_fh 	HDNN#K0FO	
ifv 	HDNN#GK0G%%w/FO
wfH 	HGV$DNNF+
IfT 	HDNN#K0FO	
Ufb 	Z 6==";<6==";<FO	
cfp 	Z GOO$GOO%DEGOOV, &,,'&5.=-e#i/> 

+' 6==";<6==";<)
qf^ 	Z GOOV,12 
_fj 	Z GOO%LMFO
kfx 	&Z GOO$GOOBD GOO%CD &,,(FG&6TU.>\].LMe#i/?]^ 

,JK(FG 6==<>6==<>-(
yfl 	H M N
mfx 	HK!78
yfB 	HK!FGFO
CfN 	HW00&9;FO	
Of\ 	H4>>#LM
]fh 	H4>>6*FO
ifv 	HDNNF+
wf@ 	HDNN$9:FO
AfL 	HDNNF+56
MfX 	HDNNF+; 56
Yfd 	H " #
efp 	H8CD
qfz 	H ; <
{fF 	HFOK(t%MN	
GfT 	HK<>12	
Ufb 	H ; <
cfn 	H('*=*=vF;FO
of~ 	HK(
fH 	HK(
IfR 	HFOK(I  "N#
Sfd 	H,,24g11;=	
efv 	Ht}};<  B C
wfH	 	HFOFO
I	fT	 	HDMM $= >
U	fd	 	HK(K t=?	
e	ft	 	HK(; :;
u	f@
 	HK "S TFO	
A
fN
 	H8'6JtV,
O
fZ
 	H :;	
[
fh
 	 1
H1
4>> $@ A1
 *84	1

 K!FG1
 D  "1
  3 3 6H I1
 K!BC1
 &w'7'79OP1
 G%;<1
 G%CD1
 7$=>1
 7..@1
  7$AB!1
" g'9:#1
$ '>2%1
& '>2'1
( W&78)1
* 7O4+1
, $W--1
. g'@A/1
0 W&7811
2 %gv631
4 &e+D0$8JK51
6 t%;<71
< &,,(>?=1
> '6LM?1
@ />TUA1
B .DEC1
D e#i/?UVE1
J 

,BCK1
L (>?M1
R 6=="RSS1
T 6=="IJU1
Z 4V\\CYZ[1
` K!EFa1
i
fN 	Hx(H./'#34HAB((3.d0KLK0K(FO

Ofh 	HFO; 01$g&9&9: 3 35_`%w':':<ijG//1WXw224]^$%
ifD 	K!78G
EfP 	HK "7 8$%	
Qf` 	H; 01FO
afl 	HW '; <FO	
mf| 	H01
}fH 	HW '; <
IfT 	HK!@A
Uf^ 	HK!@A
_fh 	HK "1 2
ift 	HG%56FO
uf@ 	HCD
AfJ 	H"G-CDK(
KfV 	H;'>?
Wfb 	H;'; 01
cfn 	H'#NOFO
of| 	H)74DEFO
}fH 	H@A
IfR 	HK(67
Sf^ 	HK(; 67
_fj 	H:;
kft 	HK(
uf~ 	H;'
fH 	H;'
IfR 	H;'
Sf\ 	H;'FO
]fj 	HD&!
kft 	HK!PQ*+
uf@ 	HT6"
AfJ 	HK)FO
KfV 	HK DBCK!FGK!KL
Wff 	H9:
gfp 	HK!12\2FO	
qf~ 	HK(K ; 12t%QRL!
fP 	HK(; 78
Qf^ 	&,,/&f=.fEf5e#i/vF 

F3/ 6==";<6==";< 26<<H H45FO-
_fT 	HAB
Uf^ 	H;'; 67
_fn 	 H &Q RFO	"
of| 	$H;'; !L M&
}fL 	%H; KLFO'
MfX 	*HK "* +$%	,
Yff 	.HK(;'0
gft 	HAB
uf~ 	HK(
fH 	HK(
IfR 	Ht%Z[
Sf^ 	H;0FO
_fl 	H8-.FO
mfz 	H; 01FO
{fH 	H8V$
IfT 	HK(01
Ufb 	HK(; 01
cfp 	H(.u47GG&(6=="LM6=="LM%&
qfB 	H; >?IJ
CfP 	HK($%
Qf` HK(NO
 HtV,6==";<6==";<	
 HK(; 23
}fFPr   c                      e Zd ZdZdZdZddgZdgZdZdd	 e	e
ej                        fd
 e	e
ej                        fd e	e
e      fd e	e
eee      fd e	e
eeej"                        fd e	e
eeej"                  e
ej"                  e
ej"                  e
ej$                  
      fd e	e
eee      fdej(                  fgiZy)r   z%
    Lexer for haXe build files.
    Hxmlz0https://haxe.org/manual/compiler-usage-hxml.htmlhaxemlhxmlz*.hxmlz1.6r3   z
(--)(next)z(-)(prompt|debug|v)zY(--)(neko-source|flash-strict|flash-use-stage|no-opt|no-traces|no-inline|times|no-output)zO(-)(cpp|js|neko|x|as3|swf9?|swf-lib|php|xml|main|lib|D|resource|cp|cmd)( +)(.+)z(-)(swf-version)( +)(\d+)z;(-)(swf-header)( +)(\d+)(:)(\d+)(:)(\d+)(:)([A-Fa-f0-9]{6})zA(--)(js-namespace|php-front|php-lib|remap|gen-hx-classes)( +)(.+)z#.*N)r   r   r   r   r   r   r   r   r   r   r   r   Headingr   r   r   r   r   r   r	   r   r   r   r   r1   r   r     s    D
<C G
IM 	H['//BC#Xk7??%KL+,4[',JL k7J?A *k7JGI Lk7J!6>>;!6::/0
{GZHJ W^^$3
Fr   )r   r   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   r   __all__r   r   r   r   r1   <module>r      sP    
 - - - 
$i" iX&
 &r   