File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/savi.cpython-311.pyc
�
�;f � �p � d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZmZ dgZ G d� de� � ZdS )z�
pygments.lexers.savi
~~~~~~~~~~~~~~~~~~~~
Lexer for Savi.
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� )�
RegexLexer�bygroups�include)
�
Whitespace�Keyword�Name�String�Number�Operator�Punctuation�Comment�Generic�Error� SaviLexerc � � e Zd ZdZdZdZdgZdgZdZg de j
f�de j
f�d eee
� � f�d
ej df�dej d
f�de
j f�d eeee
j � � f�d eee
j � � df�dej f�def�dej f�dej f�de
j f�d eeee
j � � f�d eee
j � � f�dedf�dedf�dedf�dedf�dedf�d eeej � � df�d!edf�d"ef�d#ef�d$ef�d%ef�d&ef�d'ef�d(ef�d)e
f�d*ef�d+ej fd,edfd-edf ed� � gd.ej d/fd0ej fd1ej fd2ej fd3ej fd4ej dfd5ej fd6e fgd0ej fd1ej fd2ej fd7ej fdej dfd8ej fd6e fgdej df ed� � gd9�Z!d:S );r z:
For Savi source code.
.. versionadded: 2.10
�Saviz!https://github.com/savi-lang/savi�saviz*.savi� z//.*?$z::.*?$z(\')(\w+)(?=[^\'])z\w?"�
string.double�'�string.charz(_?[A-Z]\w*)z(\.)(\s*)(_?[A-Z]\w*)z^([ \t]*)(:\w+)�declz((\w+|\+|\-|\*)\!)z\b\d([\d_]*(\.[\d_]+)?)\bz\b0x([0-9a-fA-F_]+)\bz\b0b([01_]+)\bz \w+(?=\()z(\.)(\s*)(\w+)z(@)(\w+)z\(�rootz\)z#popz\{z\}z\[z(\])(\!)z\]z[,;:\.@]z(\|\>)z(\&\&|\|\||\?\?|\&\?|\|\?|\.\?)z"(\<\=\>|\=\~|\=\=|\<\=|\>\=|\<|\>)z(\+|\-|\/|\*|\%)z(\=)z(\!|\<\<|\<|\&|\|)z\b\w+\bz[ \t\r]+\n*|\n+z\b[a-z_]\w*\b(?!\!)�:z\nz\\\(�string.interpolationz\\u[0-9a-fA-F]{4}z\\x[0-9a-fA-F]{2}z
\\[bfnrt\\\']z\\"�"z[^\\"]+�.z\\'z[^\\']+)r r r r r N)"�__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenames�
version_addedr
�Singler r r r �Double�Char�Classr r �Tagr �Deletedr
�Hex�Bin�Functionr �Declarationr �Interpol�Escaper �tokens� � �G/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/savi.pyr r s� � � � � � �� � �D�
-�C��h�G��
�I��M�W� �G�N�#�W�
�G�N�#�W�
����4� 8� 8�9�W�
�&�-��1�W�
�v�{�M�*�W�"