Tue, 15 Sep 2020 19:09:05 +0200
Pygments: updated to 2.7.0.
7701
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
2 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
3 | pygments.lexers.javascript |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
4 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
5 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
6 | Lexers for JavaScript and related languages. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
7 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
8 | :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
9 | :license: BSD, see LICENSE for details. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
10 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
11 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
12 | import re |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
13 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
14 | from pygments.lexer import RegexLexer, include, bygroups, default, using, \ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
15 | this, words, combined |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
16 | from pygments.token import Text, Comment, Operator, Keyword, Name, String, \ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
17 | Number, Punctuation, Other |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
18 | from pygments.util import get_bool_opt |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
19 | import pygments.unistring as uni |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
20 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
21 | __all__ = ['JavascriptLexer', 'KalLexer', 'LiveScriptLexer', 'DartLexer', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
22 | 'TypeScriptLexer', 'LassoLexer', 'ObjectiveJLexer', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
23 | 'CoffeeScriptLexer', 'MaskLexer', 'EarlGreyLexer', 'JuttleLexer'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
24 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
25 | JS_IDENT_START = ('(?:[$_' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl') + |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
26 | ']|\\\\u[a-fA-F0-9]{4})') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
27 | JS_IDENT_PART = ('(?:[$' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
28 | 'Mn', 'Mc', 'Nd', 'Pc') + |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
29 | '\u200c\u200d]|\\\\u[a-fA-F0-9]{4})') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
30 | JS_IDENT = JS_IDENT_START + '(?:' + JS_IDENT_PART + ')*' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
31 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
32 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
33 | class JavascriptLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
34 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
35 | For JavaScript source code. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
36 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
37 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
38 | name = 'JavaScript' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
39 | aliases = ['js', 'javascript'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
40 | filenames = ['*.js', '*.jsm', '*.mjs'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
41 | mimetypes = ['application/javascript', 'application/x-javascript', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
42 | 'text/x-javascript', 'text/javascript'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
43 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
44 | flags = re.DOTALL | re.UNICODE | re.MULTILINE |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
45 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
46 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
47 | 'commentsandwhitespace': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
48 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
49 | (r'<!--', Comment), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
50 | (r'//.*?\n', Comment.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
51 | (r'/\*.*?\*/', Comment.Multiline) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
52 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
53 | 'slashstartsregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
54 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
55 | (r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
56 | r'([gimuy]+\b|\B)', String.Regex, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
57 | (r'(?=/)', Text, ('#pop', 'badregex')), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
58 | default('#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
59 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
60 | 'badregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
61 | (r'\n', Text, '#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
62 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
63 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
64 | (r'\A#! ?/.*?\n', Comment.Hashbang), # recognized by node.js |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
65 | (r'^(?=\s|/|<!--)', Text, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
66 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
67 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
68 | # Numeric literals |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
69 | (r'0[bB][01]+n?', Number.Bin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
70 | (r'0[oO]?[0-7]+n?', Number.Oct), # Browsers support "0o7" and "07" notations |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
71 | (r'0[xX][0-9a-fA-F]+n?', Number.Hex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
72 | (r'[0-9]+n', Number.Integer), # Javascript BigInt requires an "n" postfix |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
73 | # Javascript doesn't have actual integer literals, so every other |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
74 | # numeric literal is handled by the regex below (including "normal") |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
75 | # integers |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
76 | (r'(\.[0-9]+|[0-9]+\.[0-9]*|[0-9]+)([eE][-+]?[0-9]+)?', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
77 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
78 | (r'\.\.\.|=>', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
79 | (r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
80 | r'(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
81 | (r'[{(\[;,]', Punctuation, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
82 | (r'[})\].]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
83 | (r'(for|in|while|do|break|return|continue|switch|case|default|if|else|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
84 | r'throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
85 | r'this|of)\b', Keyword, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
86 | (r'(var|let|with|function)\b', Keyword.Declaration, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
87 | (r'(abstract|boolean|byte|char|class|const|debugger|double|enum|export|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
88 | r'extends|final|float|goto|implements|import|int|interface|long|native|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
89 | r'package|private|protected|public|short|static|super|synchronized|throws|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
90 | r'transient|volatile)\b', Keyword.Reserved), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
91 | (r'(true|false|null|NaN|Infinity|undefined)\b', Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
92 | (r'(Array|Boolean|Date|Error|Function|Math|netscape|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
93 | r'Number|Object|Packages|RegExp|String|Promise|Proxy|sun|decodeURI|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
94 | r'decodeURIComponent|encodeURI|encodeURIComponent|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
95 | r'Error|eval|isFinite|isNaN|isSafeInteger|parseFloat|parseInt|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
96 | r'document|this|window)\b', Name.Builtin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
97 | (JS_IDENT, Name.Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
98 | (r'"(\\\\|\\"|[^"])*"', String.Double), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
99 | (r"'(\\\\|\\'|[^'])*'", String.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
100 | (r'`', String.Backtick, 'interp'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
101 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
102 | 'interp': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
103 | (r'`', String.Backtick, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
104 | (r'\\\\', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
105 | (r'\\`', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
106 | (r'\$\{', String.Interpol, 'interp-inside'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
107 | (r'\$', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
108 | (r'[^`\\$]+', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
109 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
110 | 'interp-inside': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
111 | # TODO: should this include single-line comments and allow nesting strings? |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
112 | (r'\}', String.Interpol, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
113 | include('root'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
114 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
115 | # (\\\\|\\`|[^`])*`', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
116 | } |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
117 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
118 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
119 | class KalLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
120 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
121 | For `Kal`_ source code. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
122 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
123 | .. _Kal: http://rzimmerman.github.io/kal |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
124 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
125 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
126 | .. versionadded:: 2.0 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
127 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
128 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
129 | name = 'Kal' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
130 | aliases = ['kal'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
131 | filenames = ['*.kal'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
132 | mimetypes = ['text/kal', 'application/kal'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
133 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
134 | flags = re.DOTALL |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
135 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
136 | 'commentsandwhitespace': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
137 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
138 | (r'###[^#].*?###', Comment.Multiline), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
139 | (r'#(?!##[^#]).*?\n', Comment.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
140 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
141 | 'functiondef': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
142 | (r'[$a-zA-Z_][\w$]*\s*', Name.Function, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
143 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
144 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
145 | 'classdef': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
146 | (r'\binherits\s+from\b', Keyword), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
147 | (r'[$a-zA-Z_][\w$]*\s*\n', Name.Class, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
148 | (r'[$a-zA-Z_][\w$]*\s*', Name.Class), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
149 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
150 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
151 | 'listcomprehension': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
152 | (r'\]', Punctuation, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
153 | (r'\b(property|value)\b', Keyword), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
154 | include('root'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
155 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
156 | 'waitfor': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
157 | (r'\n', Punctuation, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
158 | (r'\bfrom\b', Keyword), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
159 | include('root'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
160 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
161 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
162 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
163 | (r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
164 | r'([gim]+\b|\B)', String.Regex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
165 | (r'\?|:|_(?=\n)|==?|!=|-(?!>)|[<>+*/-]=?', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
166 | Operator), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
167 | (r'\b(and|or|isnt|is|not|but|bitwise|mod|\^|xor|exists|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
168 | r'doesnt\s+exist)\b', Operator.Word), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
169 | (r'(?:\([^()]+\))?\s*>', Name.Function), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
170 | (r'[{(]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
171 | (r'\[', Punctuation, 'listcomprehension'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
172 | (r'[})\].,]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
173 | (r'\b(function|method|task)\b', Keyword.Declaration, 'functiondef'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
174 | (r'\bclass\b', Keyword.Declaration, 'classdef'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
175 | (r'\b(safe\s+)?wait\s+for\b', Keyword, 'waitfor'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
176 | (r'\b(me|this)(\.[$a-zA-Z_][\w.$]*)?\b', Name.Variable.Instance), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
177 | (r'(?<![.$])(for(\s+(parallel|series))?|in|of|while|until|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
178 | r'break|return|continue|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
179 | r'when|if|unless|else|otherwise|except\s+when|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
180 | r'throw|raise|fail\s+with|try|catch|finally|new|delete|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
181 | r'typeof|instanceof|super|run\s+in\s+parallel|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
182 | r'inherits\s+from)\b', Keyword), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
183 | (r'(?<![.$])(true|false|yes|no|on|off|null|nothing|none|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
184 | r'NaN|Infinity|undefined)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
185 | Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
186 | (r'(Array|Boolean|Date|Error|Function|Math|netscape|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
187 | r'Number|Object|Packages|RegExp|String|sun|decodeURI|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
188 | r'decodeURIComponent|encodeURI|encodeURIComponent|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
189 | r'eval|isFinite|isNaN|isSafeInteger|parseFloat|parseInt|document|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
190 | r'window|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
191 | r'print)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
192 | Name.Builtin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
193 | (r'[$a-zA-Z_][\w.$]*\s*(:|[+\-*/]?\=)?\b', Name.Variable), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
194 | (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
195 | (r'0x[0-9a-fA-F]+', Number.Hex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
196 | (r'[0-9]+', Number.Integer), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
197 | ('"""', String, 'tdqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
198 | ("'''", String, 'tsqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
199 | ('"', String, 'dqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
200 | ("'", String, 'sqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
201 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
202 | 'strings': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
203 | (r'[^#\\\'"]+', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
204 | # note that all kal strings are multi-line. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
205 | # hashmarks, quotes and backslashes must be parsed one at a time |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
206 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
207 | 'interpoling_string': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
208 | (r'\}', String.Interpol, "#pop"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
209 | include('root') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
210 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
211 | 'dqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
212 | (r'"', String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
213 | (r'\\.|\'', String), # double-quoted string don't need ' escapes |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
214 | (r'#\{', String.Interpol, "interpoling_string"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
215 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
216 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
217 | 'sqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
218 | (r"'", String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
219 | (r'#|\\.|"', String), # single quoted strings don't need " escapses |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
220 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
221 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
222 | 'tdqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
223 | (r'"""', String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
224 | (r'\\.|\'|"', String), # no need to escape quotes in triple-string |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
225 | (r'#\{', String.Interpol, "interpoling_string"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
226 | include('strings'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
227 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
228 | 'tsqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
229 | (r"'''", String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
230 | (r'#|\\.|\'|"', String), # no need to escape quotes in triple-strings |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
231 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
232 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
233 | } |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
234 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
235 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
236 | class LiveScriptLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
237 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
238 | For `LiveScript`_ source code. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
239 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
240 | .. _LiveScript: http://gkz.github.com/LiveScript/ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
241 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
242 | .. versionadded:: 1.6 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
243 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
244 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
245 | name = 'LiveScript' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
246 | aliases = ['live-script', 'livescript'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
247 | filenames = ['*.ls'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
248 | mimetypes = ['text/livescript'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
249 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
250 | flags = re.DOTALL |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
251 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
252 | 'commentsandwhitespace': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
253 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
254 | (r'/\*.*?\*/', Comment.Multiline), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
255 | (r'#.*?\n', Comment.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
256 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
257 | 'multilineregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
258 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
259 | (r'//([gim]+\b|\B)', String.Regex, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
260 | (r'/', String.Regex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
261 | (r'[^/#]+', String.Regex) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
262 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
263 | 'slashstartsregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
264 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
265 | (r'//', String.Regex, ('#pop', 'multilineregex')), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
266 | (r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
267 | r'([gim]+\b|\B)', String.Regex, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
268 | (r'/', Operator, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
269 | default('#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
270 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
271 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
272 | (r'\A(?=\s|/)', Text, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
273 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
274 | (r'(?:\([^()]+\))?[ ]*[~-]{1,2}>|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
275 | r'(?:\(?[^()\n]+\)?)?[ ]*<[~-]{1,2}', Name.Function), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
276 | (r'\+\+|&&|(?<![.$])\b(?:and|x?or|is|isnt|not)\b|\?|:|=|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
277 | r'\|\||\\(?=\n)|(<<|>>>?|==?|!=?|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
278 | r'~(?!\~?>)|-(?!\-?>)|<(?!\[)|(?<!\])>|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
279 | r'[+*`%&|^/])=?', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
280 | Operator, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
281 | (r'[{(\[;,]', Punctuation, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
282 | (r'[})\].]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
283 | (r'(?<![.$])(for|own|in|of|while|until|loop|break|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
284 | r'return|continue|switch|when|then|if|unless|else|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
285 | r'throw|try|catch|finally|new|delete|typeof|instanceof|super|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
286 | r'extends|this|class|by|const|var|to|til)\b', Keyword, |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
287 | 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
288 | (r'(?<![.$])(true|false|yes|no|on|off|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
289 | r'null|NaN|Infinity|undefined|void)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
290 | Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
291 | (r'(Array|Boolean|Date|Error|Function|Math|netscape|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
292 | r'Number|Object|Packages|RegExp|String|sun|decodeURI|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
293 | r'decodeURIComponent|encodeURI|encodeURIComponent|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
294 | r'eval|isFinite|isNaN|parseFloat|parseInt|document|window)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
295 | Name.Builtin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
296 | (r'[$a-zA-Z_][\w.\-:$]*\s*[:=]\s', Name.Variable, |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
297 | 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
298 | (r'@[$a-zA-Z_][\w.\-:$]*\s*[:=]\s', Name.Variable.Instance, |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
299 | 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
300 | (r'@', Name.Other, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
301 | (r'@?[$a-zA-Z_][\w-]*', Name.Other, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
302 | (r'[0-9]+\.[0-9]+([eE][0-9]+)?[fd]?(?:[a-zA-Z_]+)?', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
303 | (r'[0-9]+(~[0-9a-z]+)?(?:[a-zA-Z_]+)?', Number.Integer), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
304 | ('"""', String, 'tdqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
305 | ("'''", String, 'tsqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
306 | ('"', String, 'dqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
307 | ("'", String, 'sqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
308 | (r'\\\S+', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
309 | (r'<\[.*?\]>', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
310 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
311 | 'strings': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
312 | (r'[^#\\\'"]+', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
313 | # note that all coffee script strings are multi-line. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
314 | # hashmarks, quotes and backslashes must be parsed one at a time |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
315 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
316 | 'interpoling_string': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
317 | (r'\}', String.Interpol, "#pop"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
318 | include('root') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
319 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
320 | 'dqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
321 | (r'"', String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
322 | (r'\\.|\'', String), # double-quoted string don't need ' escapes |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
323 | (r'#\{', String.Interpol, "interpoling_string"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
324 | (r'#', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
325 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
326 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
327 | 'sqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
328 | (r"'", String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
329 | (r'#|\\.|"', String), # single quoted strings don't need " escapses |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
330 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
331 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
332 | 'tdqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
333 | (r'"""', String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
334 | (r'\\.|\'|"', String), # no need to escape quotes in triple-string |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
335 | (r'#\{', String.Interpol, "interpoling_string"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
336 | (r'#', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
337 | include('strings'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
338 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
339 | 'tsqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
340 | (r"'''", String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
341 | (r'#|\\.|\'|"', String), # no need to escape quotes in triple-strings |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
342 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
343 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
344 | } |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
345 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
346 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
347 | class DartLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
348 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
349 | For `Dart <http://dart.dev/>`_ source code. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
350 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
351 | .. versionadded:: 1.5 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
352 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
353 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
354 | name = 'Dart' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
355 | aliases = ['dart'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
356 | filenames = ['*.dart'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
357 | mimetypes = ['text/x-dart'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
358 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
359 | flags = re.MULTILINE | re.DOTALL |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
360 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
361 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
362 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
363 | include('string_literal'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
364 | (r'#!(.*?)$', Comment.Preproc), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
365 | (r'\b(import|export)\b', Keyword, 'import_decl'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
366 | (r'\b(library|source|part of|part)\b', Keyword), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
367 | (r'[^\S\n]+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
368 | (r'//.*?\n', Comment.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
369 | (r'/\*.*?\*/', Comment.Multiline), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
370 | (r'\b(class|extension|mixin)\b(\s+)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
371 | bygroups(Keyword.Declaration, Text), 'class'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
372 | (r'\b(as|assert|break|case|catch|const|continue|default|do|else|finally|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
373 | r'for|if|in|is|new|rethrow|return|super|switch|this|throw|try|while)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
374 | Keyword), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
375 | (r'\b(abstract|async|await|const|covariant|extends|external|factory|final|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
376 | r'get|implements|late|native|on|operator|required|set|static|sync|typedef|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
377 | r'var|with|yield)\b', Keyword.Declaration), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
378 | (r'\b(bool|double|dynamic|int|num|Function|Never|Null|Object|String|void)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
379 | Keyword.Type), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
380 | (r'\b(false|null|true)\b', Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
381 | (r'[~!%^&*+=|?:<>/-]|as\b', Operator), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
382 | (r'@[a-zA-Z_$]\w*', Name.Decorator), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
383 | (r'[a-zA-Z_$]\w*:', Name.Label), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
384 | (r'[a-zA-Z_$]\w*', Name), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
385 | (r'[(){}\[\],.;]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
386 | (r'0[xX][0-9a-fA-F]+', Number.Hex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
387 | # DIGIT+ (‘.’ DIGIT*)? EXPONENT? |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
388 | (r'\d+(\.\d*)?([eE][+-]?\d+)?', Number), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
389 | (r'\.\d+([eE][+-]?\d+)?', Number), # ‘.’ DIGIT+ EXPONENT? |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
390 | (r'\n', Text) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
391 | # pseudo-keyword negate intentionally left out |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
392 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
393 | 'class': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
394 | (r'[a-zA-Z_$]\w*', Name.Class, '#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
395 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
396 | 'import_decl': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
397 | include('string_literal'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
398 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
399 | (r'\b(as|deferred|show|hide)\b', Keyword), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
400 | (r'[a-zA-Z_$]\w*', Name), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
401 | (r'\,', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
402 | (r'\;', Punctuation, '#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
403 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
404 | 'string_literal': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
405 | # Raw strings. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
406 | (r'r"""([\w\W]*?)"""', String.Double), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
407 | (r"r'''([\w\W]*?)'''", String.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
408 | (r'r"(.*?)"', String.Double), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
409 | (r"r'(.*?)'", String.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
410 | # Normal Strings. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
411 | (r'"""', String.Double, 'string_double_multiline'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
412 | (r"'''", String.Single, 'string_single_multiline'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
413 | (r'"', String.Double, 'string_double'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
414 | (r"'", String.Single, 'string_single') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
415 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
416 | 'string_common': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
417 | (r"\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\{[0-9A-Fa-f]*\}|[a-z'\"$\\])", |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
418 | String.Escape), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
419 | (r'(\$)([a-zA-Z_]\w*)', bygroups(String.Interpol, Name)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
420 | (r'(\$\{)(.*?)(\})', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
421 | bygroups(String.Interpol, using(this), String.Interpol)) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
422 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
423 | 'string_double': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
424 | (r'"', String.Double, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
425 | (r'[^"$\\\n]+', String.Double), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
426 | include('string_common'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
427 | (r'\$+', String.Double) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
428 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
429 | 'string_double_multiline': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
430 | (r'"""', String.Double, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
431 | (r'[^"$\\]+', String.Double), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
432 | include('string_common'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
433 | (r'(\$|\")+', String.Double) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
434 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
435 | 'string_single': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
436 | (r"'", String.Single, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
437 | (r"[^'$\\\n]+", String.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
438 | include('string_common'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
439 | (r'\$+', String.Single) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
440 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
441 | 'string_single_multiline': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
442 | (r"'''", String.Single, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
443 | (r'[^\'$\\]+', String.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
444 | include('string_common'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
445 | (r'(\$|\')+', String.Single) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
446 | ] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
447 | } |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
448 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
449 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
450 | class TypeScriptLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
451 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
452 | For `TypeScript <http://typescriptlang.org/>`_ source code. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
453 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
454 | .. versionadded:: 1.6 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
455 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
456 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
457 | name = 'TypeScript' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
458 | aliases = ['ts', 'typescript'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
459 | filenames = ['*.ts', '*.tsx'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
460 | mimetypes = ['text/x-typescript'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
461 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
462 | flags = re.DOTALL | re.MULTILINE |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
463 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
464 | # Higher priority than the TypoScriptLexer, as TypeScript is far more |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
465 | # common these days |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
466 | priority = 0.5 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
467 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
468 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
469 | 'commentsandwhitespace': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
470 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
471 | (r'<!--', Comment), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
472 | (r'//.*?\n', Comment.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
473 | (r'/\*.*?\*/', Comment.Multiline) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
474 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
475 | 'slashstartsregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
476 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
477 | (r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
478 | r'([gim]+\b|\B)', String.Regex, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
479 | (r'(?=/)', Text, ('#pop', 'badregex')), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
480 | default('#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
481 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
482 | 'badregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
483 | (r'\n', Text, '#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
484 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
485 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
486 | (r'^(?=\s|/|<!--)', Text, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
487 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
488 | (r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
489 | r'(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
490 | (r'[{(\[;,]', Punctuation, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
491 | (r'[})\].]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
492 | (r'(for|in|while|do|break|return|continue|switch|case|default|if|else|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
493 | r'throw|try|catch|finally|new|delete|typeof|instanceof|void|of|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
494 | r'this)\b', Keyword, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
495 | (r'(var|let|with|function)\b', Keyword.Declaration, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
496 | (r'(abstract|boolean|byte|char|class|const|debugger|double|enum|export|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
497 | r'extends|final|float|goto|implements|import|int|interface|long|native|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
498 | r'package|private|protected|public|short|static|super|synchronized|throws|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
499 | r'transient|volatile)\b', Keyword.Reserved), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
500 | (r'(true|false|null|NaN|Infinity|undefined)\b', Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
501 | (r'(Array|Boolean|Date|Error|Function|Math|netscape|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
502 | r'Number|Object|Packages|RegExp|String|sun|decodeURI|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
503 | r'decodeURIComponent|encodeURI|encodeURIComponent|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
504 | r'Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
505 | r'window)\b', Name.Builtin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
506 | # Match stuff like: module name {...} |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
507 | (r'\b(module)(\s*)(\s*[\w?.$][\w?.$]*)(\s*)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
508 | bygroups(Keyword.Reserved, Text, Name.Other, Text), 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
509 | # Match variable type keywords |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
510 | (r'\b(string|bool|number)\b', Keyword.Type), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
511 | # Match stuff like: constructor |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
512 | (r'\b(constructor|declare|interface|as|AS)\b', Keyword.Reserved), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
513 | # Match stuff like: super(argument, list) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
514 | (r'(super)(\s*)(\([\w,?.$\s]+\s*\))', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
515 | bygroups(Keyword.Reserved, Text), 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
516 | # Match stuff like: function() {...} |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
517 | (r'([a-zA-Z_?.$][\w?.$]*)\(\) \{', Name.Other, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
518 | # Match stuff like: (function: return type) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
519 | (r'([\w?.$][\w?.$]*)(\s*:\s*)([\w?.$][\w?.$]*)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
520 | bygroups(Name.Other, Text, Keyword.Type)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
521 | (r'[$a-zA-Z_]\w*', Name.Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
522 | (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
523 | (r'0x[0-9a-fA-F]+', Number.Hex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
524 | (r'[0-9]+', Number.Integer), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
525 | (r'"(\\\\|\\"|[^"])*"', String.Double), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
526 | (r"'(\\\\|\\'|[^'])*'", String.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
527 | (r'`', String.Backtick, 'interp'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
528 | # Match stuff like: Decorators |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
529 | (r'@\w+', Keyword.Declaration), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
530 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
531 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
532 | # The 'interp*' rules match those in JavascriptLexer. Changes made |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
533 | # there should be reflected here as well. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
534 | 'interp': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
535 | (r'`', String.Backtick, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
536 | (r'\\\\', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
537 | (r'\\`', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
538 | (r'\$\{', String.Interpol, 'interp-inside'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
539 | (r'\$', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
540 | (r'[^`\\$]+', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
541 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
542 | 'interp-inside': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
543 | # TODO: should this include single-line comments and allow nesting strings? |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
544 | (r'\}', String.Interpol, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
545 | include('root'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
546 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
547 | } |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
548 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
549 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
550 | class LassoLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
551 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
552 | For `Lasso <http://www.lassosoft.com/>`_ source code, covering both Lasso 9 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
553 | syntax and LassoScript for Lasso 8.6 and earlier. For Lasso embedded in |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
554 | HTML, use the `LassoHtmlLexer`. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
555 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
556 | Additional options accepted: |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
557 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
558 | `builtinshighlighting` |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
559 | If given and ``True``, highlight builtin types, traits, methods, and |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
560 | members (default: ``True``). |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
561 | `requiredelimiters` |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
562 | If given and ``True``, only highlight code between delimiters as Lasso |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
563 | (default: ``False``). |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
564 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
565 | .. versionadded:: 1.6 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
566 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
567 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
568 | name = 'Lasso' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
569 | aliases = ['lasso', 'lassoscript'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
570 | filenames = ['*.lasso', '*.lasso[89]'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
571 | alias_filenames = ['*.incl', '*.inc', '*.las'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
572 | mimetypes = ['text/x-lasso'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
573 | flags = re.IGNORECASE | re.DOTALL | re.MULTILINE |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
574 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
575 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
576 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
577 | (r'^#![ \S]+lasso9\b', Comment.Preproc, 'lasso'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
578 | (r'(?=\[|<)', Other, 'delimiters'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
579 | (r'\s+', Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
580 | default(('delimiters', 'lassofile')), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
581 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
582 | 'delimiters': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
583 | (r'\[no_square_brackets\]', Comment.Preproc, 'nosquarebrackets'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
584 | (r'\[noprocess\]', Comment.Preproc, 'noprocess'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
585 | (r'\[', Comment.Preproc, 'squarebrackets'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
586 | (r'<\?(lasso(script)?|=)', Comment.Preproc, 'anglebrackets'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
587 | (r'<(!--.*?-->)?', Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
588 | (r'[^[<]+', Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
589 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
590 | 'nosquarebrackets': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
591 | (r'\[noprocess\]', Comment.Preproc, 'noprocess'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
592 | (r'\[', Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
593 | (r'<\?(lasso(script)?|=)', Comment.Preproc, 'anglebrackets'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
594 | (r'<(!--.*?-->)?', Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
595 | (r'[^[<]+', Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
596 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
597 | 'noprocess': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
598 | (r'\[/noprocess\]', Comment.Preproc, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
599 | (r'\[', Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
600 | (r'[^[]', Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
601 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
602 | 'squarebrackets': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
603 | (r'\]', Comment.Preproc, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
604 | include('lasso'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
605 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
606 | 'anglebrackets': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
607 | (r'\?>', Comment.Preproc, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
608 | include('lasso'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
609 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
610 | 'lassofile': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
611 | (r'\]|\?>', Comment.Preproc, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
612 | include('lasso'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
613 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
614 | 'whitespacecomments': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
615 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
616 | (r'//.*?\n', Comment.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
617 | (r'/\*\*!.*?\*/', String.Doc), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
618 | (r'/\*.*?\*/', Comment.Multiline), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
619 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
620 | 'lasso': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
621 | # whitespace/comments |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
622 | include('whitespacecomments'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
623 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
624 | # literals |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
625 | (r'\d*\.\d+(e[+-]?\d+)?', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
626 | (r'0x[\da-f]+', Number.Hex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
627 | (r'\d+', Number.Integer), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
628 | (r'(infinity|NaN)\b', Number), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
629 | (r"'", String.Single, 'singlestring'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
630 | (r'"', String.Double, 'doublestring'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
631 | (r'`[^`]*`', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
632 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
633 | # names |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
634 | (r'\$[a-z_][\w.]*', Name.Variable), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
635 | (r'#([a-z_][\w.]*|\d+\b)', Name.Variable.Instance), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
636 | (r"(\.\s*)('[a-z_][\w.]*')", |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
637 | bygroups(Name.Builtin.Pseudo, Name.Variable.Class)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
638 | (r"(self)(\s*->\s*)('[a-z_][\w.]*')", |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
639 | bygroups(Name.Builtin.Pseudo, Operator, Name.Variable.Class)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
640 | (r'(\.\.?\s*)([a-z_][\w.]*(=(?!=))?)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
641 | bygroups(Name.Builtin.Pseudo, Name.Other.Member)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
642 | (r'(->\\?\s*|&\s*)([a-z_][\w.]*(=(?!=))?)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
643 | bygroups(Operator, Name.Other.Member)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
644 | (r'(?<!->)(self|inherited|currentcapture|givenblock)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
645 | Name.Builtin.Pseudo), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
646 | (r'-(?!infinity)[a-z_][\w.]*', Name.Attribute), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
647 | (r'::\s*[a-z_][\w.]*', Name.Label), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
648 | (r'(error_(code|msg)_\w+|Error_AddError|Error_ColumnRestriction|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
649 | r'Error_DatabaseConnectionUnavailable|Error_DatabaseTimeout|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
650 | r'Error_DeleteError|Error_FieldRestriction|Error_FileNotFound|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
651 | r'Error_InvalidDatabase|Error_InvalidPassword|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
652 | r'Error_InvalidUsername|Error_ModuleNotFound|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
653 | r'Error_NoError|Error_NoPermission|Error_OutOfMemory|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
654 | r'Error_ReqColumnMissing|Error_ReqFieldMissing|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
655 | r'Error_RequiredColumnMissing|Error_RequiredFieldMissing|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
656 | r'Error_UpdateError)\b', Name.Exception), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
657 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
658 | # definitions |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
659 | (r'(define)(\s+)([a-z_][\w.]*)(\s*=>\s*)(type|trait|thread)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
660 | bygroups(Keyword.Declaration, Text, Name.Class, Operator, Keyword)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
661 | (r'(define)(\s+)([a-z_][\w.]*)(\s*->\s*)([a-z_][\w.]*=?|[-+*/%])', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
662 | bygroups(Keyword.Declaration, Text, Name.Class, Operator, |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
663 | Name.Function), 'signature'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
664 | (r'(define)(\s+)([a-z_][\w.]*)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
665 | bygroups(Keyword.Declaration, Text, Name.Function), 'signature'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
666 | (r'(public|protected|private|provide)(\s+)(([a-z_][\w.]*=?|[-+*/%])' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
667 | r'(?=\s*\())', bygroups(Keyword, Text, Name.Function), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
668 | 'signature'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
669 | (r'(public|protected|private|provide)(\s+)([a-z_][\w.]*)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
670 | bygroups(Keyword, Text, Name.Function)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
671 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
672 | # keywords |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
673 | (r'(true|false|none|minimal|full|all|void)\b', Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
674 | (r'(local|var|variable|global|data(?=\s))\b', Keyword.Declaration), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
675 | (r'(array|date|decimal|duration|integer|map|pair|string|tag|xml|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
676 | r'null|boolean|bytes|keyword|list|locale|queue|set|stack|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
677 | r'staticarray)\b', Keyword.Type), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
678 | (r'([a-z_][\w.]*)(\s+)(in)\b', bygroups(Name, Text, Keyword)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
679 | (r'(let|into)(\s+)([a-z_][\w.]*)', bygroups(Keyword, Text, Name)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
680 | (r'require\b', Keyword, 'requiresection'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
681 | (r'(/?)(Namespace_Using)\b', bygroups(Punctuation, Keyword.Namespace)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
682 | (r'(/?)(Cache|Database_Names|Database_SchemaNames|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
683 | r'Database_TableNames|Define_Tag|Define_Type|Email_Batch|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
684 | r'Encode_Set|HTML_Comment|Handle|Handle_Error|Header|If|Inline|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
685 | r'Iterate|LJAX_Target|Link|Link_CurrentAction|Link_CurrentGroup|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
686 | r'Link_CurrentRecord|Link_Detail|Link_FirstGroup|Link_FirstRecord|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
687 | r'Link_LastGroup|Link_LastRecord|Link_NextGroup|Link_NextRecord|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
688 | r'Link_PrevGroup|Link_PrevRecord|Log|Loop|Output_None|Portal|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
689 | r'Private|Protect|Records|Referer|Referrer|Repeating|ResultSet|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
690 | r'Rows|Search_Args|Search_Arguments|Select|Sort_Args|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
691 | r'Sort_Arguments|Thread_Atomic|Value_List|While|Abort|Case|Else|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
692 | r'Fail_If|Fail_IfNot|Fail|If_Empty|If_False|If_Null|If_True|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
693 | r'Loop_Abort|Loop_Continue|Loop_Count|Params|Params_Up|Return|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
694 | r'Return_Value|Run_Children|SOAP_DefineTag|SOAP_LastRequest|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
695 | r'SOAP_LastResponse|Tag_Name|ascending|average|by|define|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
696 | r'descending|do|equals|frozen|group|handle_failure|import|in|into|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
697 | r'join|let|match|max|min|on|order|parent|protected|provide|public|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
698 | r'require|returnhome|skip|split_thread|sum|take|thread|to|trait|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
699 | r'type|where|with|yield|yieldhome)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
700 | bygroups(Punctuation, Keyword)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
701 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
702 | # other |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
703 | (r',', Punctuation, 'commamember'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
704 | (r'(and|or|not)\b', Operator.Word), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
705 | (r'([a-z_][\w.]*)(\s*::\s*[a-z_][\w.]*)?(\s*=(?!=))', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
706 | bygroups(Name, Name.Label, Operator)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
707 | (r'(/?)([\w.]+)', bygroups(Punctuation, Name.Other)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
708 | (r'(=)(n?bw|n?ew|n?cn|lte?|gte?|n?eq|n?rx|ft)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
709 | bygroups(Operator, Operator.Word)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
710 | (r':=|[-+*/%=<>&|!?\\]+', Operator), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
711 | (r'[{}():;,@^]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
712 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
713 | 'singlestring': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
714 | (r"'", String.Single, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
715 | (r"[^'\\]+", String.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
716 | include('escape'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
717 | (r"\\", String.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
718 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
719 | 'doublestring': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
720 | (r'"', String.Double, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
721 | (r'[^"\\]+', String.Double), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
722 | include('escape'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
723 | (r'\\', String.Double), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
724 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
725 | 'escape': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
726 | (r'\\(U[\da-f]{8}|u[\da-f]{4}|x[\da-f]{1,2}|[0-7]{1,3}|:[^:\n\r]+:|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
727 | r'[abefnrtv?"\'\\]|$)', String.Escape), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
728 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
729 | 'signature': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
730 | (r'=>', Operator, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
731 | (r'\)', Punctuation, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
732 | (r'[(,]', Punctuation, 'parameter'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
733 | include('lasso'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
734 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
735 | 'parameter': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
736 | (r'\)', Punctuation, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
737 | (r'-?[a-z_][\w.]*', Name.Attribute, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
738 | (r'\.\.\.', Name.Builtin.Pseudo), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
739 | include('lasso'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
740 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
741 | 'requiresection': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
742 | (r'(([a-z_][\w.]*=?|[-+*/%])(?=\s*\())', Name, 'requiresignature'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
743 | (r'(([a-z_][\w.]*=?|[-+*/%])(?=(\s*::\s*[\w.]+)?\s*,))', Name), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
744 | (r'[a-z_][\w.]*=?|[-+*/%]', Name, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
745 | (r'::\s*[a-z_][\w.]*', Name.Label), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
746 | (r',', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
747 | include('whitespacecomments'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
748 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
749 | 'requiresignature': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
750 | (r'(\)(?=(\s*::\s*[\w.]+)?\s*,))', Punctuation, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
751 | (r'\)', Punctuation, '#pop:2'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
752 | (r'-?[a-z_][\w.]*', Name.Attribute), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
753 | (r'::\s*[a-z_][\w.]*', Name.Label), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
754 | (r'\.\.\.', Name.Builtin.Pseudo), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
755 | (r'[(,]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
756 | include('whitespacecomments'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
757 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
758 | 'commamember': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
759 | (r'(([a-z_][\w.]*=?|[-+*/%])' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
760 | r'(?=\s*(\(([^()]*\([^()]*\))*[^)]*\)\s*)?(::[\w.\s]+)?=>))', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
761 | Name.Function, 'signature'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
762 | include('whitespacecomments'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
763 | default('#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
764 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
765 | } |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
766 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
767 | def __init__(self, **options): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
768 | self.builtinshighlighting = get_bool_opt( |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
769 | options, 'builtinshighlighting', True) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
770 | self.requiredelimiters = get_bool_opt( |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
771 | options, 'requiredelimiters', False) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
772 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
773 | self._builtins = set() |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
774 | self._members = set() |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
775 | if self.builtinshighlighting: |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
776 | from pygments.lexers._lasso_builtins import BUILTINS, MEMBERS |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
777 | for key, value in BUILTINS.items(): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
778 | self._builtins.update(value) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
779 | for key, value in MEMBERS.items(): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
780 | self._members.update(value) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
781 | RegexLexer.__init__(self, **options) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
782 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
783 | def get_tokens_unprocessed(self, text): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
784 | stack = ['root'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
785 | if self.requiredelimiters: |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
786 | stack.append('delimiters') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
787 | for index, token, value in \ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
788 | RegexLexer.get_tokens_unprocessed(self, text, stack): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
789 | if (token is Name.Other and value.lower() in self._builtins or |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
790 | token is Name.Other.Member and |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
791 | value.lower().rstrip('=') in self._members): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
792 | yield index, Name.Builtin, value |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
793 | continue |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
794 | yield index, token, value |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
795 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
796 | def analyse_text(text): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
797 | rv = 0.0 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
798 | if 'bin/lasso9' in text: |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
799 | rv += 0.8 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
800 | if re.search(r'<\?lasso', text, re.I): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
801 | rv += 0.4 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
802 | if re.search(r'local\(', text, re.I): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
803 | rv += 0.4 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
804 | return rv |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
805 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
806 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
807 | class ObjectiveJLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
808 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
809 | For Objective-J source code with preprocessor directives. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
810 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
811 | .. versionadded:: 1.3 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
812 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
813 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
814 | name = 'Objective-J' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
815 | aliases = ['objective-j', 'objectivej', 'obj-j', 'objj'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
816 | filenames = ['*.j'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
817 | mimetypes = ['text/x-objective-j'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
818 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
819 | #: optional Comment or Whitespace |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
820 | _ws = r'(?:\s|//.*?\n|/[*].*?[*]/)*' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
821 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
822 | flags = re.DOTALL | re.MULTILINE |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
823 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
824 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
825 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
826 | include('whitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
827 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
828 | # function definition |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
829 | (r'^(' + _ws + r'[+-]' + _ws + r')([(a-zA-Z_].*?[^(])(' + _ws + r'\{)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
830 | bygroups(using(this), using(this, state='function_signature'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
831 | using(this))), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
832 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
833 | # class definition |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
834 | (r'(@interface|@implementation)(\s+)', bygroups(Keyword, Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
835 | 'classname'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
836 | (r'(@class|@protocol)(\s*)', bygroups(Keyword, Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
837 | 'forward_classname'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
838 | (r'(\s*)(@end)(\s*)', bygroups(Text, Keyword, Text)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
839 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
840 | include('statements'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
841 | ('[{()}]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
842 | (';', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
843 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
844 | 'whitespace': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
845 | (r'(@import)(\s+)("(?:\\\\|\\"|[^"])*")', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
846 | bygroups(Comment.Preproc, Text, String.Double)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
847 | (r'(@import)(\s+)(<(?:\\\\|\\>|[^>])*>)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
848 | bygroups(Comment.Preproc, Text, String.Double)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
849 | (r'(#(?:include|import))(\s+)("(?:\\\\|\\"|[^"])*")', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
850 | bygroups(Comment.Preproc, Text, String.Double)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
851 | (r'(#(?:include|import))(\s+)(<(?:\\\\|\\>|[^>])*>)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
852 | bygroups(Comment.Preproc, Text, String.Double)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
853 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
854 | (r'#if\s+0', Comment.Preproc, 'if0'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
855 | (r'#', Comment.Preproc, 'macro'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
856 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
857 | (r'\n', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
858 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
859 | (r'\\\n', Text), # line continuation |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
860 | (r'//(\n|(.|\n)*?[^\\]\n)', Comment.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
861 | (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
862 | (r'<!--', Comment), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
863 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
864 | 'slashstartsregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
865 | include('whitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
866 | (r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
867 | r'([gim]+\b|\B)', String.Regex, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
868 | (r'(?=/)', Text, ('#pop', 'badregex')), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
869 | default('#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
870 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
871 | 'badregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
872 | (r'\n', Text, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
873 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
874 | 'statements': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
875 | (r'(L|@)?"', String, 'string'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
876 | (r"(L|@)?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'", |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
877 | String.Char), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
878 | (r'"(\\\\|\\"|[^"])*"', String.Double), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
879 | (r"'(\\\\|\\'|[^'])*'", String.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
880 | (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
881 | (r'(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
882 | (r'0x[0-9a-fA-F]+[Ll]?', Number.Hex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
883 | (r'0[0-7]+[Ll]?', Number.Oct), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
884 | (r'\d+[Ll]?', Number.Integer), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
885 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
886 | (r'^(?=\s|/|<!--)', Text, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
887 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
888 | (r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
889 | r'(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
890 | Operator, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
891 | (r'[{(\[;,]', Punctuation, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
892 | (r'[})\].]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
893 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
894 | (r'(for|in|while|do|break|return|continue|switch|case|default|if|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
895 | r'else|throw|try|catch|finally|new|delete|typeof|instanceof|void|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
896 | r'prototype|__proto__)\b', Keyword, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
897 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
898 | (r'(var|with|function)\b', Keyword.Declaration, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
899 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
900 | (r'(@selector|@private|@protected|@public|@encode|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
901 | r'@synchronized|@try|@throw|@catch|@finally|@end|@property|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
902 | r'@synthesize|@dynamic|@for|@accessors|new)\b', Keyword), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
903 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
904 | (r'(int|long|float|short|double|char|unsigned|signed|void|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
905 | r'id|BOOL|bool|boolean|IBOutlet|IBAction|SEL|@outlet|@action)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
906 | Keyword.Type), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
907 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
908 | (r'(self|super)\b', Name.Builtin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
909 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
910 | (r'(TRUE|YES|FALSE|NO|Nil|nil|NULL)\b', Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
911 | (r'(true|false|null|NaN|Infinity|undefined)\b', Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
912 | (r'(ABS|ASIN|ACOS|ATAN|ATAN2|SIN|COS|TAN|EXP|POW|CEIL|FLOOR|ROUND|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
913 | r'MIN|MAX|RAND|SQRT|E|LN2|LN10|LOG2E|LOG10E|PI|PI2|PI_2|SQRT1_2|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
914 | r'SQRT2)\b', Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
915 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
916 | (r'(Array|Boolean|Date|Error|Function|Math|netscape|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
917 | r'Number|Object|Packages|RegExp|String|sun|decodeURI|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
918 | r'decodeURIComponent|encodeURI|encodeURIComponent|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
919 | r'Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
920 | r'window)\b', Name.Builtin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
921 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
922 | (r'([$a-zA-Z_]\w*)(' + _ws + r')(?=\()', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
923 | bygroups(Name.Function, using(this))), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
924 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
925 | (r'[$a-zA-Z_]\w*', Name), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
926 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
927 | 'classname': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
928 | # interface definition that inherits |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
929 | (r'([a-zA-Z_]\w*)(' + _ws + r':' + _ws + |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
930 | r')([a-zA-Z_]\w*)?', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
931 | bygroups(Name.Class, using(this), Name.Class), '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
932 | # interface definition for a category |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
933 | (r'([a-zA-Z_]\w*)(' + _ws + r'\()([a-zA-Z_]\w*)(\))', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
934 | bygroups(Name.Class, using(this), Name.Label, Text), '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
935 | # simple interface / implementation |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
936 | (r'([a-zA-Z_]\w*)', Name.Class, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
937 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
938 | 'forward_classname': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
939 | (r'([a-zA-Z_]\w*)(\s*,\s*)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
940 | bygroups(Name.Class, Text), '#push'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
941 | (r'([a-zA-Z_]\w*)(\s*;?)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
942 | bygroups(Name.Class, Text), '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
943 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
944 | 'function_signature': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
945 | include('whitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
946 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
947 | # start of a selector w/ parameters |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
948 | (r'(\(' + _ws + r')' # open paren |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
949 | r'([a-zA-Z_]\w+)' # return type |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
950 | r'(' + _ws + r'\)' + _ws + r')' # close paren |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
951 | r'([$a-zA-Z_]\w+' + _ws + r':)', # function name |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
952 | bygroups(using(this), Keyword.Type, using(this), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
953 | Name.Function), 'function_parameters'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
954 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
955 | # no-param function |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
956 | (r'(\(' + _ws + r')' # open paren |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
957 | r'([a-zA-Z_]\w+)' # return type |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
958 | r'(' + _ws + r'\)' + _ws + r')' # close paren |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
959 | r'([$a-zA-Z_]\w+)', # function name |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
960 | bygroups(using(this), Keyword.Type, using(this), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
961 | Name.Function), "#pop"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
962 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
963 | # no return type given, start of a selector w/ parameters |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
964 | (r'([$a-zA-Z_]\w+' + _ws + r':)', # function name |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
965 | bygroups(Name.Function), 'function_parameters'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
966 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
967 | # no return type given, no-param function |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
968 | (r'([$a-zA-Z_]\w+)', # function name |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
969 | bygroups(Name.Function), "#pop"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
970 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
971 | default('#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
972 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
973 | 'function_parameters': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
974 | include('whitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
975 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
976 | # parameters |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
977 | (r'(\(' + _ws + ')' # open paren |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
978 | r'([^)]+)' # type |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
979 | r'(' + _ws + r'\)' + _ws + r')' # close paren |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
980 | r'([$a-zA-Z_]\w+)', # param name |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
981 | bygroups(using(this), Keyword.Type, using(this), Text)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
982 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
983 | # one piece of a selector name |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
984 | (r'([$a-zA-Z_]\w+' + _ws + r':)', # function name |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
985 | Name.Function), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
986 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
987 | # smallest possible selector piece |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
988 | (r'(:)', Name.Function), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
989 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
990 | # var args |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
991 | (r'(,' + _ws + r'\.\.\.)', using(this)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
992 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
993 | # param name |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
994 | (r'([$a-zA-Z_]\w+)', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
995 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
996 | 'expression': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
997 | (r'([$a-zA-Z_]\w*)(\()', bygroups(Name.Function, |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
998 | Punctuation)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
999 | (r'(\))', Punctuation, "#pop"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1000 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1001 | 'string': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1002 | (r'"', String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1003 | (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})', String.Escape), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1004 | (r'[^\\"\n]+', String), # all other characters |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1005 | (r'\\\n', String), # line continuation |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1006 | (r'\\', String), # stray backslash |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1007 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1008 | 'macro': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1009 | (r'[^/\n]+', Comment.Preproc), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1010 | (r'/[*](.|\n)*?[*]/', Comment.Multiline), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1011 | (r'//.*?\n', Comment.Single, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1012 | (r'/', Comment.Preproc), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1013 | (r'(?<=\\)\n', Comment.Preproc), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1014 | (r'\n', Comment.Preproc, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1015 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1016 | 'if0': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1017 | (r'^\s*#if.*?(?<!\\)\n', Comment.Preproc, '#push'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1018 | (r'^\s*#endif.*?(?<!\\)\n', Comment.Preproc, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1019 | (r'.*?\n', Comment), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1020 | ] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1021 | } |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1022 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1023 | def analyse_text(text): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1024 | if re.search(r'^\s*@import\s+[<"]', text, re.MULTILINE): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1025 | # special directive found in most Objective-J files |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1026 | return True |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1027 | return False |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1028 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1029 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1030 | class CoffeeScriptLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1031 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1032 | For `CoffeeScript`_ source code. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1033 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1034 | .. _CoffeeScript: http://coffeescript.org |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1035 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1036 | .. versionadded:: 1.3 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1037 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1038 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1039 | name = 'CoffeeScript' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1040 | aliases = ['coffee-script', 'coffeescript', 'coffee'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1041 | filenames = ['*.coffee'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1042 | mimetypes = ['text/coffeescript'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1043 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1044 | _operator_re = ( |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1045 | r'\+\+|~|&&|\band\b|\bor\b|\bis\b|\bisnt\b|\bnot\b|\?|:|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1046 | r'\|\||\\(?=\n)|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1047 | r'(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[<>+*`%&|\^/])=?') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1048 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1049 | flags = re.DOTALL |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1050 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1051 | 'commentsandwhitespace': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1052 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1053 | (r'###[^#].*?###', Comment.Multiline), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1054 | (r'#(?!##[^#]).*?\n', Comment.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1055 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1056 | 'multilineregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1057 | (r'[^/#]+', String.Regex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1058 | (r'///([gim]+\b|\B)', String.Regex, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1059 | (r'#\{', String.Interpol, 'interpoling_string'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1060 | (r'[/#]', String.Regex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1061 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1062 | 'slashstartsregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1063 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1064 | (r'///', String.Regex, ('#pop', 'multilineregex')), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1065 | (r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1066 | r'([gim]+\b|\B)', String.Regex, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1067 | # This isn't really guarding against mishighlighting well-formed |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1068 | # code, just the ability to infinite-loop between root and |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1069 | # slashstartsregex. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1070 | (r'/', Operator, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1071 | default('#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1072 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1073 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1074 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1075 | (r'\A(?=\s|/)', Text, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1076 | (_operator_re, Operator, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1077 | (r'(?:\([^()]*\))?\s*[=-]>', Name.Function, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1078 | (r'[{(\[;,]', Punctuation, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1079 | (r'[})\].]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1080 | (r'(?<![.$])(for|own|in|of|while|until|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1081 | r'loop|break|return|continue|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1082 | r'switch|when|then|if|unless|else|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1083 | r'throw|try|catch|finally|new|delete|typeof|instanceof|super|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1084 | r'extends|this|class|by)\b', Keyword, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1085 | (r'(?<![.$])(true|false|yes|no|on|off|null|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1086 | r'NaN|Infinity|undefined)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1087 | Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1088 | (r'(Array|Boolean|Date|Error|Function|Math|netscape|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1089 | r'Number|Object|Packages|RegExp|String|sun|decodeURI|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1090 | r'decodeURIComponent|encodeURI|encodeURIComponent|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1091 | r'eval|isFinite|isNaN|parseFloat|parseInt|document|window)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1092 | Name.Builtin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1093 | (r'[$a-zA-Z_][\w.:$]*\s*[:=]\s', Name.Variable, |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1094 | 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1095 | (r'@[$a-zA-Z_][\w.:$]*\s*[:=]\s', Name.Variable.Instance, |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1096 | 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1097 | (r'@', Name.Other, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1098 | (r'@?[$a-zA-Z_][\w$]*', Name.Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1099 | (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1100 | (r'0x[0-9a-fA-F]+', Number.Hex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1101 | (r'[0-9]+', Number.Integer), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1102 | ('"""', String, 'tdqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1103 | ("'''", String, 'tsqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1104 | ('"', String, 'dqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1105 | ("'", String, 'sqs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1106 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1107 | 'strings': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1108 | (r'[^#\\\'"]+', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1109 | # note that all coffee script strings are multi-line. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1110 | # hashmarks, quotes and backslashes must be parsed one at a time |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1111 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1112 | 'interpoling_string': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1113 | (r'\}', String.Interpol, "#pop"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1114 | include('root') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1115 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1116 | 'dqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1117 | (r'"', String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1118 | (r'\\.|\'', String), # double-quoted string don't need ' escapes |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1119 | (r'#\{', String.Interpol, "interpoling_string"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1120 | (r'#', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1121 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1122 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1123 | 'sqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1124 | (r"'", String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1125 | (r'#|\\.|"', String), # single quoted strings don't need " escapses |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1126 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1127 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1128 | 'tdqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1129 | (r'"""', String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1130 | (r'\\.|\'|"', String), # no need to escape quotes in triple-string |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1131 | (r'#\{', String.Interpol, "interpoling_string"), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1132 | (r'#', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1133 | include('strings'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1134 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1135 | 'tsqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1136 | (r"'''", String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1137 | (r'#|\\.|\'|"', String), # no need to escape quotes in triple-strings |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1138 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1139 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1140 | } |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1141 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1142 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1143 | class MaskLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1144 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1145 | For `Mask <https://github.com/atmajs/MaskJS>`__ markup. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1146 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1147 | .. versionadded:: 2.0 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1148 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1149 | name = 'Mask' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1150 | aliases = ['mask'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1151 | filenames = ['*.mask'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1152 | mimetypes = ['text/x-mask'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1153 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1154 | flags = re.MULTILINE | re.IGNORECASE | re.DOTALL |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1155 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1156 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1157 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1158 | (r'//.*?\n', Comment.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1159 | (r'/\*.*?\*/', Comment.Multiline), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1160 | (r'[{};>]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1161 | (r"'''", String, 'string-trpl-single'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1162 | (r'"""', String, 'string-trpl-double'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1163 | (r"'", String, 'string-single'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1164 | (r'"', String, 'string-double'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1165 | (r'([\w-]+)', Name.Tag, 'node'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1166 | (r'([^.#;{>\s]+)', Name.Class, 'node'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1167 | (r'(#[\w-]+)', Name.Function, 'node'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1168 | (r'(\.[\w-]+)', Name.Variable.Class, 'node') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1169 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1170 | 'string-base': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1171 | (r'\\.', String.Escape), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1172 | (r'~\[', String.Interpol, 'interpolation'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1173 | (r'.', String.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1174 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1175 | 'string-single': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1176 | (r"'", String.Single, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1177 | include('string-base') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1178 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1179 | 'string-double': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1180 | (r'"', String.Single, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1181 | include('string-base') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1182 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1183 | 'string-trpl-single': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1184 | (r"'''", String.Single, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1185 | include('string-base') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1186 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1187 | 'string-trpl-double': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1188 | (r'"""', String.Single, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1189 | include('string-base') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1190 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1191 | 'interpolation': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1192 | (r'\]', String.Interpol, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1193 | (r'\s*:', String.Interpol, 'expression'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1194 | (r'\s*\w+:', Name.Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1195 | (r'[^\]]+', String.Interpol) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1196 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1197 | 'expression': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1198 | (r'[^\]]+', using(JavascriptLexer), '#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1199 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1200 | 'node': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1201 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1202 | (r'\.', Name.Variable.Class, 'node-class'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1203 | (r'\#', Name.Function, 'node-id'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1204 | (r'style[ \t]*=', Name.Attribute, 'node-attr-style-value'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1205 | (r'[\w:-]+[ \t]*=', Name.Attribute, 'node-attr-value'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1206 | (r'[\w:-]+', Name.Attribute), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1207 | (r'[>{;]', Punctuation, '#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1208 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1209 | 'node-class': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1210 | (r'[\w-]+', Name.Variable.Class), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1211 | (r'~\[', String.Interpol, 'interpolation'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1212 | default('#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1213 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1214 | 'node-id': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1215 | (r'[\w-]+', Name.Function), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1216 | (r'~\[', String.Interpol, 'interpolation'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1217 | default('#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1218 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1219 | 'node-attr-value': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1220 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1221 | (r'\w+', Name.Variable, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1222 | (r"'", String, 'string-single-pop2'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1223 | (r'"', String, 'string-double-pop2'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1224 | default('#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1225 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1226 | 'node-attr-style-value': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1227 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1228 | (r"'", String.Single, 'css-single-end'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1229 | (r'"', String.Single, 'css-double-end'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1230 | include('node-attr-value') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1231 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1232 | 'css-base': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1233 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1234 | (r";", Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1235 | (r"[\w\-]+\s*:", Name.Builtin) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1236 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1237 | 'css-single-end': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1238 | include('css-base'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1239 | (r"'", String.Single, '#pop:2'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1240 | (r"[^;']+", Name.Entity) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1241 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1242 | 'css-double-end': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1243 | include('css-base'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1244 | (r'"', String.Single, '#pop:2'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1245 | (r'[^;"]+', Name.Entity) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1246 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1247 | 'string-single-pop2': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1248 | (r"'", String.Single, '#pop:2'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1249 | include('string-base') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1250 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1251 | 'string-double-pop2': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1252 | (r'"', String.Single, '#pop:2'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1253 | include('string-base') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1254 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1255 | } |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1256 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1257 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1258 | class EarlGreyLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1259 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1260 | For `Earl-Grey`_ source code. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1261 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1262 | .. _Earl-Grey: https://breuleux.github.io/earl-grey/ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1263 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1264 | .. versionadded: 2.1 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1265 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1266 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1267 | name = 'Earl Grey' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1268 | aliases = ['earl-grey', 'earlgrey', 'eg'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1269 | filenames = ['*.eg'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1270 | mimetypes = ['text/x-earl-grey'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1271 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1272 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1273 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1274 | (r'\n', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1275 | include('control'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1276 | (r'[^\S\n]+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1277 | (r';;.*\n', Comment), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1278 | (r'[\[\]{}:(),;]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1279 | (r'\\\n', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1280 | (r'\\', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1281 | include('errors'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1282 | (words(( |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1283 | 'with', 'where', 'when', 'and', 'not', 'or', 'in', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1284 | 'as', 'of', 'is'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1285 | prefix=r'(?<=\s|\[)', suffix=r'(?![\w$\-])'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1286 | Operator.Word), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1287 | (r'[*@]?->', Name.Function), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1288 | (r'[+\-*/~^<>%&|?!@#.]*=', Operator.Word), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1289 | (r'\.{2,3}', Operator.Word), # Range Operator |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1290 | (r'([+*/~^<>&|?!]+)|([#\-](?=\s))|@@+(?=\s)|=+', Operator), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1291 | (r'(?<![\w$\-])(var|let)(?:[^\w$])', Keyword.Declaration), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1292 | include('keywords'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1293 | include('builtins'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1294 | include('assignment'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1295 | (r'''(?x) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1296 | (?:()([a-zA-Z$_](?:[\w$\-]*[\w$])?)| |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1297 | (?<=[\s{\[(])(\.)([a-zA-Z$_](?:[\w$\-]*[\w$])?)) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1298 | (?=.*%)''', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1299 | bygroups(Punctuation, Name.Tag, Punctuation, Name.Class.Start), 'dbs'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1300 | (r'[rR]?`', String.Backtick, 'bt'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1301 | (r'[rR]?```', String.Backtick, 'tbt'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1302 | (r'(?<=[\s\[{(,;])\.([a-zA-Z$_](?:[\w$\-]*[\w$])?)' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1303 | r'(?=[\s\]}),;])', String.Symbol), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1304 | include('nested'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1305 | (r'(?:[rR]|[rR]\.[gmi]{1,3})?"', String, combined('stringescape', 'dqs')), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1306 | (r'(?:[rR]|[rR]\.[gmi]{1,3})?\'', String, combined('stringescape', 'sqs')), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1307 | (r'"""', String, combined('stringescape', 'tdqs')), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1308 | include('tuple'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1309 | include('import_paths'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1310 | include('name'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1311 | include('numbers'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1312 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1313 | 'dbs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1314 | (r'(\.)([a-zA-Z$_](?:[\w$\-]*[\w$])?)(?=[.\[\s])', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1315 | bygroups(Punctuation, Name.Class.DBS)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1316 | (r'(\[)([\^#][a-zA-Z$_](?:[\w$\-]*[\w$])?)(\])', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1317 | bygroups(Punctuation, Name.Entity.DBS, Punctuation)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1318 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1319 | (r'%', Operator.DBS, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1320 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1321 | 'import_paths': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1322 | (r'(?<=[\s:;,])(\.{1,3}(?:[\w\-]*/)*)(\w(?:[\w\-]*\w)*)(?=[\s;,])', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1323 | bygroups(Text.Whitespace, Text)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1324 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1325 | 'assignment': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1326 | (r'(\.)?([a-zA-Z$_](?:[\w$\-]*[\w$])?)' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1327 | r'(?=\s+[+\-*/~^<>%&|?!@#.]*\=\s)', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1328 | bygroups(Punctuation, Name.Variable)) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1329 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1330 | 'errors': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1331 | (words(('Error', 'TypeError', 'ReferenceError'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1332 | prefix=r'(?<![\w\-$.])', suffix=r'(?![\w\-$.])'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1333 | Name.Exception), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1334 | (r'''(?x) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1335 | (?<![\w$]) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1336 | E\.[\w$](?:[\w$\-]*[\w$])? |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1337 | (?:\.[\w$](?:[\w$\-]*[\w$])?)* |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1338 | (?=[({\[?!\s])''', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1339 | Name.Exception), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1340 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1341 | 'control': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1342 | (r'''(?x) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1343 | ([a-zA-Z$_](?:[\w$-]*[\w$])?) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1344 | (?!\n)\s+ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1345 | (?!and|as|each\*|each|in|is|mod|of|or|when|where|with) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1346 | (?=(?:[+\-*/~^<>%&|?!@#.])?[a-zA-Z$_](?:[\w$-]*[\w$])?)''', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1347 | Keyword.Control), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1348 | (r'([a-zA-Z$_](?:[\w$-]*[\w$])?)(?!\n)\s+(?=[\'"\d{\[(])', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1349 | Keyword.Control), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1350 | (r'''(?x) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1351 | (?: |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1352 | (?<=[%=])| |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1353 | (?<=[=\-]>)| |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1354 | (?<=with|each|with)| |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1355 | (?<=each\*|where) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1356 | )(\s+) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1357 | ([a-zA-Z$_](?:[\w$-]*[\w$])?)(:)''', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1358 | bygroups(Text, Keyword.Control, Punctuation)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1359 | (r'''(?x) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1360 | (?<![+\-*/~^<>%&|?!@#.])(\s+) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1361 | ([a-zA-Z$_](?:[\w$-]*[\w$])?)(:)''', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1362 | bygroups(Text, Keyword.Control, Punctuation)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1363 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1364 | 'nested': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1365 | (r'''(?x) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1366 | (?<=[\w$\]})])(\.) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1367 | ([a-zA-Z$_](?:[\w$-]*[\w$])?) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1368 | (?=\s+with(?:\s|\n))''', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1369 | bygroups(Punctuation, Name.Function)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1370 | (r'''(?x) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1371 | (?<!\s)(\.) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1372 | ([a-zA-Z$_](?:[\w$-]*[\w$])?) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1373 | (?=[}\]).,;:\s])''', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1374 | bygroups(Punctuation, Name.Field)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1375 | (r'''(?x) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1376 | (?<=[\w$\]})])(\.) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1377 | ([a-zA-Z$_](?:[\w$-]*[\w$])?) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1378 | (?=[\[{(:])''', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1379 | bygroups(Punctuation, Name.Function)), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1380 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1381 | 'keywords': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1382 | (words(( |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1383 | 'each', 'each*', 'mod', 'await', 'break', 'chain', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1384 | 'continue', 'elif', 'expr-value', 'if', 'match', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1385 | 'return', 'yield', 'pass', 'else', 'require', 'var', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1386 | 'let', 'async', 'method', 'gen'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1387 | prefix=r'(?<![\w\-$.])', suffix=r'(?![\w\-$.])'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1388 | Keyword.Pseudo), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1389 | (words(('this', 'self', '@'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1390 | prefix=r'(?<![\w\-$.])', suffix=r'(?![\w\-$])'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1391 | Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1392 | (words(( |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1393 | 'Function', 'Object', 'Array', 'String', 'Number', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1394 | 'Boolean', 'ErrorFactory', 'ENode', 'Promise'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1395 | prefix=r'(?<![\w\-$.])', suffix=r'(?![\w\-$])'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1396 | Keyword.Type), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1397 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1398 | 'builtins': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1399 | (words(( |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1400 | 'send', 'object', 'keys', 'items', 'enumerate', 'zip', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1401 | 'product', 'neighbours', 'predicate', 'equal', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1402 | 'nequal', 'contains', 'repr', 'clone', 'range', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1403 | 'getChecker', 'get-checker', 'getProperty', 'get-property', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1404 | 'getProjector', 'get-projector', 'consume', 'take', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1405 | 'promisify', 'spawn', 'constructor'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1406 | prefix=r'(?<![\w\-#.])', suffix=r'(?![\w\-.])'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1407 | Name.Builtin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1408 | (words(( |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1409 | 'true', 'false', 'null', 'undefined'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1410 | prefix=r'(?<![\w\-$.])', suffix=r'(?![\w\-$.])'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1411 | Name.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1412 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1413 | 'name': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1414 | (r'@([a-zA-Z$_](?:[\w$-]*[\w$])?)', Name.Variable.Instance), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1415 | (r'([a-zA-Z$_](?:[\w$-]*[\w$])?)(\+\+|\-\-)?', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1416 | bygroups(Name.Symbol, Operator.Word)) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1417 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1418 | 'tuple': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1419 | (r'#[a-zA-Z_][\w\-]*(?=[\s{(,;])', Name.Namespace) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1420 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1421 | 'interpoling_string': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1422 | (r'\}', String.Interpol, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1423 | include('root') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1424 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1425 | 'stringescape': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1426 | (r'\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1427 | r'U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})', String.Escape) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1428 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1429 | 'strings': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1430 | (r'[^\\\'"]', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1431 | (r'[\'"\\]', String), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1432 | (r'\n', String) # All strings are multiline in EG |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1433 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1434 | 'dqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1435 | (r'"', String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1436 | (r'\\\\|\\"|\\\n', String.Escape), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1437 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1438 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1439 | 'sqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1440 | (r"'", String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1441 | (r"\\\\|\\'|\\\n", String.Escape), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1442 | (r'\{', String.Interpol, 'interpoling_string'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1443 | include('strings') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1444 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1445 | 'tdqs': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1446 | (r'"""', String, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1447 | include('strings'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1448 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1449 | 'bt': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1450 | (r'`', String.Backtick, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1451 | (r'(?<!`)\n', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1452 | (r'\^=?', String.Escape), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1453 | (r'.+', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1454 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1455 | 'tbt': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1456 | (r'```', String.Backtick, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1457 | (r'\n', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1458 | (r'\^=?', String.Escape), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1459 | (r'[^`]+', String.Backtick), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1460 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1461 | 'numbers': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1462 | (r'\d+\.(?!\.)\d*([eE][+-]?[0-9]+)?', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1463 | (r'\d+[eE][+-]?[0-9]+', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1464 | (r'8r[0-7]+', Number.Oct), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1465 | (r'2r[01]+', Number.Bin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1466 | (r'16r[a-fA-F0-9]+', Number.Hex), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1467 | (r'([3-79]|[12][0-9]|3[0-6])r[a-zA-Z\d]+(\.[a-zA-Z\d]+)?', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1468 | Number.Radix), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1469 | (r'\d+', Number.Integer) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1470 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1471 | } |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1472 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1473 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1474 | class JuttleLexer(RegexLexer): |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1475 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1476 | For `Juttle`_ source code. |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1477 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1478 | .. _Juttle: https://github.com/juttle/juttle |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1479 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1480 | .. versionadded:: 2.2 |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1481 | """ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1482 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1483 | name = 'Juttle' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1484 | aliases = ['juttle', 'juttle'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1485 | filenames = ['*.juttle'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1486 | mimetypes = ['application/juttle', 'application/x-juttle', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1487 | 'text/x-juttle', 'text/juttle'] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1488 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1489 | flags = re.DOTALL | re.UNICODE | re.MULTILINE |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1490 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1491 | tokens = { |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1492 | 'commentsandwhitespace': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1493 | (r'\s+', Text), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1494 | (r'//.*?\n', Comment.Single), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1495 | (r'/\*.*?\*/', Comment.Multiline) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1496 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1497 | 'slashstartsregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1498 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1499 | (r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1500 | r'([gim]+\b|\B)', String.Regex, '#pop'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1501 | (r'(?=/)', Text, ('#pop', 'badregex')), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1502 | default('#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1503 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1504 | 'badregex': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1505 | (r'\n', Text, '#pop') |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1506 | ], |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1507 | 'root': [ |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1508 | (r'^(?=\s|/)', Text, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1509 | include('commentsandwhitespace'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1510 | (r':\d{2}:\d{2}:\d{2}(\.\d*)?:', String.Moment), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1511 | (r':(now|beginning|end|forever|yesterday|today|tomorrow|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1512 | r'(\d+(\.\d*)?|\.\d+)(ms|[smhdwMy])?):', String.Moment), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1513 | (r':\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d*)?)?' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1514 | r'(Z|[+-]\d{2}:\d{2}|[+-]\d{4})?:', String.Moment), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1515 | (r':((\d+(\.\d*)?|\.\d+)[ ]+)?(millisecond|second|minute|hour|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1516 | r'day|week|month|year)[s]?' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1517 | r'(([ ]+and[ ]+(\d+[ ]+)?(millisecond|second|minute|hour|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1518 | r'day|week|month|year)[s]?)' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1519 | r'|[ ]+(ago|from[ ]+now))*:', String.Moment), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1520 | (r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1521 | r'(==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1522 | (r'[{(\[;,]', Punctuation, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1523 | (r'[})\].]', Punctuation), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1524 | (r'(import|return|continue|if|else)\b', Keyword, 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1525 | (r'(var|const|function|reducer|sub|input)\b', Keyword.Declaration, |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1526 | 'slashstartsregex'), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1527 | (r'(batch|emit|filter|head|join|keep|pace|pass|put|read|reduce|remove|' |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1528 | r'sequence|skip|sort|split|tail|unbatch|uniq|view|write)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1529 | Keyword.Reserved), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1530 | (r'(true|false|null|Infinity)\b', Keyword.Constant), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1531 | (r'(Array|Date|Juttle|Math|Number|Object|RegExp|String)\b', |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1532 | Name.Builtin), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1533 | (JS_IDENT, Name.Other), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1534 | (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1535 | (r'[0-9]+', Number.Integer), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1536 | (r'"(\\\\|\\"|[^"])*"', String.Double), |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1537 | (r"'(\\\\|\\'|[^'])*'", String.Single) |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1538 | ] |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1539 | |
25f42e208e08
Pygments: updated to 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7547
diff
changeset
|
1540 | } |