o
    ¦Š@gg
  ã                   @   sb   d Z ddl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-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚbygroupsÚwords)ÚTextÚCommentÚKeywordÚNameÚStringÚNumberÚ
WhitespaceÚPunctuationÚSmithyLexerc                   @   sb  e Zd ZdZdZdgZdgZejej	B 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
    ÚSmithyz*.smithyÚsmithyz[A-Za-z0-9_\.#$-]+)ÚuseÚbyteÚshortÚintegerÚlongÚfloatÚdocumentÚdoubleÚ
bigIntegerÚ
bigDecimalÚbooleanÚblobÚstringÚ	timestamp)
ÚapplyÚlistÚmapÚsetÚ	structureÚunionÚresourceÚ	operationÚserviceÚ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Ú	filenamesÚaliasesÚreÚ	MULTILINEÚUNICODEÚflagsÚunquotedÚ
identifierÚsimple_shapesÚaggregate_shapesr   Ú	Multiliner   Ú	Decoratorr   r   ÚDeclarationÚClassr   r   ÚConstantr
   ÚLabelÚVariabler   r	   ÚDocÚDoubleÚSingler   Útokens© rH   rH   ú8/usr/lib/python3/dist-packages/pygments/lexers/smithy.pyr      sj    ÿ
ÿÿþÿþÿÿ
àÿ)r1   r5   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   Ú__all__r   rH   rH   rH   rI   Ú<module>   s    
(