o
    ůh	                     @   sR   d Z ddlmZmZ ddlmZmZmZmZm	Z	m
Z
mZ dgZG dd deZdS )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-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroups)CommentNameLiteralStringTextPunctuationKeyword
SieveLexerc                   @   s   e Zd ZdZdZddgZdgZdZdZde	fd	e
fd
ejfdeejejfdejfdejfdeejejfdejfdejfdefdejdfgdefde
dfgdZdS )r   z!
    Lexer for sieve format.
    Sievez*.sivz*.sievesievez=https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)z2.6z\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"[^"]*?"ztext:textz	[^.].*?\nz^\.z#pop)rootr   N)__name__
__module____qualname____doc__name	filenamesaliasesurlversion_addedr   r	   r
   	Namespacer   r   TagBuiltinDeclarationr   Numberr   Single	Multiliner   tokens r!   r!   R/var/www/Befach/backend/venv/lib/python3.10/site-packages/pygments/lexers/sieve.pyr      sR    %
N)r   pygments.lexerr   r   pygments.tokenr   r   r   r   r   r	   r
   __all__r   r!   r!   r!   r"   <module>   s
    $