Tue, 21 Apr 2020 19:47:10 +0200
Pygments: updated Pygments to 2.3.1
5713
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | """ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | pygments.lexers.monte |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | ~~~~~~~~~~~~~~~~~~~~~ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | Lexer for the Monte programming language. |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | |
7547
21b0534faebc
Pygments: updated Pygments to 2.3.1
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
8 | :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS. |
5713
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | :license: BSD, see LICENSE for details. |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | """ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | from pygments.token import Comment, Error, Keyword, Name, Number, Operator, \ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | Punctuation, String, Whitespace |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | from pygments.lexer import RegexLexer, include, words |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | __all__ = ['MonteLexer'] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | # `var` handled separately |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | # `interface` handled separately |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | _declarations = ['bind', 'def', 'fn', 'object'] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | _methods = ['method', 'to'] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | _keywords = [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | 'as', 'break', 'catch', 'continue', 'else', 'escape', 'exit', 'exports', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | 'extends', 'finally', 'for', 'guards', 'if', 'implements', 'import', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | 'in', 'match', 'meta', 'pass', 'return', 'switch', 'try', 'via', 'when', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | 'while', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | ] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | _operators = [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | # Unary |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | '~', '!', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | # Binary |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | '+', '-', '*', '/', '%', '**', '&', '|', '^', '<<', '>>', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | # Binary augmented |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | '+=', '-=', '*=', '/=', '%=', '**=', '&=', '|=', '^=', '<<=', '>>=', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | # Comparison |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | '==', '!=', '<', '<=', '>', '>=', '<=>', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | # Patterns and assignment |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | ':=', '?', '=~', '!~', '=>', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | # Calls and sends |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | '.', '<-', '->', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | ] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | _escape_pattern = ( |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | r'(?:\\x[0-9a-fA-F]{2}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|' |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | r'\\["\'\\bftnr])') |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | # _char = _escape_chars + [('.', String.Char)] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | _identifier = r'[_a-zA-Z]\w*' |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | _constants = [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | # Void constants |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | 'null', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | # Bool constants |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | 'false', 'true', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | # Double constants |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | 'Infinity', 'NaN', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | # Special objects |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | 'M', 'Ref', 'throw', 'traceln', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | ] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | _guards = [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | 'Any', 'Binding', 'Bool', 'Bytes', 'Char', 'DeepFrozen', 'Double', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | 'Empty', 'Int', 'List', 'Map', 'Near', 'NullOk', 'Same', 'Selfless', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | 'Set', 'Str', 'SubrangeGuard', 'Transparent', 'Void', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | ] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | _safeScope = [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | '_accumulateList', '_accumulateMap', '_auditedBy', '_bind', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | '_booleanFlow', '_comparer', '_equalizer', '_iterForever', '_loop', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | '_makeBytes', '_makeDouble', '_makeFinalSlot', '_makeInt', '_makeList', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | '_makeMap', '_makeMessageDesc', '_makeOrderedSpace', '_makeParamDesc', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | '_makeProtocolDesc', '_makeSourceSpan', '_makeString', '_makeVarSlot', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | '_makeVerbFacet', '_mapExtract', '_matchSame', '_quasiMatcher', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | '_slotToBinding', '_splitList', '_suchThat', '_switchFailed', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | '_validateFor', 'b__quasiParser', 'eval', 'import', 'm__quasiParser', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | 'makeBrandPair', 'makeLazySlot', 'safeScope', 'simple__quasiParser', |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | ] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | class MonteLexer(RegexLexer): |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | """ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | Lexer for the `Monte <https://monte.readthedocs.io/>`_ programming language. |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | .. versionadded:: 2.2 |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | """ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | name = 'Monte' |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | aliases = ['monte'] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | filenames = ['*.mt'] |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | tokens = { |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | 'root': [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | # Comments |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | (r'#[^\n]*\n', Comment), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | # Docstrings |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | # Apologies for the non-greedy matcher here. |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | (r'/\*\*.*?\*/', String.Doc), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | # `var` declarations |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | (r'\bvar\b', Keyword.Declaration, 'var'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | # `interface` declarations |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | (r'\binterface\b', Keyword.Declaration, 'interface'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | # method declarations |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | (words(_methods, prefix='\\b', suffix='\\b'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | Keyword, 'method'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | # All other declarations |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | (words(_declarations, prefix='\\b', suffix='\\b'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | Keyword.Declaration), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | # Keywords |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | (words(_keywords, prefix='\\b', suffix='\\b'), Keyword), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | # Literals |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | ('[+-]?0x[_0-9a-fA-F]+', Number.Hex), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | (r'[+-]?[_0-9]+\.[_0-9]*([eE][+-]?[_0-9]+)?', Number.Float), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | ('[+-]?[_0-9]+', Number.Integer), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | ("'", String.Double, 'char'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | ('"', String.Double, 'string'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | # Quasiliterals |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | ('`', String.Backtick, 'ql'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | # Operators |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | (words(_operators), Operator), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | # Verb operators |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | (_identifier + '=', Operator.Word), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | # Safe scope constants |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | (words(_constants, prefix='\\b', suffix='\\b'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | Keyword.Pseudo), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | # Safe scope guards |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | (words(_guards, prefix='\\b', suffix='\\b'), Keyword.Type), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | # All other safe scope names |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | (words(_safeScope, prefix='\\b', suffix='\\b'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | Name.Builtin), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | # Identifiers |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | (_identifier, Name), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | # Punctuation |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | (r'\(|\)|\{|\}|\[|\]|:|,', Punctuation), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | # Whitespace |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | (' +', Whitespace), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | # Definite lexer errors |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | ('=', Error), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | ], |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | 'char': [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | # It is definitely an error to have a char of width == 0. |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | ("'", Error, 'root'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | (_escape_pattern, String.Escape, 'charEnd'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | ('.', String.Char, 'charEnd'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | ], |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | 'charEnd': [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | ("'", String.Char, '#pop:2'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | # It is definitely an error to have a char of width > 1. |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | ('.', Error), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | ], |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | # The state of things coming into an interface. |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | 'interface': [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | (' +', Whitespace), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | (_identifier, Name.Class, '#pop'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | include('root'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | ], |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | # The state of things coming into a method. |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | 'method': [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | (' +', Whitespace), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | (_identifier, Name.Function, '#pop'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | include('root'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | ], |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | 'string': [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | ('"', String.Double, 'root'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | (_escape_pattern, String.Escape), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | (r'\n', String.Double), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | ('.', String.Double), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | ], |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | 'ql': [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | ('`', String.Backtick, 'root'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | (r'\$' + _escape_pattern, String.Escape), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | (r'\$\$', String.Escape), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | (r'@@', String.Escape), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | (r'\$\{', String.Interpol, 'qlNest'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | (r'@\{', String.Interpol, 'qlNest'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | (r'\$' + _identifier, Name), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | ('@' + _identifier, Name), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | ('.', String.Backtick), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | ], |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | 'qlNest': [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | (r'\}', String.Interpol, '#pop'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | include('root'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | ], |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | # The state of things immediately following `var`. |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | 'var': [ |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | (' +', Whitespace), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | (_identifier, Name.Variable, '#pop'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | include('root'), |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | ], |
6762afd9f963
Updated Pygments to 2.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | } |