+
    TBi^                         R t ^ RIt^ RIH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IHt R.t ! R R]4      tR# )z
pygments.lexers.mojo
~~~~~~~~~~~~~~~~~~~~

Lexers for Mojo and related languages.

:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)	unistring)
RegexLexerbygroupscombineddefaultincludethisusingwords)	CommentKeywordNameNumberOperatorPunctuationStringText
Whitespaceshebang_matches	MojoLexerc            "         a  ] tR t^)t o RtRtRtRR.tRR.tRR	.t	R
t
R]P                   R]P                   R2tR tR t/ RR]3R]! ]]P(                  ]P*                  4      3R]! ]]P(                  ]P*                  4      3R]P.                  3R]P0                  3R]3R]3]! R4      ]! R4      R]! ]]4      R3R]! ]]4      R3R]! ]]4      R3R]! ]]4      R3R ]! ]]4      R!3R"]! ]]4      R#3R$]! ]]4      R#3R%]! ]P6                  ]4      R&3R']! ]P6                  ]4      R(3]! R)4      .bR)R*]! ]P(                  ]P8                  4      ]! R+R,4      3R-]! ]P(                  ]P0                  4      ]! R+R.4      3R/]! ]P(                  ]P8                  4      ]! R+R04      3R1]! ]P(                  ]P0                  4      ]! R+R24      3R3]! ]P(                  ]P8                  4      ]! R4R,4      3R5]! ]P(                  ]P0                  4      ]! R4R.4      3R6]! ]P(                  ]P8                  4      ]! R4R04      3R7]! ]P(                  ]P0                  4      ]! R4R24      3R8]! ]P(                  ]P8                  4      R93R:]! ]P(                  ]P0                  4      R;3R<]! ]P(                  ]P8                  4      R=3R>]! ]P(                  ]P0                  4      R?3R@]! ]P(                  ]P8                  4      ]! RAR94      3RB]! ]P(                  ]P0                  4      ]! RAR;4      3RC]! ]P(                  ]P8                  4      ]! RAR=4      3RD]! ]P(                  ]P0                  4      ]! RAR?4      3RE]! ]P(                  ]P8                  4      ]! RFR94      3RG]! ]P(                  ]P0                  4      ]! RFR;4      3RH]! ]P(                  ]P8                  4      ]! RFR=4      3RI]! ]P(                  ]P0                  4      ]! RFR?4      3RJ]3]! RK4      RL]3RM] 3RN]PB                  3]! RO4      ]! RP4      ]! RQ4      ]! RR4      ]! RS4      .bRTRU] RV3RW]PD                  RX3RY]PD                  RX3R]3]! R)4      .bRVRU] RV3RZ] RX3R]3]! R)4      .bRO]#! RR[R\7      ]3]#! RR[R\7      ]PH                  3.bR]#! RR[R\7      ]3]#! RR[R\7      ]PH                  3.bRR]R^PK                  R_ ]&PN                   4       4      ,           R`,           ]! ]]4      Ra3.bRaRb]! ]](! ])4      ]4      3]*! RX4      .bRP]#! RRcR[Rd7      ]+PX                  3Re]+PX                  PZ                  3]#! RRcR[Rd7      ]+P\                  3.bRQ]#! RR[R\7      ]+P^                  P`                  3.bRR]#! RR[R\7      ]+Pb                  P`                  3.bRKRf]2Pf                  3Rg]2Pf                  3Rh]2Ph                  3Ri]2Pj                  3Rj]2Pl                  3Rk]2Pn                  3.bRSRl],           ]+Pp                  3Rl]3]]+3.bR]]+Pb                  RX3.bR]! RQ4      ]]+P^                  RX3]*! RX4      .bR!]]+Pr                  RX3.bR#]]+Pt                  RX3.b/ R(Rm]! ]]]4      3Rn]+P6                  3]]+P6                  3Ro]! ]]]4      3]*! RX4      .bR&Rp]! ]]P6                  4      RX3Rn]+P6                  3Rq]PH                  RX3]]+P6                  3]*! RX4      .bR+Rr]Pv                  3Rs]Pv                  3.bR4]! R+4      ]! RA4      .bRFRt]Pv                  3.bRARu]Pv                  3]! RF4      .bRv]! ]P0                  4      bRw]! ]P8                  4      bRx]! ]P0                  4      bRy]! ]P8                  4      bR0Rz]P8                  RX3R{]Pv                  3]! Rw4      .bR2R|]P0                  RX3R}]Pv                  3]! Rv4      .bR=Rz]P8                  RX3R{]Pv                  3]! Ry4      .bR?R|]P0                  RX3R}]Pv                  3]! Rx4      .bR,R~]P8                  RX3]! Rw4      R]P8                  3.bR.R]P0                  RX3]! Rv4      R]P0                  3.bR9R~]P8                  RX3]! Ry4      R]P8                  3.bCR;R]P0                  RX3]! Rx4      R]P0                  3./Ct<R t=Rt>V t?R# )r   z(
For Mojo source code (version 24.2.1).
Mojozhttps://docs.modular.com/mojo/mojou   🔥z*.mojou   *.🔥ztext/x-mojozapplication/x-mojoz2.18[z][z]*c                \    R \         P                  3R\         P                  3RV 3RV 3RV 3.# )zH%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsaux%]zg\{((\w+)((\.\w+)|(\[[^\]]+\]))*)?(\![sra])?(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?\}z[^\\\'"%{\n]+[\'"\\]z%|(\{{1,2})r   Interpolttypes   &9/usr/lib/python3.14/site-packages/pygments/lexers/mojo.pyinnerstring_rulesMojoLexer.innerstring_rules=   sJ    *
  u%U#)
 	
    c                X    R \         P                  3R\         P                  R3RV 3RV 3.# )z\}z\{expr-inside-fstringz[^\\\'"{}\n]+r   r   r   s   &r!   fstring_rulesMojoLexer.fstring_rulesV   s9     FOO$FOO%:;u%
 	
r$   rootz\s+z&^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")z&^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')z\A#!.+$z#.*$z\\\nz\\keywordszsoft-keywordsz(alias)(\s+)varnamez
(var)(\s+)z
(def)(\s+)funcnamez	(fn)(\s+)z(class)(\s+)	classnamez(struct)(\s+)
structnamez(trait)(\s+)z(from)(\s+)
fromimportz(import)(\s+)importexprz(?i)(rf|fr)(""")rfstringescapetdqfz(?i)(rf|fr)(''')tsqfz(?i)(rf|fr)(")dqfz(?i)(rf|fr)(')sqfz([fF])(""")fstringescapez([fF])(''')z	([fF])(")z	([fF])(')z(?i)(rb|br|r)(""")tdqsz(?i)(rb|br|r)(''')tsqsz(?i)(rb|br|r)(")dqsz(?i)(rb|br|r)(')sqsz([uU]?)(""")stringescapez([uU]?)(''')z
([uU]?)(")z
([uU]?)(')z([bB])(""")bytesescapez([bB])(''')z	([bB])(")z	([bB])(')z[^\S\n]+numbersz!=|==|<<|>>|:=|[-~+/*%=<>&^|.]z([]{}:\(\),;[])+z(in|is|and|or|not)\bzexpr-keywordsbuiltins
magicfuncs	magicvarsnamer&   z[{([]zexpr-inside-fstring-innerz(=\s*)?(\![sraf])?\}z#popz(=\s*)?(\![sraf])?:z[])}]z\b)suffixz6(^[ \t]*)(match|case)\b(?![ \t]*(?:[:,;=^&|@~)\]}]|(?:|c              #  b   "   T F%  q^ ,          P                  4       '       g   K!  Vx  K'  	  R# 5i)    N)islower).0ks   & r!   	<genexpr>MojoLexer.<genexpr>M  s     F^t||~!!^s   /
/z)\b))zsoft-keywords-innerz(\s+)([^\n_]*)(_\b)z(?<!\.))prefixrC   z+(?<!\.)(self|Ellipsis|NotImplemented|cls)\bzT(\d(?:_?\d)*\.(?:\d(?:_?\d)*)?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*)([eE][+-]?\d(?:_?\d)*)?z!\d(?:_?\d)*[eE][+-]?\d(?:_?\d)*j?z0[oO](?:_?[0-7])+z0[bB](?:_?[01])+z0[xX](?:_?[a-fA-F0-9])+z\d(?:_?\d)*@z(\s+)(as)(\s+)z\.z(\s*)(,)(\s*)z(\s+)(import)\bzNone\bz\{\{z\}\}z0\\([\\abfnrtv"\']|\n|x[a-fA-F0-9]{2}|[0-7]{1,3})z,\\(N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8})zfstrings-singlezfstrings-doublezstrings-singlezstrings-double"z\\\\|\\"|\\\n'z\\\\|\\'|\\\nz"""z\nz'''c                N    \        V R 4      '       d   R# RV R,          9   d   R# ^ # )zmojo?g      ?zimport :Ni  Ng?r   )texts   &r!   analyse_textMojoLexer.analyse_text  s$    4**U#r$    N)	z	async forz
async withawaitelseforiflambdayield
yield from)TrueFalseNone)assertasyncrU   borrowedbreakcontinuedelelifrV   exceptfinallyrW   globalrX   rY   passraisenonlocalreturntrywhilerZ   r[   aswith)^
__import__absaiterallanybinbool	bytearray
breakpointbytescallablechrclassmethodcompilecomplexdelattrdictdirdivmod	enumerateevalfilterfloatformat	frozensetgetattrglobalshasattrhashhexidinputint
isinstance
issubclassiterlenlistlocalsmapmax
memoryviewminnextobjectoctopenordpowprintpropertyrangereprreversedroundsetsetattrslicesortedstaticmethodstrsumsupertupletypevarszipAnyType	CoroutineDTypeErrorIntListListLiteralScalarInt8UInt8Int16UInt16Int32UInt32Int64UInt64BFloat16Float16Float32Float64SIMDr   TensorTupleMovableCopyableCollectionElement)r   )^__abs____add__
__aenter__	__aexit__	__aiter____and__	__anext__	__await____bool__	__bytes____call____complex____contains____del____delattr__
__delete____delitem____dir__
__divmod__	__enter____eq____exit__	__float____floordiv__
__format____ge____get____getattr____getattribute____getitem____gt____hash____iadd____iand____ifloordiv____ilshift____imatmul____imod____imul__	__index____init____instancecheck____int__
__invert____ior____ipow____irshift____isub____iter____itruediv____ixor____le____len____length_hint__
__lshift____lt__
__matmul____missing____mod____mul____ne____neg____new____next____or____pos____pow____prepare____radd____rand____rdivmod____repr____reversed____rfloordiv____rlshift____rmatmul____rmod____rmul____ror__	__round____rpow____rrshift__
__rshift____rsub____rtruediv____rxor____set____setattr____setitem____str____sub____subclasscheck____truediv____xor__)__annotations__	__bases__	__class____closure____code____defaults____dict____doc____file____func____globals____kwdefaults__
__module____mro____name____objclass____qualname____self__	__slots____weakref__)@r:  r8  r<  __firstlineno__r3  rB   urlaliases	filenames	mimetypesversion_addeduni	xid_startxid_continueuni_namer"   r'   r   r   r   AffixDocr   HashbangSingler   r   	NamespaceDoubler   r   r   r   Wordr   r
   Constantjoinkeywordkwlistr	   r   r   r   BuiltinPseudo	ExceptionFunctionMagicVariabler   FloatOctBinHexInteger	DecoratorClassStructEscapetokensrR   __static_attributes____classdictcell__)__classdict__s   @r!   r   r   )   s     D
*CvGI
 	I M3==/C$4$4#5R8H
2
W	Z 9V\\6::>
 :V\\6::> ))*gnn%j!JJO$
  *-
 HWj99EHWj9:F8GZ8*E*-
 x<lKhw
;\JXg&7&7DlSx(9(9:FQFOI%
W	N 	 #v}}5)62 #v}}5)62 !v}}5)51 !v}}5)51 v}}5&1 v}}5&1 v}}5%0 v}}5%0 "8FLL&--#H&Q!8FLL&--#H&Q&,,!FN&,,!FN v}}50 v}}50 v}}5/ v}}5/ v}}5/ v}}5/ v}}5. v}}5.
 $I.9 +.$hmm4O$JL!K FOGd
OW	X 	{$?@   Z FO) 
YW	D 	${$?@{F+Z FO	&
EW	P 	 
 ! " ,U;W=M=MN'
QW	z 	6 !9< ? B ,U;W=M=MNE#
{W	B 	'
 		FW^^FFG  W-%

CW	^ 	#Xj%+w%OPFO 
_W	h 	`B & GdJ MgP <T\\=P=PQ% 
 Ur
iW	N 	_@ !CbF ##Ieg
OW	^ 	, !/2 ##5
_W	Z 	+
 26<<@!6::. &**-'4V^^,
[W	r 	H_dnn-8t
sW	| 	t}}f-
}W	B 	L!t}}f-FO
CW	L 	tzz6*
MW	R 	t{{F+
SW	X 	Wj IJDNN#t~~&x
HjIJFO
YW	f 	*g6G6G!H&QDNN# ((&1t~~&FO
gW	x 	fmm$fmm$
yW	@ 	$%N#
AW	H 	@&--P
IW	N 	<fmmLM"
OW	V 	=7WW	X 	=7YW	Z 	+FMM:[W	\ 	+FMM:]W	^ 	6==&)v}}-%&
_W	h 	6==&)v}}-%&
iW	r 	6==&)v}}-$%
sW	| 	6==&)v}}-$%
}W	F 	V]]F+%&FMM"
GW	P 	V]]F+%&FMM"
QW	Z 	V]]F+$%FMM"
[W	d 	V]]F+$%FMM"
eW	Fr r$   )r3  rS  pygmentsr   rF  pygments.lexerr   r   r   r   r   r   r	   r
   pygments.tokenr   r   r   r   r   r   r   r   r   pygments.utilr   __all__r   rT   r$   r!   <module>rm     sJ     %	 	 	   *-Z

 Z
r$   