3
V'íc% ã @ sb d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZmZ dgZG dd deZdS )z¼
pygments.lexers.savi
~~~~~~~~~~~~~~~~~~~~
Lexer for Savi.
:copyright: Copyright 2006-2022 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 @ sî e Zd ZdZdZdZdgZdgZdej fdej fde
eefd e
jd
fde
jdfd
ejfde
eeejfde
eejdfdejfdefdejfdejfdejfde
eeejfde
eejfdedfdedfdedfdedfdedfde
eejdfd edfd!efd"efd#efd$efd%efd&efd'efd(efd)efgd*ejfd+edfd,edfedgd-e
jd.fd/e
jfd0e
jfd1e
jfd2e
jfd3e
jdfd4e
jfd5efgd/e
jfd0e
jfd1e
jfd6e
jfde
jdfd7e
jfd5efgde
jdfedgd8Z d9S ):r z4
For Savi source code.
.. versionadded: 2.10
ZSaviz!https://github.com/savi-lang/saviZsaviz*.saviz//.*?$z::.*?$z(\')(\w+)(?=[^\'])z\w?"z
string.doubleú'zstring.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\\\(zstring.interpolationz\\u[0-9a-fA-F]{4}z\\x[0-9a-fA-F]{2}z
\\[bfnrt\\\']z\\"ú"z[^\\"]+Ú.z\\'z[^\\']+)r r z
string.doublezstring.charzstring.interpolationN)!Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ filenamesr ÚSingler r