+
    TBi=                      ~    R 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 RR.t ! R R]4      t ! R R]4      tR# )	z
pygments.lexers.pawn
~~~~~~~~~~~~~~~~~~~~

Lexers for the Pawn languages.

:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
)
RegexLexer)TextCommentOperatorKeywordNameStringNumberPunctuation)get_bool_optSourcePawnLexer	PawnLexerc                     a  ] tR t^t o RtRtR.tR.tR.tRt	Rt
RtR	tR
R]P                  R3R]P                  R3R],           R,           ]P                  R3R],           R,           ]P                  R3R]3R]3R]3R]P                   3R]P"                  3R]3R]R3R]P(                  3R]P,                  3R]P,                  3R]P.                  3R]P0                  3R]P2                  3R ]3R!]3R"]3R#]P8                  3R$]P:                  3R%]3.RR&]R'3R(]P>                  3R)]3R]3R*]3.RR+]P                  3R,]P"                  3R-]P                   R'3R.]P                  3R/]P                  3R]P                  R'3.RR0]P                  R13R2]P                  R'3R3]3./t 0 R4kR5kR6kR7kR8kR9kR:kR;kR<kR=kR>kR?kR@kRAkRBkRCkRDkREkRFkRGkRHkRIkRJkRKkR4kRLkRMkRNkROkRPkRQkRRkRSkRTkRUkRVkRWkRXkRYkRZkR[kR\kR]kR^kR_kR`kRakRbkRckRdkRekRfkRgkRhkRikRjkRkkRlkRmkRnkRokRpkRqkRrkRskRtkRukRvkRwkRxkRykRzkR{kR|kR}kR~kRkRkt!R t"R t#Rt$V t%R# )r   z:
For SourcePawn source code with preprocessor directives.

SourcePawnspz*.spztext/x-sourcepawnz+https://github.com/alliedmodders/sourcepawnz1.6z(?:\s|//.*?\n|/\*.*?\*/)+\s*(?:/[*].*?[*]/\s*)*root^#if\s+0if0^#macro^#if\s+0#\n\s+\\\n/(\\\n)?/(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/[{}]L?"string4L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])''(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*(\d+\.\d*|\.\d+|\d+[fF])[fF]?0x[0-9a-fA-F]+[LlUu]*0[0-7]+[LlUu]*
\d+[LlUu]*[~!%^&*+=|?:<>/-][()\[\],.;]zs(case|const|continue|native|default|else|enum|for|if|new|operator|public|return|sizeof|static|decl|struct|switch)\b(bool|Float)\b(true|false)\b[a-zA-Z_]\w*"#pop/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})	[^\\"\n]+\\[^/\n]+/\*(.|\n)*?\*///.*?\n/	(?<=\\)\n^\s*#if.*?(?<!\\)\n#push^\s*#endif.*?(?<!\\)\n.*?\nActionboolFloatPluginr   any	AdminFlagOverrideTypeOverrideRuleImmunityTypeGroupIdAdminIdAdmAccessModeAdminCachePartCookieAccess
CookieMenuCookieMenuActionNetFlowConVarBoundsQueryCookieReplySourceConVarQueryResultConVarQueryFinishedFunctionIdentityPluginStatus
PluginInfoDBResult
DBBindType
DBPriorityPropTypePropFieldTypeMoveType
RenderModeRenderFxEventHookMode	EventHookFileTypeFileTimeModePathType	ParamTypeExecType
DialogTypeHandleKvDataTypesNominateResult	MapChange	MenuStyle
MenuAction
MenuSource
RegexErrorSDKCallType
SDKLibrarySDKFuncConfSourceSDKTypeSDKPassMethodRayTypeTraceEntityFilterListenOverride	SortOrderSortType
SortFunc2DAPLResFeatureTypeFeatureStatus	SMCResultSMCErrorTFClassTypeTFTeamTFCondTFResourceTypeTimerTopMenuActionTopMenuObjectTypeTopMenuPositionTopMenuObjectUserMsgc                    \        VR R4      V n        \        4       V n        V P                  '       d"   ^ RIHp V P                  P                  V4       \        P                  ! V 3/ VB  R# )	sourcemodT)	FUNCTIONSN)	r   smhighlightingset
_functions#pygments.lexers._sourcemod_builtinsr   updater   __init__)selfoptionsr   s   &, 9/usr/lib/python3.14/site-packages/pygments/lexers/pawn.pyr   SourcePawnLexer.__init__k   sU    *7+6> %EOO""9-D,G,    c              #    "   \         P                  ! W4       Fi  w  r#pV\        J dT   V P                  '       dB   W@P                  9   d   \
        P                  pM W@P                  9   d   \        P                  pW#V3x  Kk  	  R # 5i)N)	r   get_tokens_unprocessedr   r   SM_TYPESr   Typer   Builtin)r   textindextokenvalues   &&   r   r   &SourcePawnLexer.get_tokens_unprocessedu   se     11$=  E%}&&&- '//1 $%% >s   8BAB)r   r   N)&__name__
__module____qualname____firstlineno____doc__namealiases	filenames	mimetypesurlversion_added_ws_ws1r   Preprocr   Single	Multiliner
   r   Charr	   r<   HexOctIntegerr   r   r   Constantr   Escapetokensr   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s=     DfGI$%I
7CM 'C$D 	'//517??G,4Z*$goou=4Z#w8DMTNdO-w~~>,g.?.?@k"VX&DfkkR7F-v||<%vzz2

+FNN+!8,[)BCJL - 0 01d#7
: 	66"?O6"fFO
 	) 1 1207??#7??+GOOV,
 	#W__g>&@w
[2Fh? ?& ?' ?8 ?X ?u ??+?-;?=K??$?&5?7G? ? !-? /A? CL? 	? !.	? 0=	?
 $?
 &;?
 =G? ? %? '5? 7C? EO? ? +? -7? 9H? ? )? +5? 7F? ? (? *8? :D? ? (? *6? 8@? BO? !? #.? 0;? =I? ? +? -:? <H? $? &/? 1@? BK? $? &6? 8C? EO? ? '? )6? 8G?  !?  (!?  *7!?  9A!?  CK!?" !#?" #*#?" ,;#?" =P#?$ "%?$ $3%?$ 5>%?H(-	& 	&r   c                   \  a  ] tR t^t o RtRtR.t. R6OtR.tRt	Rt
RtRtR	R
]P                  R3R]P                  R3R],           R,           ]P                  R3R],           R,           ]P                  R3R]3R]3R]3R]P                   3R]P"                  3R]3R]R3R]P(                  3R]P,                  3R]P,                  3R]P.                  3R]P0                  3R]P2                  3R]3R ]3R!]3R"]P8                  3R#]P:                  3R$]3.RR%]R&3R']P>                  3R(]3R]3R)]3.RR*]P                  3R+]P"                  3R,]P                   R&3R-]P                  3R.]P                  3R]P                  R&3.RR/]P                  R03R1]P                  R&3R2]3./t R3 t!R4t"V t#R5# )7r   z
For Pawn source code.
Pawnpawnztext/x-pawnz(https://www.compuphase.com/pawn/pawn.htmz2.0z (?:\s|//.*?\n|/[*][\w\W]*?[*]/)+r   r   r   r   r   r   r   r   r   r   r   r   r   z/(\\\n)?\*[\w\W]*?\*(\\\n)?/r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   z(switch|case|default|const|new|static|char|continue|break|if|else|for|while|do|operator|enum|public|return|sizeof|tagof|state|goto)\br)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   c                    RV 9   d   R# R# )znThis is basically C. There is a keyword which doesn't exist in C
though and is nearly unique to this language.tagofg{Gz?N )r   s   &r   analyse_textPawnLexer.analyse_text   s     d? r   r   N)z*.pz*.pwnz*.inc)$r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r	   r<   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   @r   r   r      s)     DhG)II
4CM .C$D 	'//517??G,4Z*$goou=4Z#w8DMTNdO-w~~>,g.?.?@k"VX&DfkkR7F-v||<%vzz2

+FNN+!8,[)9:AC - 0 01d#7
: 	66"?O6"fFO
 	) 1 1207??#7??+GOOV,
 	#W__g>&@w
[2Fh r   N)r   pygments.lexerr   pygments.tokenr   r   r   r   r   r   r	   r
   pygments.utilr   __all__r   r   r   r   r   <module>r      sH    &   &k
*k&j k&\I
 Ir   