a
    Df-                     @   s   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 g dZG dd deZG dd	 d	eZG d
d deZdS )z
    pygments.lexers.actionscript
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for ActionScript and MXML.

    :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerbygroupsusingthiswordsdefault)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespace)ActionScriptLexerActionScript3Lexer	MxmlLexerc                   @   s   e Zd ZdZdZddgZdgZg dZdZdZ	e
jZd	d
efdejfdejfdejfdefdefedddefedddejfdejfedddejfedddejfdejfdejfdejfdej fdej!fdejfgiZ"dd Z#dS ) r   z'
    For ActionScript source code.
    ZActionScriptZactionscriptas*.as)zapplication/x-actionscriptztext/x-actionscriptztext/actionscriptz*https://en.wikipedia.org/wiki/ActionScriptz0.9root\s+//.*?\n	/\*.*?\*/z /(\\\\|\\[^\\]|[^/\\\n])*/[gim]*z[~^*!%&<>|+=:;,/?\\-]+z[{}\[\]();.]+)Zcaser   forZeachinwhileZdobreakreturncontinueifelsethrowtryZcatchvarwithnewZtypeof	argumentsZ
instanceofr   switchz\b)suffix)classpublicfinalZinternalZnativeoverrideprivateZ	protectedZstaticimportZextendsZ
implementsZ	interfaceZ	intrinsicr   superZdynamicfunctionconstget	namespacepackagesetz9(true|false|null|NaN|Infinity|-Infinity|undefined|Void)\b)ZAccessibilityZAccessibilityPropertiesZActionScriptVersionZActivityEventZAntiAliasTypeZApplicationDomainZAsBroadcasterArrayZAsyncErrorEventZ	AVM1MovieZBevelFilterZBitmapZ
BitmapDataZBitmapDataChannelZBitmapFilterZBitmapFilterQualityZBitmapFilterTypeZ	BlendModeZ
BlurFilterBooleanZ	ByteArrayZCameraZCapabilitiesZ	CapsStyleZClassZColorZColorMatrixFilterZColorTransformZContextMenuZContextMenuBuiltInItemsZContextMenuEventZContextMenuItemZConvultionFilterZCSMSettingsZ	DataEventDateZDefinitionErrorZDeleteObjectSampleZ
DictionaryZDisplacmentMapFilterZDisplayObjectZDisplacmentMapFilterModeZDisplayObjectContainerZDropShadowFilterZEndianEOFErrorErrorZ
ErrorEventZ	EvalErrorEventZEventDispatcherZ
EventPhaseZExternalInterfaceZ
FileFilterZFileReferenceZFileReferenceListZFocusDirectionZ
FocusEventZFontZ	FontStyleZFontTypeZ
FrameLabelZFullScreenEventFunctionZ
GlowFilterZGradientBevelFilterZGradientGlowFilterZGradientTypeZGraphicsZGridFitTypeZHTTPStatusEventZIBitmapDrawableZID3InfoZ
IDataInputZIDataOutputZ,IDynamicPropertyOutputIDynamicPropertyWriterZIEventDispatcherZIExternalizableZIllegalOperationErrorZIMEZIMEConversionModeZIMEEventintZInteractiveObjectZInterpolationMethodZInvalidSWFErrorZInvokeEventIOErrorZIOErrorEventZ
JointStyleZKeyZKeyboardZKeyboardEventZKeyLocationZLineScaleModeLoaderZLoaderContextZ
LoaderInfoZLoadVarsZLocalConnectionZLocaleZMathZMatrixMemoryErrorZ
MicrophoneZ
MorphShapeZMouseZ
MouseEventZ	MovieClipZMovieClipLoader	NamespaceZNetConnectionZNetStatusEventZ	NetStreamZNewObjectSampler   ZObjectZObjectEncodingZPixelSnappingZPointZPrintJobZPrintJobOptionsZPrintJobOrientationZProgressEventZProxyQNameZ
RangeErrorZ	RectangleReferenceErrorZRegExpZ	ResponderZSampleZSceneZScriptTimeoutErrorZSecurityZSecurityDomainZSecurityErrorZSecurityErrorEventZSecurityPanelZ	SelectionZShapeZSharedObjectZSharedObjectFlushStatusZSimpleButtonZSocketZSoundZSoundChannelZSoundLoaderContextZ
SoundMixerZSoundTransformZSpreadMethodZSpriteZ
StackFrameZStackOverflowErrorZStageZ
StageAlignZStageDisplayStateZStageQualityZStageScaleModeZ
StaticTextZStatusEventr   Z
StyleSheetZ
SWFVersionZ	SyncEventSyntaxErrorSystemZTextColorTypeZ	TextFieldZTextFieldAutoSizeZTextFieldTypeZ
TextFormatZTextFormatAlignZTextLineMetricsZTextRendererZTextSnapshotTimerZ
TimerEventZ	Transform	TypeErrorZuintZURIErrorZ	URLLoaderZURLLoaderDataFormatZ
URLRequestZURLRequestHeaderZURLRequestMethodZ	URLStreamZURLVariabelesZVerifyErrorZVideoXMLZXMLDocumentZXMLListZXMLNodeZXMLNodeTypeZ	XMLSocketZXMLUI)Z	decodeURIZdecodeURIComponentZ	encodeURIescapeevalZisFiniteZisNaNZ	isXMLNameZclearIntervalZ	fscommandZgetTimerZgetURLZ
getVersionZ
parseFloatZparseIntZsetIntervaltraceZupdateAfterEventunescape[$a-zA-Z_]\w*%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?0x[0-9a-f]+[0-9]+"(\\\\|\\[^\\]|[^"\\])*"'(\\\\|\\[^\\]|[^'\\])*'c                 C   s   dS )zThis is only used to disambiguate between ActionScript and
        ActionScript3. We return 0 here; the ActionScript3 lexer will match
        AS3 variable definitions and that will hopefully suffice.r    textrT   rT   i/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/pygments/lexers/actionscript.pyanalyse_textp   s    zActionScriptLexer.analyse_textN)$__name__
__module____qualname____doc__namealiases	filenames	mimetypesurlversion_addedreDOTALLflagsr   r	   Single	Multiliner   Regexr
   r   r   r   DeclarationConstantr   ZBuiltinr=   ZOtherr   FloatHexIntegerDoubletokensrX   rT   rT   rT   rW   r      s^   '()Nr   c                   @   s  e Zd ZdZdZdZddgZdgZg dZdZ	d	Z
e
d
 ZejejB Zdefde
 d eejejeedfde
 d e d eejeeeeeejfde
 d eeeejefde d eeeejeefdejfdejfdejfde
 d eeej fdefdejfdej!fdejfe
efde"j#fde"j$fde"j%fd ej&fd!ejfd"efgdefd#e
 d e d$ eeeeeeeejed%fd&ed'fgd(e d) eeeeejd*fded*fe'd*gd+eeee(e)eed,fd-ed,fe'd,gd.Z*d/d0 Z+d1S )2r   z)
    For ActionScript 3 source code.
    zActionScript 3zNhttps://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/index.htmlZactionscript3Zas3r   )zapplication/x-actionscript3ztext/x-actionscript3ztext/actionscript3z0.11rN   z(?:\.<\w+>)?r   z(function\s+)(z
)(\s*)(\()
funcparamsz(var|const)(\s+)(z)(\s*)(:)(\s*)()z(import|package)(\s+)((?:z|\.)+)(\s*)z(new)(\s+)(r   r   z /(\\\\|\\[^\\]|[^\\\n])*/[gisx]*z(\.)(z(case|default|for|each|in|while|do|break|return|continue|if|else|throw|try|catch|with|new|typeof|arguments|instanceof|this|switch|import|include|as|is)\bz(class|public|final|internal|native|override|private|protected|static|import|extends|implements|interface|intrinsic|return|super|dynamic|function|const|get|namespace|package|set)\bz9(true|false|null|NaN|Infinity|-Infinity|undefined|void)\bz(decodeURI|decodeURIComponent|encodeURI|escape|eval|isFinite|isNaN|isXMLName|clearInterval|fscommand|getTimer|getURL|getVersion|isFinite|parseFloat|parseInt|setInterval|trace|updateAfterEvent|unescape)\brO   rP   rQ   rR   rS   z[~^*!%&<>|+=:;,/?\\{}\[\]().-]+z(\s*)(\.\.\.)?(z	|\*)(\s*)defvalz\)typez(\s*)(:)(\s*)(z|\*)z#pop:2z(=)(\s*)([^(),]+)(\s*)(,?)#pop,)r   rp   rs   rr   c                 C   s   t d| rdS dS )Nz\w+\s*:\s*\wg333333?r   )rc   matchrU   rT   rT   rW   rX      s    zActionScript3Lexer.analyse_textN),rY   rZ   r[   r\   r]   ra   r^   r_   r`   rb   
identifierZtypeidentifierrc   rd   	MULTILINEre   r   r   r   ri   r   r=   r   r
   r   TyperB   r	   rf   rg   r   rh   	Attributerj   r   rk   rl   rm   rn   r   r   r   ro   rX   rT   rT   rT   rW   r   v   s   



(
	
>r   c                	   @   s   e Zd ZdZejejB ZdZdgZ	dgZ
dZdZdefdejfd	eeeeefd
edfdejfdejfdejdfdejfgdefdedfdefgdefdejdfdejdfgdefdedfdedfdedfgdZdS )r   zc
    For MXML markup.
    Nested AS3 in <script> tags is highlighted by the appropriate lexer.
    ZMXMLZmxmlz*.mxmlz"https://en.wikipedia.org/wiki/MXMLz1.1z[^<&]+z&\S*?;z(\<\!\[CDATA\[)(.*?)(\]\]\>)z<!--commentz	<\?.*?\?>z<![^>]*>z<\s*[\w:.-]+tagz<\s*/\s*[\w:.-]+\s*>z[^-]+z-->rt   -r   z[\w.:-]+\s*=attrz/?\s*>z".*?"z'.*?'z[^\s>]+)r   r{   r|   r~   N)rY   rZ   r[   r\   rc   rx   rd   re   r]   r^   r_   ra   rb   r   r   Entityr   r   r   r   r	   ZPreprocTagr   rz   ro   rT   rT   rT   rW   r      s@   


r   )r\   rc   Zpygments.lexerr   r   r   r   r   r   Zpygments.tokenr   r	   r
   r   r   r   r   r   r   __all__r   r   r   rT   rT   rT   rW   <module>   s   
 ,bU