File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/pawn.cpython-310.pyc
o
���a� � @ 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-2021 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 de
jd fd
e
jdfde d
e
jd fde d e
jdfdefdefdefde
j
fde
jfdefdedfdejfdejfdejfdejfdejfdejfdefdefdefd ejfd!ejfd"efgd#ed$fd%ejfd&efdefd'efgd(e
jfd)e
jfd*e
j
d$fd+e
jfd,e
jfde
jd$fgd-e
jd.fd/e
jd$fd0e
fgd1�Zh d2�Zd3d4� Zd5d6� Z d7S )8r 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 K sJ t |dd�| _t� | _| jrddlm} | j�|� tj| fi |�� d S )N� sourcemodTr )� FUNCTIONS) r �smhighlighting�set�
_functions�#pygments.lexers._sourcemod_builtinsr� �updater �__init__)�self�optionsr� � r� �6/usr/lib/python3/dist-packages/pygments/lexers/pawn.pyr� 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 r� �SM_TYPESr �Typer� �Builtin)r� �text�index�token�valuer� r� r� r� u s �
�
�z&SourcePawnLexer.get_tokens_unprocessedN)!�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�_ws�_ws1r �Preprocr �Single� Multiliner
r �Charr r<