File: //opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/pawn.cpython-310.pyc
o
;j@ � @ sp d Z ddlmZ ddlmZmZmZmZmZm Z m
Z
mZ ddlm
Z
ddgZG dd� de�ZG dd� de�Zd S )
z�
pygments.lexers.pawn
~~~~~~~~~~~~~~~~~~~~
Lexers for the Pawn languages.
:copyright: Copyright 2006-present 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 @ s� e Zd ZdZdZdgZdgZdgZdZdZ dZ
d Zd
ej
dfdej
d
fde d ej
dfde d ej
d
fdefdefdefdejfdejfdefdedfdejfdejfdejfdejfdejfdejfdefd efd!efd"ejfd#ejfd$efgd%ed&fd'ejfd(efdefd)efgd*ej
fd+ejfd,ejd&fd-ej
fd.ej
fdej
d&fgd/ej
d0fd1ej
d&fd2efgd3�Zh d4�Z d5d6� Z!d7d8� Z"d9S ):r zB
For SourcePawn source code with preprocessor directives.
Z
SourcePawn�spz*.spztext/x-sourcepawnz+https://github.com/alliedmodders/sourcepawnz1.6z(?:\s|//.*?\n|/\*.*?\*/)+�\s*(?:/[*].*?[*]/\s*)*�^#if\s+0�if0�^#�macro�^�#if\s+0�#�\n�\s+�\\\n�/(\\\n)?/(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/�[{}]�L?"�string�4L?'(\\.|\\[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��rootr r r >M ZTFCondZPluginZ
CookieMenuZ EventHookZOverrideRuleZ SMCResultZSDKCallTypeZAdminIdZDBResultZ
EventHookMode�PathTypeZImmunityTypeZ MenuStyleZMoveTypeZ
MenuActionZExecTypeZKvDataTypes�TimerZTFResourceType�HandleZConVarBoundsZReplySourceZRayTypeZ
FeatureStatusZNominateResultZ
DBBindType�ActionZIdentityZSDKTypeZ
SortFunc2DZ
RegexErrorZTFClassTypeZPropType�FloatZ
DialogTypeZ
AdmAccessMode�boolZFunctionr Z
MenuSourceZTopMenuObjectTypeZTopMenuPositionZNetFlowZCookieMenuAction�anyZFeatureTypeZOverrideTypeZRenderFxZ
SDKPassMethodZ ParamTypeZAdminCachePartZConVarQueryResultZ
PropFieldTypeZConVarQueryFinishedZSortTypeZ
DBPriorityZ
TopMenuActionZ
PluginInfoZSMCErrorZGroupIdZ
RenderModeZQueryCookieZ MapChangeZ AdminFlagZTFTeamZCookieAccessZSDKFuncConfSourceZ
TopMenuObjectZAPLResZ SortOrderZTraceEntityFilterZFileTimeModeZListenOverrideZPluginStatusZUserMsg�FileTypeZ
SDKLibraryc K sJ t |dd�| _t� | _| jrddlm} | j�|� tj| fi |�� d S )NZ sourcemodTr )� FUNCTIONS) r �smhighlighting�set�
_functionsZ#pygments.lexers._sourcemod_builtinsrA �updater �__init__)�self�optionsrA � rI �H/opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/pawn.pyrF k s �zSourcePawnLexer.__init__c c sZ � t �| |�D ]#\}}}|tu r$| jr$|| jv rtj}n|| jv r$tj}|||fV qd S )N) r �get_tokens_unprocessedr rB �SM_TYPESr �TyperD ZBuiltin)rG �text�index�token�valuerI rI rJ rK u s �
�
�z&SourcePawnLexer.get_tokens_unprocessedN)#�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�url�
version_added�_ws�_ws1r �Preprocr �Single� Multiliner
r �Charr r= �Hex�Oct�Integerr r rM �Constantr �Escape�tokensrL rF rK rI rI rI rJ r sr
���
�
��4
c @ s~ e Zd ZdZdZdgZg d�ZdgZdZdZ dZ
d Zd
ej
dfdej
d
fde d ej
dfde d ej
d
fdefdefdefdejfdejfdefdedfdejfdejfdejfdejfdejfdejfdefd efd!efd"ejfd#ejfd$efgd%ed&fd'ejfd(efdefd)efgd*ej
fd+ejfd,ejd&fd-ej
fd.ej
fdej
d&fgd/ej
d0fd1ej
d&fd2efgd3�Zd4d5� Z d6S )7r
z
For Pawn source code.
ZPawnZpawn)z*.pz*.pwnz*.incztext/x-pawnz(https://www.compuphase.com/pawn/pawn.htmz2.0z (?:\s|//.*?\n|/[*][\w\W]*?[*]/)+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"