
    %                     h    S r SSK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/r " S S\5      rg)z
pygments.lexers.savi
~~~~~~~~~~~~~~~~~~~~

Lexer for Savi.

:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
    )
RegexLexerbygroupsinclude)

WhitespaceKeywordNameStringNumberOperatorPunctuationCommentGenericError	SaviLexerc                   ~   \ rS rSrSrSrSrS/rS/r/ S\	R                  4PS\	R                  4PS	\" \\5      4PS
\R                  S4PS\R                   S4PS\R"                  4PS\" \\\R"                  5      4PS\" \\R(                  5      S4PS\R,                  4PS\4PS\R0                  4PS\R2                  4PS\R4                  4PS\" \\\R4                  5      4PS\" \\R4                  5      4PS\S4PS\S4PS\S4PS\S4PS\S4PS \" \\R,                  5      S4PS!\S4PS"\4PS#\4PS$\4PS%\4PS&\4PS'\4PS(\4PS)\4PS*\4PS+\R8                  4S,\S4S-\S4\" S5      /S.\R<                  S/4S0\R>                  4S1\R>                  4S2\R>                  4S3\R>                  4S4\R                  S4S5\R                  4S6\ 4/S0\R>                  4S1\R>                  4S2\R>                  4S7\R>                  4S\R                   S4S8\R                   4S6\ 4/S\R<                  S4\" S5      /S9.r!S:r"g;)<r       z.
For Savi source code.

.. versionadded: 2.10
Saviz!https://github.com/savi-lang/savisaviz*.saviz//.*?$z::.*?$z(\')(\w+)(?=[^\'])z\w?"string.double'string.charz(_?[A-Z]\w*)z(\.)(\s*)(_?[A-Z]\w*)z^([ \t]*)(:\w+)declz((\w+|\+|\-|\*)\!)z\b\d([\d_]*(\.[\d_]+)?)\bz\b0x([0-9a-fA-F_]+)\bz\b0b([01_]+)\bz	\w+(?=\()z(\.)(\s*)(\w+)z(@)(\w+)z\(rootz\)z#popz\{z\}z\[z(\])(\!)z\]z[,;:\.@]z(\|\>)z(\&\&|\|\||\?\?|\&\?|\|\?|\.\?)z"(\<\=\>|\=\~|\=\=|\<\=|\>\=|\<|\>)z(\+|\-|\/|\*|\%)z(\=)z(\!|\<\<|\<|\&|\|)z\b\w+\bz[ \t\r]+\n*|\n+z\b[a-z_]\w*\b(?!\!):z\nz\\\(string.interpolationz\\u[0-9a-fA-F]{4}z\\x[0-9a-fA-F]{2}z\\[bfnrt\\\']z\\""z[^\\"]+.z\\'z[^\\']+)r   r   r   r   r    N)#__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenamesr   Singler   r   r   r	   DoubleCharClassr   r   Tagr   Deletedr
   HexBinFunctionr   Declarationr   InterpolEscaper   tokens__static_attributes__r       'lib/third_party/pygments/lexers/savi.pyr   r       s    
$+#H'j)W'..!W
 '..!W hx67W /W V[[-(W" 

##W(  +z4::!NO)W. TXX&/W8 goo.9W> $V,?WD  ,EWJ &**%KWP T]]#QWV (;
DMMJKWW\ H[$--89]Wb k6"cWd k6"eWj k6"kWl k6"mWr k6"sWt H['//:FCuWv k6"wW| K }WB (CWH *84IWN -h7OWT H%UWZ [W` h'aWf 4gWl :&mWv w223[&!j&!fo	 !78V]]+V]]+'v}}V]]F#6==!Um	 V]]+V]]+'v}}V[[&!6;;Um foov&fou~&r6   N)r#   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   r   __all__r   r   r6   r7   <module>r;      s8    9 81 1 1 -"J
 Jr6   