§
    £E±cw  ã                   ó€   — 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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-2022 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                   óˆ  — e Zd ZdZdZdZddgZdgZddgZ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*¬+¦  «        efg ed,d-d*¬.¦  «        ej        fd/ej        j        f ed0d-d*¬.¦  «        ej        j        fgd1ej        fd2ej        fd3ej         fd4ej!        fgd5efgd5ej"        d6f e#d6¦  «        gd5ej$        d6fgd7ej%        fg e	ej        ¦  «         e	ej        ¦  «        d8ej        d6fd9ej%        f ed:¦  «        gd;ej        d6fd<ej%        f ed=¦  «        gd>ej        d6f ed:¦  «        d
e
fgd?ej        d6f ed=¦  «        d
e
fgd@œZ&dA„ Z'dBS )Cr   z#
    For GDScript source code.
    ÚGDScriptzhttps://www.godotengine.orgÚgdscriptÚgdz*.gdztext/x-gdscriptzapplication/x-gdscriptc                 ó2   — 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)Úttypes    ú:/usr/lib/python3/dist-packages/pygments/lexers/gdscript.pyÚinnerstring_ruleszGDScriptLexer.innerstring_rules#   s4   € ð&åŒ_ðð ˜eÐ$Ø˜Ðà�5ˆMð
ð 	
ó    z\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(?<!\.))ÚprefixrM   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                 óÂ   — d}t          j        d| ¦  «        r|dz  }t          j        d| ¦  «        r|dz  }t          j        d| ¦  «        r|dz  }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Úsearchrr   )ÚtextÚscores     r   Úanalyse_textzGDScriptLexer.analyse_text«   s|   € ØˆåŒ9ØCÀTñ
ô 
ð 	ð �S‰LˆEåŒ9ØLØñ
ô 
ð 	ð �S‰LˆEåŒ9Ð;¸TÑBÔBð 	Ø�S‰LˆEå�5˜#‰ŒÐr   N)(Ú__name__Ú
__module__Ú__qualname__Ú__doc__r'   ÚurlÚaliasesÚ	filenamesÚ	mimetypesr   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      s|  € € € € € ðð ð €DØ
'€CØ˜4Ð €GØ�€IØ"Ð$<Ð=€Ið
ð 
ð 
ð  �JÐØ6ØˆX�j &¤,°´
Ñ;Ô;ð=à6ØˆX�j &¤,°´
Ñ;Ô;ð=à˜*Ð%Ø�g”nÐ%Ø˜[Ð)Ø˜(˜( 4¨Ñ4Ô4Ð5Ø�DˆMØ! 8¤=Ð1ØMØðàˆG�JÑÔØ˜X˜X g¨zÑ:Ô:¸JÐGØ˜h˜h w°
Ñ;Ô;¸[ÐIØˆG�JÑÔØ0ØˆX�f”l F¤MÑ2Ô2Øðð 1ØˆX�f”l F¤MÑ2Ô2Øðð /ØˆX�f”l F¤MÑ2Ô2Øðð /ØˆX�f”l F¤MÑ2Ô2Øðð ØˆX�f”l F¤MÑ2Ô2ØˆX�n fÑ-Ô-ð/ð ØˆX�f”l F¤MÑ2Ô2ØˆX�n fÑ-Ô-ð/ð ØˆX�f”l F¤MÑ2Ô2ØˆX�n eÑ,Ô,ð.ð ØˆX�f”l F¤MÑ2Ô2ØˆX�n eÑ,Ô,ð.ð ˆG�F‰OŒOØˆG�IÑÔðW,
ð\ ˆUð Hð  ð!ñ !ô !ð #*ð+ð
ð ˆUð ð &0¸ð?ñ ?ô ?ð Œ\ðð BØŒ\Ô ð"àˆUð 8ð %¨Uð4ñ 4ô 4ð Œ\Ôð ð#
ð8 8¸¼ÐFØ$ f¤lÐ3Ø! 6¤:Ð.Ø�v”~Ð&ð	
ð " 4Ð(Ð)Ø% t¤}°fÐ=¸w¸wÀv¹¼ÐOØ&¨¬
°FÐ;Ð<ð?à”ðð
ð ,Ð+¨F¬MÑ:Ô:Ø+Ð+¨F¬MÑ:Ô:à�6”= &Ð)Ø˜vœ}Ð-ØˆGÐ$Ñ%Ô%ð
ð �6”= &Ð)Ø˜vœ}Ð-ØˆGÐ$Ñ%Ô%ð
ð �V”] FÐ+ØˆGÐ$Ñ%Ô%Ø�JÐð
ð �V”] FÐ+ØˆGÐ$Ñ%Ô%Ø�JÐð
ðgxð x€Fðtð ð ð ð r   )rÀ   r¸   Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   r   Ú__all__r   rÔ   r   r   ú<module>rØ      s   ððð ð 
€	€	€	ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð$ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð Ð
€ðdð dð dð dð d�Jñ dô dð dð dð dr   