File: //lib/python3/dist-packages/pygments/lexers/__pycache__/pawn.cpython-311.pyc
�
�E�c� � � � d Z ddlmZ ddlmZmZmZmZmZm Z m
Z
mZ ddlm
Z
ddgZ G d� de� � Z G d� de� � Zd S )
z�
pygments.lexers.pawn
~~~~~~~~~~~~~~~~~~~~
Lexers for the Pawn languages.
:copyright: Copyright 2006-2022 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 �B � e Zd ZdZdZdgZdgZdgZdZdZ de
j d fd
e
j dfde z d
z e
j d fde z dz e
j dfdefdefdefde
j
fde
j fdefdedfdej fdej fdej fdej fdej fdej fdefdefdefd ej fd!ej fd"efgd#ed$fd%ej fd&efdefd'efgd(e
j fd)e
j fd*e
j
d$fd+e
j fd,e
j fde
j d$fgd-e
j d.fd/e
j d$fd0e
fgd1�Zh d2�Zd3� Zd4� Z d5S )6r
z]
For SourcePawn source code with preprocessor directives.
.. versionadded:: 1.6
�
SourcePawn�spz*.spztext/x-sourcepawnz(?:\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 �any�bool�Float�Timer�APLRes�Action�Handle�Pluginr �TFCond�TFTeam�AdminId�GroupId�NetFlow�RayType�SDKType�UserMsg�DBResult�ExecType�FileType�Function�Identity�MoveType�PathType�PropType�RenderFx�SMCError�SortType� AdminFlag� EventHook� MapChange� MenuStyle� ParamType� SMCResult� SortOrder�
CookieMenu�
DBBindType�
DBPriority�
DialogType�
MenuAction�
MenuSource�
PluginInfo�
RegexError�
RenderMode�
SDKLibrary�
SortFunc2D�FeatureType�KvDataTypes�QueryCookie�ReplySource�SDKCallType�TFClassType�ConVarBounds�CookieAccess�FileTimeMode�ImmunityType�OverrideRule�OverrideType�PluginStatus�
AdmAccessMode�
EventHookMode�
FeatureStatus�
PropFieldType�
SDKPassMethod�
TopMenuAction�
TopMenuObject�AdminCachePart�ListenOverride�NominateResult�TFResourceType�TopMenuPosition�CookieMenuAction�ConVarQueryResult�SDKFuncConfSource�TopMenuObjectType�TraceEntityFilter�ConVarQueryFinishedc �� � t |dd� � | _ t � � | _ | j r ddlm} | j � |� � t j | fi |�� d S )N� sourcemodTr )� FUNCTIONS) r �smhighlighting�set�
_functions�#pygments.lexers._sourcemod_builtinsr� �updater �__init__)�self�optionsr� s �6/usr/lib/python3/dist-packages/pygments/lexers/pawn.pyr� zSourcePawnLexer.__init__k sz � �*�7�+6��>� >��� �%�%����� .�E�E�E�E�E�E��O�"�"�9�-�-�-���D�,�,�G�,�,�,�,�,� c # �� K � t j | |� � D ]H\ }}}|t u r2| j r+|| j v r
t
j }n|| j v rt j }|||fV � �Id S )N) r �get_tokens_unprocessedr r� �SM_TYPESr �Typer� �Builtin)r� �text�index�token�values r� r� z&SourcePawnLexer.get_tokens_unprocessedu s� � � � ��1�$��=�=� &� &��E�5�%���}�}��&� -���
�-�-� '�����$�/�1�1� $������%�%�%�%�%� &� &r� N)!�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�_ws�_ws1r �Preprocr �Single� Multiliner r �Charr
r>