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

    Lexers for MCFunction and related languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerdefaultincludebygroups)CommentKeywordLiteralNameNumberOperatorPunctuationStringTextToken
Whitespace	SNBTLexerMCFunctionLexerc                   @   s&  e Zd ZdZdZdZdgZdgZdgZde	dfd	e
fgd
efgde	fgdejfdejfdejfdejfdejdfdejdfgdejfdejfdejdfgdejfdejfdejdfgdejfedededde	dfde	dfde	dfgdejfedededde	dfde	dfd e	dfgd!Zd"S )#r   z]Lexer for stringified NBT, a data format used in Minecraft

    .. versionadded:: 2.12.0
    ZSNBTz,https://minecraft.fandom.com/wiki/NBT_formatZsnbtz*.snbtz	text/snbt\{compoundz[^\{]+\s+z[,:;](true|false)z-?\d+[eE]-?\d+z-?\d*\.\d+[fFdD]?z-?\d+[bBsSlLfFdD]?"literals.string_double'literals.string_single\\.	[^\\"\n]+#pop	[^\\'\n]+z
[A-Z_a-z]+	operators
whitespaceliteralsz#push\[list\}\])rootr    r   r!   r   r   r   r#   N)__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesr   r   r   r   Constantr
   FloatIntegerr   DoubleSingleEscaper	   	Attributer   tokens r8   r8   >/tmp/pip-unpacked-wheel-6wad6tea/pygments/lexers/mcfunction.pyr      sZ   



	c                   @   s  e Zd ZdZdZdZddgZdgZdgZdZ	e
d	e
d
e
de
de
de
de
dgdeeejfdejfdejfe
ddejfdejjfgdejfdejfgdefgde	 dejdfdejfgde	 ejdfdejdfed ge
d!d"ejfd#ed fe
dge
d!d"ejfd#ed fe
dgd$ejfe
ddejjfgd%efgd&efd'ejfd(ejjfd)e j!fd*e j"fd+e j#fd,ej$d-fd.ejd/fgd0ej%fd1ej$fd,ej$d fgd0ej%fd2ejfd.ejd fgd3ejfgd4e&d5fd6e&d7fge
de
dd8e&d fge
de
dd9e&d fd:e&fge
dd;ej'd<fd=ej'd<fd>ej'd<fd,ej'd<d-fd.ej'd<d/fd?e j#d<fed gd0ej%fd1ej'fd,ej'd fgd0ej%fd2ej'fd.ej'd fge
dd@e&dAfd:e&fed ge
ddBej(fd=ej(fe
de
ded gdCZ)dDS )Er   zLexer for the mcfunction scripting language used in Minecraft
    Modelled somewhat after the `GitHub mcfunction grammar <https://github.com/Arcensoth/language-mcfunction>`_.

    .. versionadded:: 2.12.0
    Z
MCFunctionz*https://minecraft.fandom.com/wiki/CommandsZ
mcfunctionZmcfz*.mcfunctionztext/mcfunctionz[>!]namescommentsr!   r    propertyr   	selectorsz^(\s*)([a-z_]+)z(?<=run)\s+[a-z_]+z$\b[0-9a-fA-F]+(?:-[0-9a-fA-F]+){4}\bresource-namez[A-Za-z_][A-Za-z0-9_.#%$]+z[#%$][A-Za-z0-9_.#%$]+z#?[a-z_][a-z_.-]*:[a-z0-9_./-]+z"#?[a-z0-9_\.\-]+\/[a-z0-9_\.\-\/]+r   z^\s*(#))comments.blockcomments.block.emphasizedz#.*$z^\s*#rA   comments.block.normalr   comments.block.specialz\S+z\nz@\S+z[\-~%^?!+*<>\\/|&=.]z\.\.r   z
[A-Za-z_]+z[0-7]bz%[+-]?\d*\.?\d+([eE]?[+-]?\d+)?[df]?\bz
[+-]?\d+\br   literals.string-doubler   literals.string-singler   r   r   z@[a-z]r   )property.curlyproperty.keyr"   )property.squarerG   r$   r%   ,z-#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+(?=\s*\=)property.delimiterz#?[a-z_][a-z0-9_\.\-/]+z[A-Za-z_\-\+]+z-?\d+z[:=]!?property.valuez$#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+)r&   r:   r>   r    r;   r@   rB   rA   rC   r   r!   rD   rE   r=   r<   rF   rH   rG   zproperty.key.string-doublezproperty.key.string-singlerJ   rK   N)*r'   r(   r)   r*   r+   r,   r-   r.   r/   Z_block_comment_prefixr   r   r   r	   ZBuiltinVariabler   r0   ZMagicZFunctionr   Z	Multiliner4   r   r   r   ZDocZ	Decoratorr   r   ZPseudoZClassr
   ZByter1   r2   r3   r5   r   r6   Tagr7   r8   r8   r8   r9   r   ]   s   








"
	





	 N)r*   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   r   r   r   __all__r   r   r8   r8   r8   r9   <module>   s
   
4I