U
    YSh)                     @   sj   d Z ddl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 dgZdZdZdZdZG d	d deZd
S )z
    pygments.lexers.webidl
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Web IDL, including some extensions.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerdefaultincludewords)CommentKeywordNameNumberPunctuationStringTextWebIDLLexer)byteoctetbooleanz*(?:unsigned\s+)?(?:short|long(?:\s+long)?)z$(?:unrestricted\s+)?(?:float|double)Z	DOMString
ByteStringZ	USVStringErrorZDOMExceptionZ
Uint8ArrayZUint16ArrayZUint32ArrayZUint8ClampedArrayZFloat32ArrayZFloat64ArrayZArrayBufferZDataViewZ	Int8ArrayZ
Int16ArrayZ
Int32ArrayanyvoidobjectZRegExpz_?[A-Za-z][a-zA-Z0-9_-]*z	(?![\w-])z"[^"]*"c                *   @   s  e Zd ZdZdZdZdgZdgZdZde	fde
jfd	e
jfd
e
jfgeddedfde efde edfde edfde edfde edfde edfde edfeejdfg
eddefeejfdedfded fd!ed"fgedeed#feefded$fed"gedded fed"gedd%ed"fed&gedd'e efdedfded"fd%ed(fed)gedeejfd*efded+fed"gedeejfdefd%ed"fgedd,d-e d. e ejd/fed0ed1ejd2feejd2fded3fgedd4e efd%ed5fed6gd7ed8fed5gd9efed(geded:eed"fd;ed"fgeded<ed1ejd"fd=ej d"fd>ej!d"fd?ej"d"fd@ej#d"fgedeejfdAed"fgedeej$fdBedCfdAed"fgeddedfdDe efdEe edFfdGe edHfdIed"fedJgedeejfdKefdBedLfdAed"fgedMed1edNfedOed1efdPe edQfdAefedCgedeejfdAed"fgedeejfded:fdAed"fgeddAed"fedRgedeej%fded fdAed(fgedd7ed8fdAed"fgeddefdSed"fed6geddedTfdAed"fedRgedeejd"fdBedUfdedVfgededWed1efdefeejfdIed(fgededXed1efdefeejfdYed(fgedeejfdBedZfdAed"fgedeefdefdIed"fgedde ed[feejfded\fdAed"fgedeejfdKefdBed]fdAed"fgeddedfd^e efdIed"fed_gedeejfded+fdAed"fgedd`e efeejfdAed"fgda%Z&dbS )cr   z
    For Web IDL.
    zWeb IDLzhttps://www.w3.org/wiki/Web_IDLwebidlz*.webidlz2.6z\s+z(?s)/\*.*?\*/z//.*z^#.*commonz\[extended_attributespartialtypedef)r   typeZ	interfaceinterface_restenum	enum_restcallbackcallback_rest
dictionarydictionary_rest	namespacenamespace_restimplements_rest,=extended_attribute_restz\(argument_listz\]#popextended_attribute_named_restidentifier_listz\)argumentoptionalz#pop:2)argument_restr   z\.\.\.default_valuez(?:|)	type_null)sequenceZPromiseZFrozenArray)suffixtype_identifier
union_typeor)r*   r3   r   <	type_listz\?const_valuez\[\s*\])truefalsez	-InfinityInfinityNaNnullzQ-?(?:(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:[Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)z-?[1-9][0-9]*z-?0[Xx][0-9A-Fa-f]+z	-?0[0-7]*;z\{namespace_bodyreadonly	attribute)attribute_restr   const)
const_restr   z\})operation_restr   :interface_body)iterableZmaplikeZsetlikeiterable_maplike_setlike_rest)	settergetterZcreatordeleterZlegacycallerinheritZstaticZstringifierZ	jsonifier
serializerserializer_rest	operation>serialization_patternserialization_pattern_mapserialization_pattern_list)rN   rP   rD   )rN   rD   ]	enum_body)r*   r   )rS   r   dictionary_bodyrequired)dictionary_itemr   Z
implements)%r   rootr   r(   r+   r)   r-   r/   r,   r   r7   r6   r3   r0   r;   r   r$   rB   r   rJ   rE   rG   rH   rS   rL   r:   rR   rU   rV   rW   r   rY   r    r"   rZ   r\   r%   N)'__name__
__module____qualname____doc__nameurlaliases	filenamesversion_addedr   r   	MultilineSinglePreprocr   r
   _keyword_suffixr   _identifierr   Class	Decorator_stringr   r   Variablejoin_builtin_typesTyper   Constantr	   FloatIntegerHexOct	NamespaceFunctiontokens r{   r{   I/root/rtd-docs/venv/lib/python3.8/site-packages/pygments/lexers/webidl.pyr   '   s  

	
	  


  



 
 
	 	

 N)ra   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   __all__rq   rk   rj   rn   r   r{   r{   r{   r|   <module>   s   
$