Thu, 14 Jan 2021 18:14:15 +0100
Third Party packages
- updated Pygments to 2.7.4
7983
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
2 | """ |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
3 | pygments.lexers.sieve |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
4 | ~~~~~~~~~~~~~~~~~~~~~ |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
5 | |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
6 | Lexer for Sieve file format. |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
7 | |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
8 | https://tools.ietf.org/html/rfc5228 |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
9 | https://tools.ietf.org/html/rfc5173 |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
10 | https://tools.ietf.org/html/rfc5229 |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
11 | https://tools.ietf.org/html/rfc5230 |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
12 | https://tools.ietf.org/html/rfc5232 |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
13 | https://tools.ietf.org/html/rfc5235 |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
14 | https://tools.ietf.org/html/rfc5429 |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
15 | https://tools.ietf.org/html/rfc8580 |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
16 | |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
17 | :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
18 | :license: BSD, see LICENSE for details. |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
19 | """ |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
20 | |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
21 | from pygments.lexer import RegexLexer, bygroups |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
22 | from pygments.token import Comment, Name, Literal, String, Text, Punctuation, Keyword |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
23 | |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
24 | __all__ = ["SieveLexer"] |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
25 | |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
26 | |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
27 | class SieveLexer(RegexLexer): |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
28 | """ |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
29 | Lexer for sieve format. |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
30 | """ |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
31 | name = 'Sieve' |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
32 | filenames = ['*.siv', '*.sieve'] |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
33 | aliases = ['sieve'] |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
34 | |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
35 | tokens = { |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
36 | 'root': [ |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
37 | (r'\s+', Text), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
38 | (r'[();,{}\[\]]', Punctuation), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
39 | # import: |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
40 | (r'(?i)require', |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
41 | Keyword.Namespace), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
42 | # tags: |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
43 | (r'(?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)', |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
44 | bygroups(Name.Tag, Name.Tag)), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
45 | # tokens: |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
46 | (r'(?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)', |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
47 | Name.Builtin), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
48 | (r'(?i)set', |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
49 | Keyword.Declaration), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
50 | # number: |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
51 | (r'([0-9.]+)([kmgKMG])?', |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
52 | bygroups(Literal.Number, Literal.Number)), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
53 | # comment: |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
54 | (r'#.*$', |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
55 | Comment.Single), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
56 | (r'/\*.*\*/', |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
57 | Comment.Multiline), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
58 | # string: |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
59 | (r'"[^"]*?"', |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
60 | String), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
61 | # text block: |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
62 | (r'text:', |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
63 | Name.Tag, 'text'), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
64 | ], |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
65 | 'text': [ |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
66 | (r'[^.].*?\n', String), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
67 | (r'^\.', Punctuation, "#pop"), |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
68 | ] |
54c5cfbb1e29
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7701
diff
changeset
|
69 | } |