File: //opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/gdscript.cpython-37.pyc
B
��fw � @ sr d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZmZ dgZG dd� de�ZdS )a#
pygments.lexers.gdscript
~~~~~~~~~~~~~~~~~~~~~~~~
Lexer for GDScript.
Modified by Daniel J. Ramirez <[email protected]> based on the original
python.py.
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�include�bygroups�default�words�combined) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�
Whitespace�
GDScriptLexerc @ s� e Zd ZdZdZdZddgZdgZddgZd d
� Z de
fdee
ej
ej�fd
ee
ej
ej�fde
fdejfdefdeee
�fdefdejfdefed�deee
�dfdeee
�dfed�deej
ej�dfdeej
ej�dfdeej
ej�d fd!eej
ej�d"fd#eej
ej�ed$d�fd%eej
ej�ed$d�fd&eej
ej�ed$d �fd'eej
ej�ed$d"�fed(�ed)�ged*d+d,�efged-d.d+d/�ejfd0ejjfed1d.d+d/�ejjfgd2ejfd3ejfd4ej fd5ej!fgd6efgd6ej"d7fe#d7�gd6ej$d7fgd8ej%fge ej�e ej�d9ejd7fd:ej%fed;�gd<ejd7fd=ej%fed>�gd?ejd7fed;�de
fgd@ejd7fed>�de
fgdA�Z&dBdC� Z'dDS )Er z#
For GDScript source code.
ZGDScriptzhttps://www.godotengine.orgZgdscript�gdz*.gdztext/x-gdscriptzapplication/x-gdscriptc C s dt jfd| fd| fd| fgS )NzG%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]z[^\\\'"%\n]+z[\'"\\]�%)r
ZInterpol)Zttype� r �I/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/gdscript.py�innerstring_rules# s
zGDScriptLexer.innerstring_rulesz\nz&^(\s*)([rRuUbB]{,2})("""(?:.|\n)*?""")z&^(\s*)([rRuUbB]{,2})('''(?:.|\n)*?''')z[^\S\n]+z#.*$z[]{}:(),;[]z(\\)(\n)z\\z(in|and|or|not)\bz=!=|==|<<|>>|&&|\+=|-=|\*=|/=|%=|&=|\|=|\|\||[-~+/*%=<>&^.!|$]�keywordsz(func)(\s+)�funcnamez(class)(\s+)� classname�builtinsz!([rR]|[uUbB][rR]|[rR][uUbB])(""")�tdqsz!([rR]|[uUbB][rR]|[rR][uUbB])(''')�tsqsz([rR]|[uUbB][rR]|[rR][uUbB])(")�dqsz([rR]|[uUbB][rR]|[rR][uUbB])(')�sqsz([uUbB]?)(""")�stringescapez([uUbB]?)(''')z([uUbB]?)(")z([uUbB]?)(')�name�numbers)$�and�in�not�or�as�
breakpoint�class�
class_nameZextends�is�funcZsetget�signalZtool�const�enum�exportZonreadyZstatic�var�break�continue�if�elif�else�for�pass�return�match�while�remoteZmasterZpuppetZ
remotesyncZ
mastersyncZ
puppetsyncz\b)�suffix)GZColor8ZColorN�abs�acos�asin�assert�atan�atan2Z bytes2var�ceil�char�clamp�convert�cos�coshZ db2linearZdecimalsZdectimeZdeg2radZ dict2instZease�exp�floor�fmodZfposmodZfuncref�hashZ inst2dictZinstance_from_idZis_inf�is_nanZlerpZ linear2db�load�log�max�minZnearest_po2�powZpreload�print�print_stackZprinterrZprintrawZprintsZprinttZrad2degZ
rand_rangeZ rand_seedZrandfZrandiZ randomize�range�round�seed�sign�sin�sinh�sqrtZstepify�strZstr2var�tanr] �tanhZ
type_existZtypeofZ var2bytesZvar2str�weakref�yieldz(?<!\.))�prefixr<