
    |e%                     h    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mZmZ dgZ G d de      Zy)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                   v   e Zd ZdZdZdZdgZdgZg dej                  fdej                  fd e
ee      fd	ej                  d
fdej                  dfdej                   fd e
eeej                         fd e
eej&                        dfdej*                  fdefdej.                  fdej0                  fdej2                  fd e
eeej2                        fd e
eej2                        fdedfdedfdedfdedfdedfd e
eej*                        dfd edfd!efd"efd#efd$efd%efd&efd'efd(efd)efd*ej6                  fd+edfd,edf ed      gd-ej:                  d.fd/ej<                  fd0ej<                  fd1ej<                  fd2ej<                  fd3ej                  dfd4ej                  fd5efgd/ej<                  fd0ej<                  fd1ej<                  fd6ej<                  fdej                  dfd7ej                  fd5efgdej:                  df ed      gd8Z y9):r   z4
  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____doc__nameurlaliases	filenamesr   Singler   r   r   r	   DoubleCharClassr   r   Tagr   Deletedr
   HexBinFunctionr   Declarationr   InterpolEscaper   tokens     6/usr/lib/python3/dist-packages/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~&r3   N)r    pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   r   __all__r   r2   r3   r4   <module>r8      s8    9 81 1 1 -"J
 Jr3   