o
    Ñ­j‘  ã                   @   sr   d Z ddlZddlmZmZmZmZmZmZ ddl	m
Z
mZmZmZmZmZmZmZmZ dgZG dd„ deƒZdS )a&  
    pygments.lexers.gdscript
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for GDScript.

    Modified by Daniel J. Ramirez <djrmuv@gmail.com> based on the original
    python.py.

    :copyright: Copyright 2006-present 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 Zd ZdZdZdZddgZdgZddgZd	Z	d
d„ Z
defdeeejejƒfdeeejejƒfdefdejfdefdeeeƒfdefdejfdefedƒdeeeƒdfdeeeƒdfedƒdeejejƒdfdeejejƒdfd eejejƒd!fd"eejejƒd#fd$eejejƒed%dƒfd&eejejƒed%dƒfd'eejejƒed%d!ƒfd(eejejƒed%d#ƒfed)ƒed*ƒged+d,d-�efged.d/d,d0�ejfd1ejjfed2d/d,d0�ejjfgd3ej fd4ej fd5ej!fd6ej"fgd7efgd7ej#d8fe$d8ƒgd7ej%d8fgd9ej&fge
ejƒe
ejƒd:ejd8fd;ej&fed<ƒgd=ejd8fd>ej&fed?ƒgd@ejd8fed<ƒdefgdAejd8fed?ƒdefgdBœZ'dCdD„ Z(dES )Fr   z#
    For GDScript source code.
    ÚGDScriptzhttps://www.godotengine.orgÚgdscriptÚgdz*.gdztext/x-gdscriptzapplication/x-gdscriptÚ c                 C   s   dt jfd| fd| fd| fgS )NzG%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]z[^\\\'"%\n]+z[\'"\\]ú%)r   ÚInterpol)Úttype© r   úU/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/gdscript.pyÚinnerstring_rules$   s   þ÷zGDScriptLexer.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_nameÚextendsÚisÚfuncÚsetgetÚsignalÚtoolÚconstÚenumÚexportÚonreadyÚstaticÚvarÚbreakÚcontinueÚifÚelifÚelseÚforÚpassÚreturnÚmatchÚwhileÚremoteÚmasterÚpuppetÚ
remotesyncÚ
mastersyncÚ
puppetsyncz\b)Úsuffix)GÚColor8ÚColorNÚabsÚacosÚasinÚassertÚatanÚatan2Ú	bytes2varÚceilÚcharÚclampÚconvertÚcosÚcoshÚ	db2linearÚdecimalsÚdectimeÚdeg2radÚ	dict2instÚeaseÚexpÚfloorÚfmodÚfposmodÚfuncrefÚhashÚ	inst2dictÚinstance_from_idÚis_infÚis_nanÚlerpÚ	linear2dbÚloadÚlogÚmaxÚminÚnearest_po2ÚpowÚpreloadÚprintÚprint_stackÚprinterrÚprintrawÚprintsÚprinttÚrad2degÚ
rand_rangeÚ	rand_seedÚrandfÚrandiÚ	randomizeÚrangeÚroundÚseedÚsignÚsinÚsinhÚsqrtÚstepifyÚstrÚstr2varÚtanrŠ   ÚtanhÚ
type_existÚtypeofÚ	var2bytesÚvar2strÚweakrefÚyieldz(?<!\.))ÚprefixrK   z-((?<!\.)(self|false|true)|(PI|TAU|NAN|INF))\b)ÚboolÚintÚfloatr   ÚNodePathÚVector2ÚRect2ÚTransform2DÚVector3ÚRect3ÚPlaneÚQuatÚBasisÚ	TransformÚColorÚRIDÚObjectr–   Ú
DictionaryÚArrayÚPackedByteArrayÚPackedInt32ArrayÚPackedInt64ArrayÚPackedFloat32ArrayÚPackedFloat64ArrayÚPackedStringArrayÚPackedVector2ArrayÚPackedVector3ArrayÚPackedColorArrayÚnullÚvoidz'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?z\d+[eE][+-]?[0-9]+j?z0[xX][a-fA-F0-9]+z\d+j?z[a-zA-Z_]\w*z#popzY\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})ú"z\\\\|\\"|\\\nústrings-doubleú'z\\\\|\\'|\\\nústrings-singlez"""z''')Úrootr   r   r&   r%   r   r   r$   r³   r±   r"   r#   r    r!   c                 C   sJ   d}t  d| ¡r|d7 }t  d| ¡r|d7 }t  d| ¡r |d7 }t|dƒS )	Ng        z4func (_ready|_init|_input|_process|_unhandled_input)gš™™™™™é?z=(extends |class_name |onready |preload|load|setget|func [^_])gš™™™™™Ù?z#(var|const|enum|export|signal|tool)gš™™™™™É?g      ð?)ÚreÚsearchrp   )ÚtextÚscorer   r   r   Úanalyse_text¬   s   ÿþ
zGDScriptLexer.analyse_textN))Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   ÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedr   r   r   r   ÚAffixÚDocr	   ÚSingler   r   r
   ÚWordr   r   ÚDoubler   r   r   ÚBuiltinÚPseudoÚTyper   ÚFloatÚHexÚIntegerÚFunctionr   ÚClassÚEscapeÚtokensr¹   r   r   r   r   r      sè    ÿÿÿþþþþþþþþÕ.úúÿ
ôóÿùøïüýÿ
ý
ý
ý
ý�z)r½   rµ   Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   Ú__all__r   r   r   r   r   Ú<module>   s     ,