Ë
    |í¼ew  ã                   óx   — 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y)a#  
    pygments.lexers.gdscript
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for GDScript.

    Modified by Daniel J. Ramirez <djrmuv@gmail.com> 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                   óp  — 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j6                  fd/ej6                  j8                  f ed0d-d*¬.«      ej6                  j:                  fgd1ej>                  fd2ej>                  fd3ej@                  fd4ejB                  fgd5efgd5ejD                  d6f e#d6«      gd5ejH                  d6fgd7ejJ                  fg e	ej                   «       e	ej.                  «      d8ej.                  d6fd9ejJ                  f ed:«      gd;ej                   d6fd<ejJ                  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'yB)Cr   z#
    For GDScript source code.
    ÚGDScriptzhttps://www.godotengine.orgÚgdscriptÚgdz*.gdztext/x-gdscriptzapplication/x-gdscriptc                 ó:   — 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#   s6   € ð&ä�_‰_ðð ˜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«   sd   € Øˆä�9‰9ØCÀTô
ð �S‰LˆEä�9‰9ØLØô
ð �S‰LˆEä�9‰9Ð;¸TÔ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Ù�j &§,¡,°·
±
Ó;ð=à6Ù�j &§,¡,°·
±
Ó;ð=à˜*Ð%Ø�g—n‘nÐ%Ø˜[Ð)Ø™( 4¨Ó4Ð5Ø�DˆMØ! 8§=¡=Ð1ØMØðá�JÓØ™X g¨zÓ:¸JÐGØ™h w°
Ó;¸[ÐIÙ�JÓØ0Ù�f—l‘l F§M¡MÓ2Øðð 1Ù�f—l‘l F§M¡MÓ2Øðð /Ù�f—l‘l F§M¡MÓ2Øðð /Ù�f—l‘l F§M¡MÓ2Øðð Ù�f—l‘l F§M¡MÓ2Ù�n fÓ-ð/ð Ù�f—l‘l F§M¡MÓ2Ù�n fÓ-ð/ð Ù�f—l‘l F§M¡MÓ2Ù�n eÓ,ð.ð Ù�f—l‘l F§M¡MÓ2Ù�n eÓ,ð.ñ �F‹OÙ�IÓðW,
ñ\ ð Hð  ô!ð #*ð+ð
ñ ð ð &0¸ô?ð �\‰\ðð BØ�\‰\× Ñ ð"áð 8ð %¨Uô4ð �\‰\×Ñð ð#
ð8 8¸¿¹ÐFØ$ f§l¡lÐ3Ø! 6§:¡:Ð.Ø�v—~‘~Ð&ð	
ð " 4Ð(Ð)Ø% t§}¡}°fÐ=¹wÀv»ÐOØ&¨¯
©
°FÐ;Ð<ð?à—‘ðð
ñ ,¨F¯M©MÓ:Ù+¨F¯M©MÓ:à�6—=‘= &Ð)Ø˜vŸ}™}Ð-ÙÐ$Ó%ð
ð �6—=‘= &Ð)Ø˜vŸ}™}Ð-ÙÐ$Ó%ð
ð �V—]‘] FÐ+ÙÐ$Ó%Ø�JÐð
ð �V—]‘] FÐ+ÙÐ$Ó%Ø�JÐð
ñg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�Jõ dr   