U
    lufd
                     @   sZ   d Z ddl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 dgZG dd deZdS )z
    pygments.lexers.smithy
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the Smithy IDL.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupswords)TextCommentKeywordNameStringNumber
WhitespacePunctuationSmithyLexerc                   @   sZ  e Zd ZdZdZdZdgZdgZdZdZ	dZ
dZd	d
ejfdefdejfdejfdeejejejfde	 d eejejfee
dde	 d deejejfeedde	 d deejejfdeejeejeejfdejfdefe	d ejfe	ejjfdedfdedfdedfdedfdedfd edfd!ejfd"ejfd#ejfd$efd%efgiZ d&S )'r   z4
    For Smithy IDL

    .. versionadded:: 2.10
    ZSmithyz!https://awslabs.github.io/smithy/z*.smithyZsmithyz[A-Za-z0-9_\.#$-]+)ZusebyteshortintegerlongfloatdocumentdoubleZ
bigIntegerZ
bigDecimalbooleanZblobstring	timestamp)
applylistmapsetZ	structureunionresourceZ	operationZserviceZtraitrootz///.*$z//.*$z@[0-9a-zA-Z\.#-]*z(=)z^(\$version)(:)(.+)z^(namespace)(\s+z)\b^z(\s+)prefixsuffix)z/^(metadata)(\s+)((?:\S+)|(?:\"[^"]+\"))(\s*)(=)z(true|false|null)z-(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?):z\[z#pushz\]z#popz\(z\)z\{z\}z"{3}(\\\\|\n|\\")*"{3}z"(\\\\|\n|\\"|[^"])*"z'(\\\\|\n|\\'|[^'])*'z[:,]+z\s+N)!__name__
__module____qualname____doc__nameurl	filenamesaliasesZunquoted
identifierZsimple_shapesZaggregate_shapesr   Z	Multiliner   Z	Decoratorr   r   ZDeclarationZClassr   r   Constantr
   ZLabelVariabler   r	   ZDocDoubleSingler   tokens r2   r2   :/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/smithy.pyr      sn   
 
 
 
N)r'   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   __all__r   r2   r2   r2   r3   <module>   s   
(