3

V'íc‰	ã@sRdZddlmZmZddlmZmZmZmZm	Z	m
Z
mZdgZGdd„deƒZ
dS)a
    pygments.lexers.sieve
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for Sieve file format.

    https://tools.ietf.org/html/rfc5228
    https://tools.ietf.org/html/rfc5173
    https://tools.ietf.org/html/rfc5229
    https://tools.ietf.org/html/rfc5230
    https://tools.ietf.org/html/rfc5232
    https://tools.ietf.org/html/rfc5235
    https://tools.ietf.org/html/rfc5429
    https://tools.ietf.org/html/rfc8580

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é)Ú
RegexLexerÚbygroups)ÚCommentÚNameÚLiteralÚStringÚTextÚPunctuationÚKeywordÚ
SieveLexerc
@sžeZdZdZdZddgZdgZdefdefde	j
fd	eej
ej
ƒfd
ejfde	jfdeejejƒfd
ejfdejfdefdej
dfgdefdedfgdœZdS)rz<
    Lexer for sieve format.

    .. versionadded:: 2.6
    ZSievez*.sivz*.sieveZsievez\s+z[();,{}\[\]]z(?i)requirea(?i)(:)(addresses|all|contains|content|create|copy|comparator|count|days|detail|domain|fcc|flags|from|handle|importance|is|localpart|length|lowerfirst|lower|matches|message|mime|options|over|percent|quotewildcard|raw|regex|specialuse|subject|text|under|upperfirst|upper|value)zð(?i)(address|addflag|allof|anyof|body|discard|elsif|else|envelope|ereject|exists|false|fileinto|if|hasflag|header|keep|notify_method_capability|notify|not|redirect|reject|removeflag|setflag|size|spamtest|stop|string|true|vacation|virustest)z(?i)setz([0-9.]+)([kmgKMG])?z#.*$z/\*.*\*/z"[^"]*?"ztext:Útextz	[^.].*?\nz^\.z#pop)ÚrootrN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚ	filenamesÚaliasesrr	r
Ú	NamespacerrZTagZBuiltinZDeclarationrÚNumberrÚSingleZ	MultilinerÚtokens©rrú9/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/sieve.pyrs4
N)rZpygments.lexerrrZpygments.tokenrrrrrr	r
Ú__all__rrrrrÚ<module>s$