
    6                         S r SSKJrJrJrJr  SSKJrJrJ	r	J
r
JrJrJrJrJrJr  / SQr " S S\5      r " S S\5      r " S	 S
\5      rg)a  
pygments.lexers.minecraft
~~~~~~~~~~~~~~~~~~~~~~~~~

Lexers for Minecraft related languages.

SNBT. A data communication format used in Minecraft.
wiki: https://minecraft.fandom.com/wiki/NBT_format

MCFunction. The Function file for Minecraft Data packs and Add-ons.
official: https://learn.microsoft.com/en-us/minecraft/creator/documents/functionsintroduction
wiki: https://minecraft.fandom.com/wiki/Function

MCSchema. A kind of data Schema for Minecraft Add-on Development.
official: https://learn.microsoft.com/en-us/minecraft/creator/reference/content/schemasreference/
community example: https://www.mcbe-dev.net/addons/data-driven/manifest.html

:copyright: Copyright 2006-2023 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
Whitespace)	SNBTLexerMCFunctionLexerMCSchemaLexerc                   Z   \ rS rSrSrSrSrS/rS/rS/r	S\
S	4S
\4/S\4/S\
4/S\R                  4S\R                   4S\R                   4S\R"                  4S\R&                  S4S\R(                  S4/S\R*                  4S\R&                  4S\R&                  S4/S\R*                  4S\R(                  4S\R(                  S4/S\R.                  4\" S5      \" S5      \" S5      S\
S4S\
S4S \
S4/S\R.                  4\" S5      \" S5      \" S5      S\
S4S\
S	4S!\
S4/S".rS#rg$)%r      zULexer for stringified NBT, a data format used in Minecraft

.. versionadded:: 2.12.0
SNBTz,https://minecraft.fandom.com/wiki/NBT_format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____firstlineno____doc__nameurlaliases	filenames	mimetypesr   r   r   r   Constantr   FloatIntegerr   DoubleSingleEscaper
   	Attributer   tokens__static_attributes__r,       ,lib/third_party/pygments/lexers/minecraft.pyr   r      s   
 D
8ChG
II K,	
 Z 

 {#

 g../-!6<<0"FNN3 6==":;6==":;	
 V]]#6==)6==&)#
 V]]#6==)6==&)#
 DNN+K L!JK)K(K(

 DNN+JK L!K)K,K(
c:Fr@   r   c                   L   \ rS rSrSrSrSrSS/rS/rS/r	S	r
0 S
\" S5      \" S5      \" S5      \" S5      \" S5      \" S5      \" S5      /_SS\" \\R                  5      4S\R                  4S\R                   4\" S5      S\R$                  4S\R                   R&                  4/_SS\R(                  4S\R(                  4/_SS\4/_SS\
 S3\R,                  S4S\R.                  4/_SS \
 3\R,                  S!4S \R,                  S"4\" S#5      /_S"\" S$5      S%\R,                  4S&\S#4\" S5      /_S!\" S$5      S%\R6                  4S&\S#4\" S5      /_S$S'\R8                  4\" S5      S\R                   R&                  4/_SS(\4/_SS)\4S*\R>                  4S+\R                   R@                  4S,\!RD                  4S-\!RF                  4S.\!RH                  4S/\RJ                  S04S1\R.                  S24/_S0S3\RL                  4S4\RJ                  4S/\RJ                  S#4/_S2S3\RL                  4S5\R.                  4S1\R.                  S#4/_SS6\R                   4/_SS7\'S84S9\'S:4/_S;\" S5      \" S5      S<\'S#4/_S=\" S5      \" S5      S>\'S#4S?\'4/_\" S5      S@\RP                  SA4SB\RP                  SA4SC\RP                  SA4S/\RP                  SAS04S1\RP                  SAS24SD\!RH                  SA4\" S#5      /S3\RL                  4S4\RP                  4S/\RP                  S#4/S3\RL                  4S5\RP                  4S1\RP                  S#4/\" S5      SE\'SF4S?\'4\" S#5      /\" S5      SG\RR                  4SB\RR                  4\" S5      \" S5      \" S#5      /SH.Er*SIr+gJ)Kr   f   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

MCFunctionz*https://minecraft.fandom.com/wiki/Commands
mcfunctionmcfz*.mcfunctionztext/mcfunctionz[>!]r+   namescommentsr&   r%   propertyr$   	selectorsz^(\s*)([a-z_]+)z(?<=run)\s+[a-z_]+z$\b[0-9a-fA-F]+(?:-[0-9a-fA-F]+){4}\bzresource-namez[A-Za-z_][\w.#%$]+z[#%$][\w.#%$]+z#?[a-z_][a-z_.-]*:[a-z0-9_./-]+z"#?[a-z0-9_\.\-]+\/[a-z0-9_\.\-\/]+r   z^\s*(#))comments.blockcomments.block.emphasizedz#.*$rL   z^\s*#rM   zcomments.block.normalr"   zcomments.block.specialz\S+\nz@\S+z[\-~%^?!+*<>\\/|&=.]z\.\.r   z
[A-Za-z_]+z[0-7]bz%[+-]?\d*\.?\d+([eE]?[+-]?\d+)?[df]?\bz
[+-]?\d+\br   zliterals.string-doubler   zliterals.string-singler    r!   r#   z@[a-z]r   )property.curlyproperty.keyr'   )property.squarerP   rO   r)   rQ   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_\.\-/]+)rP   zproperty.key.string-doublezproperty.key.string-singlerS   rT   r,   N),r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   _block_comment_prefixr   r   r   r
   BuiltinVariabler   r7   MagicFunctionr   	Multiliner;   r   r   r   Doc	Decoratorr   r	   PseudoClassr   Byter8   r9   r:   r<   r   r=   Tagr>   r?   r,   r@   rA   r   r   f   sY    D
6CU#G I"#I #IGJJL!JK K 
I 	  *dll!CD"DLL1 5dmmDO$ #G$4$45 3 34
I6 	/? 3DMMB
7IF 	Z 
GIN 	,-Q/1B1B<>gnn%
OIX 	+,-w/@/@(*w((*ABFO	
YId 	 ,-W&&'D&!L!	"
eIp 	$,-VZZ D&!L!	&
qI| 	!dnn%O$  3 34#
}IP 	$h/
QIX 	ggnn- DMM//0$5v||DFNN+6==":;6==":;
YIr 	!V]]#6==)6==&)#
sI| 	!V]]#6==)6==&)#
}IH 	&
II@ 	 K!CDK!DE
AIR 	L!JK(
SI\ 	L!JK( ;
]In L!
 >t~~Ocd'9MN 0DE 4>>#79QR4>>#79QR v~~';<FO'
, V]]#4>>*4>>6*'
 V]]#4>>*4>>6*'
 L!%56;FO
 L! 5dhh?'2JJFO
{IFr@   r   c            #          \ rS rSrSrSrSrS/rS/rS/r	S\
4S	\R                  4S
\R                  4/\" S5      S\R                   S4S\S4\" S5      /S\
S4/S\R&                  4S\R                  S4S\R                  4/S\R&                  4S\R(                  S4S\R(                  4/S\S4\" S5      S\R,                  4S\R0                  4S\R4                  4S\R6                  4S\R8                  4S\R:                  4S\R<                  4S\4S \S4S!\S4S"\4S\R                  S#4S\R(                  S$4S%\R@                  4S&\!" \R@                  \\R:                  \\R:                  \\R:                  \\\\5      4S'\4/S(.r"S)r#g*)+r   iB  zvLexer for Minecraft Add-ons data Schemas, an interface structure standard used in Minecraft

.. versionadded:: 2.14.0
MCSchemazWhttps://learn.microsoft.com/en-us/minecraft/creator/reference/content/schemasreference/mcschemaz
*.mcschemaztext/mcschemar   z//.*?$z	/\*.*?\*/commentsandwhitespacez7/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gimuysd]+\b|\B)r"   z(?=/))r"   badregexrN   r    r   z[^\\']+r   z[^\\"]+z^(?=\s|/|<!--)slashstartsregexz
(?<=: )optz(?<=\s)[\w-]*(?=(\s+"|\n))z
0[bB][01]+z0[oO]?[0-7]+z0[xX][0-9a-fA-F]+z\d+z#(\.\d+|\d+\.\d*|\d+)([eE][-+]?\d+)?z	\.\.\.|=>zP\+\+|--|~|\?\?=?|\?|:|\\(?=\n)|(<<|>>>?|==?|!=?|(?:\*\*|\|\||&&|[-<>+*%&|^/]))=?z[{(\[;,]z[})\].]singlestringdoublestringz[\w-]*?(?=:\{?\n)z([\w-]*?)(:)(\d+)(?:(\.)(\d+)(?:(\.)(\d+)(?:(\-)((?:[^\W_]|-)*(?:\.(?:[^\W_]|-)*)*))?(?:(\+)((?:[^\W_]|-)+(?:\.(?:[^\W_]|-)+)*))?)?)?(?=:\{?\n)z.*\n)rd   rf   re   rg   rh   r+   r,   N)$r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r   r   r;   rZ   r   r   Regexr   r   r<   r:   r   Wordr   Declarationr   BinOctHexr9   r8   r   Symbolr   r>   r?   r,   r@   rA   r   r   B  sp   
 D
cClGI !I Z '7,,-"
 +,"#)<<9t12FO
 J'
 V]]#6==&)'
 V]]#6==&)'
 &89+, HMM**G,?,?@ FJJ'fjj)!6::.V^^$3V\\B ;'BCKM_a+'9:% 6==.16==.1 "6==1 `  bj  kq  kx  kx  zB  DJ  DR  DR  T\  ^d  ^l  ^l  nv  x~  xF  xF  HP  RX  Zb  dj  bk  ldOA!
5<Fr@   r   N)r1   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   r   __all__r   r   r   r,   r@   rA   <module>rs      sU   * B A* * * <F
 FRYj YxHJ Hr@   