Wed, 11 Mar 2015 18:32:27 +0100
Updated Pygments to 2.0.2.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | pygments.lexers.templates |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | Lexers for various template engines' markup. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
8 | :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | :license: BSD, see LICENSE for details. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import re |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
14 | from pygments.lexers.html import HtmlLexer, XmlLexer |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
15 | from pygments.lexers.javascript import JavascriptLexer, LassoLexer |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
16 | from pygments.lexers.css import CssLexer |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
17 | from pygments.lexers.php import PhpLexer |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
18 | from pygments.lexers.python import PythonLexer |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
19 | from pygments.lexers.perl import PerlLexer |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
20 | from pygments.lexers.jvm import JavaLexer, TeaLangLexer |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
21 | from pygments.lexers.data import YamlLexer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | from pygments.lexer import Lexer, DelegatingLexer, RegexLexer, bygroups, \ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
23 | include, using, this, default, combined |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
24 | from pygments.token import Error, Punctuation, Whitespace, \ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
25 | Text, Comment, Operator, Keyword, Name, String, Number, Other, Token |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | from pygments.util import html_doctype_matches, looks_like_xml |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | __all__ = ['HtmlPhpLexer', 'XmlPhpLexer', 'CssPhpLexer', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | 'JavascriptPhpLexer', 'ErbLexer', 'RhtmlLexer', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | 'XmlErbLexer', 'CssErbLexer', 'JavascriptErbLexer', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | 'SmartyLexer', 'HtmlSmartyLexer', 'XmlSmartyLexer', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | 'CssSmartyLexer', 'JavascriptSmartyLexer', 'DjangoLexer', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | 'HtmlDjangoLexer', 'CssDjangoLexer', 'XmlDjangoLexer', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | 'JavascriptDjangoLexer', 'GenshiLexer', 'HtmlGenshiLexer', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | 'GenshiTextLexer', 'CssGenshiLexer', 'JavascriptGenshiLexer', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | 'MyghtyLexer', 'MyghtyHtmlLexer', 'MyghtyXmlLexer', |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
37 | 'MyghtyCssLexer', 'MyghtyJavascriptLexer', 'MasonLexer', 'MakoLexer', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | 'MakoHtmlLexer', 'MakoXmlLexer', 'MakoJavascriptLexer', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | 'MakoCssLexer', 'JspLexer', 'CheetahLexer', 'CheetahHtmlLexer', |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
40 | 'CheetahXmlLexer', 'CheetahJavascriptLexer', 'EvoqueLexer', |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
41 | 'EvoqueHtmlLexer', 'EvoqueXmlLexer', 'ColdfusionLexer', |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
42 | 'ColdfusionHtmlLexer', 'ColdfusionCFCLexer', 'VelocityLexer', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
43 | 'VelocityHtmlLexer', 'VelocityXmlLexer', 'SspLexer', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
44 | 'TeaTemplateLexer', 'LassoHtmlLexer', 'LassoXmlLexer', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
45 | 'LassoCssLexer', 'LassoJavascriptLexer', 'HandlebarsLexer', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
46 | 'HandlebarsHtmlLexer', 'YamlJinjaLexer', 'LiquidLexer', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
47 | 'TwigLexer', 'TwigHtmlLexer'] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | class ErbLexer(Lexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | Generic `ERB <http://ruby-doc.org/core/classes/ERB.html>`_ (Ruby Templating) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | Just highlights ruby code between the preprocessor directives, other data |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | is left untouched by the lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | All options are also forwarded to the `RubyLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | name = 'ERB' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | aliases = ['erb'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | mimetypes = ['application/x-ruby-templating'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | _block_re = re.compile(r'(<%%|%%>|<%=|<%#|<%-|<%|-%>|%>|^%[^%].*?$)', re.M) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | def __init__(self, **options): |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
68 | from pygments.lexers.ruby import RubyLexer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | self.ruby_lexer = RubyLexer(**options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | Lexer.__init__(self, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | def get_tokens_unprocessed(self, text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | Since ERB doesn't allow "<%" and other tags inside of ruby |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | blocks we have to use a split approach here that fails for |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | that too. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | tokens = self._block_re.split(text) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | tokens.reverse() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | state = idx = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | while True: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | # text |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | if state == 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | val = tokens.pop() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | yield idx, Other, val |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | idx += len(val) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | state = 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | # block starts |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | elif state == 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | tag = tokens.pop() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | # literals |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | if tag in ('<%%', '%%>'): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | yield idx, Other, tag |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | idx += 3 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | state = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | # comment |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | elif tag == '<%#': |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | yield idx, Comment.Preproc, tag |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | val = tokens.pop() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | yield idx + 3, Comment, val |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | idx += 3 + len(val) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | state = 2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | # blocks or output |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | elif tag in ('<%', '<%=', '<%-'): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | yield idx, Comment.Preproc, tag |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | idx += len(tag) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | data = tokens.pop() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | r_idx = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | for r_idx, r_token, r_value in \ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
111 | self.ruby_lexer.get_tokens_unprocessed(data): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | yield r_idx + idx, r_token, r_value |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | idx += len(data) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | state = 2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | elif tag in ('%>', '-%>'): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | yield idx, Error, tag |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | idx += len(tag) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | state = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | # % raw ruby statements |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | yield idx, Comment.Preproc, tag[0] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | r_idx = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | for r_idx, r_token, r_value in \ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
124 | self.ruby_lexer.get_tokens_unprocessed(tag[1:]): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | yield idx + 1 + r_idx, r_token, r_value |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | idx += len(tag) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | state = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | # block ends |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | elif state == 2: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | tag = tokens.pop() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | if tag not in ('%>', '-%>'): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | yield idx, Other, tag |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | yield idx, Comment.Preproc, tag |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | idx += len(tag) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | state = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | except IndexError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | if '<%' in text and '%>' in text: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | return 0.4 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | class SmartyLexer(RegexLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | Generic `Smarty <http://smarty.php.net/>`_ template lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | Just highlights smarty code between the preprocessor directives, other |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | data is left untouched by the lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | name = 'Smarty' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | aliases = ['smarty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | filenames = ['*.tpl'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | mimetypes = ['application/x-smarty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | flags = re.MULTILINE | re.DOTALL |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | tokens = { |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | 'root': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | (r'[^{]+', Other), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | (r'(\{)(\*.*?\*)(\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | bygroups(Comment.Preproc, Comment, Comment.Preproc)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | (r'(\{php\})(.*?)(\{/php\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | bygroups(Comment.Preproc, using(PhpLexer, startinline=True), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | Comment.Preproc)), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
168 | (r'(\{)(/?[a-zA-Z_]\w*)(\s*)', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | bygroups(Comment.Preproc, Name.Function, Text), 'smarty'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | (r'\{', Comment.Preproc, 'smarty') |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | 'smarty': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | (r'\s+', Text), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
174 | (r'\{', Comment.Preproc, '#push'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | (r'\}', Comment.Preproc, '#pop'), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
176 | (r'#[a-zA-Z_]\w*#', Name.Variable), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
177 | (r'\$[a-zA-Z_]\w*(\.\w+)*', Name.Variable), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
178 | (r'[~!%^&*()+=|\[\]:;,.<>/?@-]', Operator), |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
179 | (r'(true|false|null)\b', Keyword.Constant), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | (r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | r"0[xX][0-9a-fA-F]+[Ll]?", Number), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | (r'"(\\\\|\\"|[^"])*"', String.Double), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | (r"'(\\\\|\\'|[^'])*'", String.Single), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
184 | (r'[a-zA-Z_]\w*', Name.Attribute) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | ] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | } |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | rv = 0.0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | if re.search('\{if\s+.*?\}.*?\{/if\}', text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | rv += 0.15 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | if re.search('\{include\s+file=.*?\}', text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | rv += 0.15 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | if re.search('\{foreach\s+.*?\}.*?\{/foreach\}', text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | rv += 0.15 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | if re.search('\{\$.*?\}', text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | rv += 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
201 | class VelocityLexer(RegexLexer): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
202 | """ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
203 | Generic `Velocity <http://velocity.apache.org/>`_ template lexer. |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
204 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
205 | Just highlights velocity directives and variable references, other |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
206 | data is left untouched by the lexer. |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
207 | """ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
208 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
209 | name = 'Velocity' |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
210 | aliases = ['velocity'] |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
211 | filenames = ['*.vm', '*.fhtml'] |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
212 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
213 | flags = re.MULTILINE | re.DOTALL |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
214 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
215 | identifier = r'[a-zA-Z_]\w*' |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
216 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
217 | tokens = { |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
218 | 'root': [ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
219 | (r'[^{#$]+', Other), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
220 | (r'(#)(\*.*?\*)(#)', |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
221 | bygroups(Comment.Preproc, Comment, Comment.Preproc)), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
222 | (r'(##)(.*?$)', |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
223 | bygroups(Comment.Preproc, Comment)), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
224 | (r'(#\{?)(' + identifier + r')(\}?)(\s?\()', |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
225 | bygroups(Comment.Preproc, Name.Function, Comment.Preproc, Punctuation), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
226 | 'directiveparams'), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
227 | (r'(#\{?)(' + identifier + r')(\}|\b)', |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
228 | bygroups(Comment.Preproc, Name.Function, Comment.Preproc)), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
229 | (r'\$\{?', Punctuation, 'variable') |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
230 | ], |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
231 | 'variable': [ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
232 | (identifier, Name.Variable), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
233 | (r'\(', Punctuation, 'funcparams'), |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
234 | (r'(\.)(' + identifier + r')', |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
235 | bygroups(Punctuation, Name.Variable), '#push'), |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
236 | (r'\}', Punctuation, '#pop'), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
237 | default('#pop') |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
238 | ], |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
239 | 'directiveparams': [ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
240 | (r'(&&|\|\||==?|!=?|[-<>+*%&|^/])|\b(eq|ne|gt|lt|ge|le|not|in)\b', |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
241 | Operator), |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
242 | (r'\[', Operator, 'rangeoperator'), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
243 | (r'\b' + identifier + r'\b', Name.Function), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
244 | include('funcparams') |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
245 | ], |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
246 | 'rangeoperator': [ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
247 | (r'\.\.', Operator), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
248 | include('funcparams'), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
249 | (r'\]', Operator, '#pop') |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
250 | ], |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
251 | 'funcparams': [ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
252 | (r'\$\{?', Punctuation, 'variable'), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
253 | (r'\s+', Text), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
254 | (r',', Punctuation), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
255 | (r'"(\\\\|\\"|[^"])*"', String.Double), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
256 | (r"'(\\\\|\\'|[^'])*'", String.Single), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
257 | (r"0[xX][0-9a-fA-F]+[Ll]?", Number), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
258 | (r"\b[0-9]+\b", Number), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
259 | (r'(true|false|null)\b', Keyword.Constant), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
260 | (r'\(', Punctuation, '#push'), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
261 | (r'\)', Punctuation, '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
262 | (r'\[', Punctuation, '#push'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
263 | (r'\]', Punctuation, '#pop'), |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
264 | ] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
265 | } |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
266 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
267 | def analyse_text(text): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
268 | rv = 0.0 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
269 | if re.search(r'#\{?macro\}?\(.*?\).*?#\{?end\}?', text): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
270 | rv += 0.25 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
271 | if re.search(r'#\{?if\}?\(.+?\).*?#\{?end\}?', text): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
272 | rv += 0.15 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
273 | if re.search(r'#\{?foreach\}?\(.+?\).*?#\{?end\}?', text): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
274 | rv += 0.15 |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
275 | if re.search(r'\$\{?[a-zA-Z_]\w*(\([^)]*\))?' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
276 | r'(\.\w+(\([^)]*\))?)*\}?', text): |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
277 | rv += 0.01 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
278 | return rv |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
279 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
280 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
281 | class VelocityHtmlLexer(DelegatingLexer): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
282 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
283 | Subclass of the `VelocityLexer` that highlights unlexed data |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
284 | with the `HtmlLexer`. |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
285 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
286 | """ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
287 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
288 | name = 'HTML+Velocity' |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
289 | aliases = ['html+velocity'] |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
290 | alias_filenames = ['*.html', '*.fhtml'] |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
291 | mimetypes = ['text/html+velocity'] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
292 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
293 | def __init__(self, **options): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
294 | super(VelocityHtmlLexer, self).__init__(HtmlLexer, VelocityLexer, |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
295 | **options) |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
296 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
297 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
298 | class VelocityXmlLexer(DelegatingLexer): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
299 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
300 | Subclass of the `VelocityLexer` that highlights unlexed data |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
301 | with the `XmlLexer`. |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
302 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
303 | """ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
304 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
305 | name = 'XML+Velocity' |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
306 | aliases = ['xml+velocity'] |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
307 | alias_filenames = ['*.xml', '*.vm'] |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
308 | mimetypes = ['application/xml+velocity'] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
309 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
310 | def __init__(self, **options): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
311 | super(VelocityXmlLexer, self).__init__(XmlLexer, VelocityLexer, |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
312 | **options) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
313 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
314 | def analyse_text(text): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
315 | rv = VelocityLexer.analyse_text(text) - 0.01 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
316 | if looks_like_xml(text): |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
317 | rv += 0.4 |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
318 | return rv |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
319 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
320 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | class DjangoLexer(RegexLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | Generic `django <http://www.djangoproject.com/documentation/templates/>`_ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | and `jinja <http://wsgiarea.pocoo.org/jinja/>`_ template lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | It just highlights django/jinja code between the preprocessor directives, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | other data is left untouched by the lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | name = 'Django/Jinja' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | aliases = ['django', 'jinja'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | mimetypes = ['application/x-django-templating', 'application/x-jinja'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | flags = re.M | re.S |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | tokens = { |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | 'root': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | (r'[^{]+', Other), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | (r'\{\{', Comment.Preproc, 'var'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | # jinja/django comments |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | (r'\{[*#].*?[*#]\}', Comment), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | # django comments |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | (r'(\{%)(-?\s*)(comment)(\s*-?)(%\})(.*?)' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | r'(\{%)(-?\s*)(endcomment)(\s*-?)(%\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | bygroups(Comment.Preproc, Text, Keyword, Text, Comment.Preproc, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | Comment, Comment.Preproc, Text, Keyword, Text, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | Comment.Preproc)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | # raw jinja blocks |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | (r'(\{%)(-?\s*)(raw)(\s*-?)(%\})(.*?)' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | r'(\{%)(-?\s*)(endraw)(\s*-?)(%\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | bygroups(Comment.Preproc, Text, Keyword, Text, Comment.Preproc, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | Text, Comment.Preproc, Text, Keyword, Text, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | Comment.Preproc)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | # filter blocks |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
355 | (r'(\{%)(-?\s*)(filter)(\s+)([a-zA-Z_]\w*)', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | bygroups(Comment.Preproc, Text, Keyword, Text, Name.Function), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | 'block'), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
358 | (r'(\{%)(-?\s*)([a-zA-Z_]\w*)', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | bygroups(Comment.Preproc, Text, Keyword), 'block'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | (r'\{', Other) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | 'varnames': [ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
363 | (r'(\|)(\s*)([a-zA-Z_]\w*)', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | bygroups(Operator, Text, Name.Function)), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
365 | (r'(is)(\s+)(not)?(\s+)?([a-zA-Z_]\w*)', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | bygroups(Keyword, Text, Keyword, Text, Name.Function)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | (r'(_|true|false|none|True|False|None)\b', Keyword.Pseudo), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | (r'(in|as|reversed|recursive|not|and|or|is|if|else|import|' |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
369 | r'with(?:(?:out)?\s*context)?|scoped|ignore\s+missing)\b', |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
370 | Keyword), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | (r'(loop|block|super|forloop)\b', Name.Builtin), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
372 | (r'[a-zA-Z][\w-]*', Name.Variable), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
373 | (r'\.\w+', Name.Variable), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | (r':?"(\\\\|\\"|[^"])*"', String.Double), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | (r":?'(\\\\|\\'|[^'])*'", String.Single), |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
376 | (r'([{}()\[\]+\-*/,:~]|[><=]=?)', Operator), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | (r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | r"0[xX][0-9a-fA-F]+[Ll]?", Number), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | 'var': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | (r'\s+', Text), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | (r'(-?)(\}\})', bygroups(Text, Comment.Preproc), '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | include('varnames') |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | 'block': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | (r'\s+', Text), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | (r'(-?)(%\})', bygroups(Text, Comment.Preproc), '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | include('varnames'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | (r'.', Punctuation) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | ] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | } |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | rv = 0.0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | if re.search(r'\{%\s*(block|extends)', text) is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | rv += 0.4 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | if re.search(r'\{%\s*if\s*.*?%\}', text) is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | rv += 0.1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | if re.search(r'\{\{.*?\}\}', text) is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | rv += 0.1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | class MyghtyLexer(RegexLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | Generic `myghty templates`_ lexer. Code that isn't Myghty |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | markup is yielded as `Token.Other`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
409 | .. versionadded:: 0.6 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | .. _myghty templates: http://www.myghty.org/ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | name = 'Myghty' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | aliases = ['myghty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | filenames = ['*.myt', 'autodelegate'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | mimetypes = ['application/x-myghty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | tokens = { |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | 'root': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | (r'\s+', Text), |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
422 | (r'(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?s)', |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
423 | bygroups(Name.Tag, Text, Name.Function, Name.Tag, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | using(this), Name.Tag)), |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
425 | (r'(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)(?s)', |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
426 | bygroups(Name.Tag, Name.Function, Name.Tag, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | using(PythonLexer), Name.Tag)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | (r'(<&[^|])(.*?)(,.*?)?(&>)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | bygroups(Name.Tag, Name.Function, using(PythonLexer), Name.Tag)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | (r'(<&\|)(.*?)(,.*?)?(&>)(?s)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | bygroups(Name.Tag, Name.Function, using(PythonLexer), Name.Tag)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | (r'</&>', Name.Tag), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | (r'(<%!?)(.*?)(%>)(?s)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | bygroups(Name.Tag, using(PythonLexer), Name.Tag)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | (r'(?<=^)#[^\n]*(\n|\Z)', Comment), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | (r'(?<=^)(%)([^\n]*)(\n|\Z)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | bygroups(Name.Tag, using(PythonLexer), Other)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | (r"""(?sx) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | (.+?) # anything, followed by: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | (?: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | (?<=\n)(?=[%#]) | # an eval or comment line |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | (?=</?[%&]) | # a substitution or block or |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | # call start or end |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | # - don't consume |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | (\\\n) | # an escaped newline |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | \Z # end of string |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | )""", bygroups(Other, Operator)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | ] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | } |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | class MyghtyHtmlLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
454 | Subclass of the `MyghtyLexer` that highlights unlexed data |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
455 | with the `HtmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
457 | .. versionadded:: 0.6 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | name = 'HTML+Myghty' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | aliases = ['html+myghty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | mimetypes = ['text/html+myghty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | super(MyghtyHtmlLexer, self).__init__(HtmlLexer, MyghtyLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | class MyghtyXmlLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
471 | Subclass of the `MyghtyLexer` that highlights unlexed data |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | with the `XmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
474 | .. versionadded:: 0.6 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | name = 'XML+Myghty' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | aliases = ['xml+myghty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
479 | mimetypes = ['application/xml+myghty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | super(MyghtyXmlLexer, self).__init__(XmlLexer, MyghtyLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | class MyghtyJavascriptLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
488 | Subclass of the `MyghtyLexer` that highlights unlexed data |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | with the `JavascriptLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
491 | .. versionadded:: 0.6 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | name = 'JavaScript+Myghty' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | aliases = ['js+myghty', 'javascript+myghty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
496 | mimetypes = ['application/x-javascript+myghty', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | 'text/x-javascript+myghty', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | 'text/javascript+mygthy'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
499 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | super(MyghtyJavascriptLexer, self).__init__(JavascriptLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | MyghtyLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | class MyghtyCssLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
507 | Subclass of the `MyghtyLexer` that highlights unlexed data |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | with the `CssLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
510 | .. versionadded:: 0.6 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | name = 'CSS+Myghty' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | aliases = ['css+myghty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | mimetypes = ['text/css+myghty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | super(MyghtyCssLexer, self).__init__(CssLexer, MyghtyLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
519 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
522 | class MasonLexer(RegexLexer): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
523 | """ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
524 | Generic `mason templates`_ lexer. Stolen from Myghty lexer. Code that isn't |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
525 | Mason markup is HTML. |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
526 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
527 | .. _mason templates: http://www.masonhq.com/ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
528 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
529 | .. versionadded:: 1.4 |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
530 | """ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
531 | name = 'Mason' |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
532 | aliases = ['mason'] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
533 | filenames = ['*.m', '*.mhtml', '*.mc', '*.mi', 'autohandler', 'dhandler'] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
534 | mimetypes = ['application/x-mason'] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
535 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
536 | tokens = { |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
537 | 'root': [ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
538 | (r'\s+', Text), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
539 | (r'(<%doc>)(.*?)(</%doc>)(?s)', |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
540 | bygroups(Name.Tag, Comment.Multiline, Name.Tag)), |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
541 | (r'(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?s)', |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
542 | bygroups(Name.Tag, Text, Name.Function, Name.Tag, |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
543 | using(this), Name.Tag)), |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
544 | (r'(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)(?s)', |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
545 | bygroups(Name.Tag, Name.Function, Name.Tag, |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
546 | using(PerlLexer), Name.Tag)), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
547 | (r'(<&[^|])(.*?)(,.*?)?(&>)(?s)', |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
548 | bygroups(Name.Tag, Name.Function, using(PerlLexer), Name.Tag)), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
549 | (r'(<&\|)(.*?)(,.*?)?(&>)(?s)', |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
550 | bygroups(Name.Tag, Name.Function, using(PerlLexer), Name.Tag)), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
551 | (r'</&>', Name.Tag), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
552 | (r'(<%!?)(.*?)(%>)(?s)', |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
553 | bygroups(Name.Tag, using(PerlLexer), Name.Tag)), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
554 | (r'(?<=^)#[^\n]*(\n|\Z)', Comment), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
555 | (r'(?<=^)(%)([^\n]*)(\n|\Z)', |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
556 | bygroups(Name.Tag, using(PerlLexer), Other)), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
557 | (r"""(?sx) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
558 | (.+?) # anything, followed by: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
559 | (?: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
560 | (?<=\n)(?=[%#]) | # an eval or comment line |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
561 | (?=</?[%&]) | # a substitution or block or |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
562 | # call start or end |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
563 | # - don't consume |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
564 | (\\\n) | # an escaped newline |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
565 | \Z # end of string |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
566 | )""", bygroups(using(HtmlLexer), Operator)), |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
567 | ] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
568 | } |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
569 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
570 | def analyse_text(text): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
571 | rv = 0.0 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
572 | if re.search('<&', text) is not None: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
573 | rv = 1.0 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
574 | return rv |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
575 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
576 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
577 | class MakoLexer(RegexLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
578 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
579 | Generic `mako templates`_ lexer. Code that isn't Mako |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
580 | markup is yielded as `Token.Other`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
581 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
582 | .. versionadded:: 0.7 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | .. _mako templates: http://www.makotemplates.org/ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | name = 'Mako' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | aliases = ['mako'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
589 | filenames = ['*.mao'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | mimetypes = ['application/x-mako'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
591 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
592 | tokens = { |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
593 | 'root': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
594 | (r'(\s*)(%)(\s*end(?:\w+))(\n|\Z)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
595 | bygroups(Text, Comment.Preproc, Keyword, Other)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
596 | (r'(\s*)(%)([^\n]*)(\n|\Z)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
597 | bygroups(Text, Comment.Preproc, using(PythonLexer), Other)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
598 | (r'(\s*)(##[^\n]*)(\n|\Z)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
599 | bygroups(Text, Comment.Preproc, Other)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
600 | (r'(?s)<%doc>.*?</%doc>', Comment.Preproc), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
601 | (r'(<%)([\w.:]+)', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
602 | bygroups(Comment.Preproc, Name.Builtin), 'tag'), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
603 | (r'(</%)([\w.:]+)(>)', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
604 | bygroups(Comment.Preproc, Name.Builtin, Comment.Preproc)), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
605 | (r'<%(?=([\w.:]+))', Comment.Preproc, 'ondeftags'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
606 | (r'(<%(?:!?))(.*?)(%>)(?s)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
607 | bygroups(Comment.Preproc, using(PythonLexer), Comment.Preproc)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
608 | (r'(\$\{)(.*?)(\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
609 | bygroups(Comment.Preproc, using(PythonLexer), Comment.Preproc)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
610 | (r'''(?sx) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
611 | (.+?) # anything, followed by: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
612 | (?: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
613 | (?<=\n)(?=%|\#\#) | # an eval or comment line |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
614 | (?=\#\*) | # multiline comment |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
615 | (?=</?%) | # a python block |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
616 | # call start or end |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
617 | (?=\$\{) | # a substitution |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
618 | (?<=\n)(?=\s*%) | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
619 | # - don't consume |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
620 | (\\\n) | # an escaped newline |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
621 | \Z # end of string |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
622 | ) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
623 | ''', bygroups(Other, Operator)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
624 | (r'\s+', Text), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
625 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
626 | 'ondeftags': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
627 | (r'<%', Comment.Preproc), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
628 | (r'(?<=<%)(include|inherit|namespace|page)', Name.Builtin), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
629 | include('tag'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
630 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
631 | 'tag': [ |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
632 | (r'((?:\w+)\s*=)(\s*)(".*?")', |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
633 | bygroups(Name.Attribute, Text, String)), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
634 | (r'/?\s*>', Comment.Preproc, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
635 | (r'\s+', Text), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
636 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
637 | 'attr': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
638 | ('".*?"', String, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
639 | ("'.*?'", String, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
640 | (r'[^\s>]+', String, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
641 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
642 | } |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
643 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
644 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
645 | class MakoHtmlLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
646 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
647 | Subclass of the `MakoLexer` that highlights unlexed data |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
648 | with the `HtmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
649 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
650 | .. versionadded:: 0.7 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
651 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
652 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
653 | name = 'HTML+Mako' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
654 | aliases = ['html+mako'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
655 | mimetypes = ['text/html+mako'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
656 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
657 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
658 | super(MakoHtmlLexer, self).__init__(HtmlLexer, MakoLexer, |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
659 | **options) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
660 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
661 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
662 | class MakoXmlLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
663 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
664 | Subclass of the `MakoLexer` that highlights unlexed data |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
665 | with the `XmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
666 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
667 | .. versionadded:: 0.7 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
668 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
669 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
670 | name = 'XML+Mako' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | aliases = ['xml+mako'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
672 | mimetypes = ['application/xml+mako'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
673 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
674 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
675 | super(MakoXmlLexer, self).__init__(XmlLexer, MakoLexer, |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
676 | **options) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
677 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
678 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
679 | class MakoJavascriptLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
680 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
681 | Subclass of the `MakoLexer` that highlights unlexed data |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
682 | with the `JavascriptLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
683 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
684 | .. versionadded:: 0.7 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
685 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
686 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
687 | name = 'JavaScript+Mako' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
688 | aliases = ['js+mako', 'javascript+mako'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
689 | mimetypes = ['application/x-javascript+mako', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
690 | 'text/x-javascript+mako', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
691 | 'text/javascript+mako'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
692 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
693 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
694 | super(MakoJavascriptLexer, self).__init__(JavascriptLexer, |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
695 | MakoLexer, **options) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
696 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
697 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
698 | class MakoCssLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
699 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
700 | Subclass of the `MakoLexer` that highlights unlexed data |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
701 | with the `CssLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
702 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
703 | .. versionadded:: 0.7 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
704 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
705 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
706 | name = 'CSS+Mako' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
707 | aliases = ['css+mako'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
708 | mimetypes = ['text/css+mako'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
709 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
710 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
711 | super(MakoCssLexer, self).__init__(CssLexer, MakoLexer, |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
712 | **options) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
713 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
714 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
715 | # Genshi and Cheetah lexers courtesy of Matt Good. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
716 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
717 | class CheetahPythonLexer(Lexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
718 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
719 | Lexer for handling Cheetah's special $ tokens in Python syntax. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
720 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
721 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
722 | def get_tokens_unprocessed(self, text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
723 | pylexer = PythonLexer(**self.options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
724 | for pos, type_, value in pylexer.get_tokens_unprocessed(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
725 | if type_ == Token.Error and value == '$': |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
726 | type_ = Comment.Preproc |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
727 | yield pos, type_, value |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
728 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
729 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
730 | class CheetahLexer(RegexLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
731 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
732 | Generic `cheetah templates`_ lexer. Code that isn't Cheetah |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
733 | markup is yielded as `Token.Other`. This also works for |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
734 | `spitfire templates`_ which use the same syntax. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
735 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
736 | .. _cheetah templates: http://www.cheetahtemplate.org/ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
737 | .. _spitfire templates: http://code.google.com/p/spitfire/ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
738 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
739 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
740 | name = 'Cheetah' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
741 | aliases = ['cheetah', 'spitfire'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
742 | filenames = ['*.tmpl', '*.spt'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
743 | mimetypes = ['application/x-cheetah', 'application/x-spitfire'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
744 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
745 | tokens = { |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
746 | 'root': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
747 | (r'(##[^\n]*)$', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
748 | (bygroups(Comment))), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
749 | (r'#[*](.|\n)*?[*]#', Comment), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
750 | (r'#end[^#\n]*(?:#|$)', Comment.Preproc), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
751 | (r'#slurp$', Comment.Preproc), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
752 | (r'(#[a-zA-Z]+)([^#\n]*)(#|$)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
753 | (bygroups(Comment.Preproc, using(CheetahPythonLexer), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
754 | Comment.Preproc))), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
755 | # TODO support other Python syntax like $foo['bar'] |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
756 | (r'(\$)([a-zA-Z_][\w.]*\w)', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
757 | bygroups(Comment.Preproc, using(CheetahPythonLexer))), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
758 | (r'(\$\{!?)(.*?)(\})(?s)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
759 | bygroups(Comment.Preproc, using(CheetahPythonLexer), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
760 | Comment.Preproc)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
761 | (r'''(?sx) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
762 | (.+?) # anything, followed by: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
763 | (?: |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
764 | (?=\#[#a-zA-Z]*) | # an eval comment |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
765 | (?=\$[a-zA-Z_{]) | # a substitution |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
766 | \Z # end of string |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
767 | ) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
768 | ''', Other), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
769 | (r'\s+', Text), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
770 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
771 | } |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
772 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
773 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
774 | class CheetahHtmlLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
775 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
776 | Subclass of the `CheetahLexer` that highlights unlexed data |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
777 | with the `HtmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
778 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
779 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
780 | name = 'HTML+Cheetah' |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
781 | aliases = ['html+cheetah', 'html+spitfire', 'htmlcheetah'] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
782 | mimetypes = ['text/html+cheetah', 'text/html+spitfire'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
783 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
784 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
785 | super(CheetahHtmlLexer, self).__init__(HtmlLexer, CheetahLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
786 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
787 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
788 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
789 | class CheetahXmlLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
790 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
791 | Subclass of the `CheetahLexer` that highlights unlexed data |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
792 | with the `XmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
793 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
794 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
795 | name = 'XML+Cheetah' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
796 | aliases = ['xml+cheetah', 'xml+spitfire'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
797 | mimetypes = ['application/xml+cheetah', 'application/xml+spitfire'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
798 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
799 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
800 | super(CheetahXmlLexer, self).__init__(XmlLexer, CheetahLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
801 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
802 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
803 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
804 | class CheetahJavascriptLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
805 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
806 | Subclass of the `CheetahLexer` that highlights unlexed data |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
807 | with the `JavascriptLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
808 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
809 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
810 | name = 'JavaScript+Cheetah' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
811 | aliases = ['js+cheetah', 'javascript+cheetah', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
812 | 'js+spitfire', 'javascript+spitfire'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
813 | mimetypes = ['application/x-javascript+cheetah', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
814 | 'text/x-javascript+cheetah', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
815 | 'text/javascript+cheetah', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
816 | 'application/x-javascript+spitfire', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
817 | 'text/x-javascript+spitfire', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
818 | 'text/javascript+spitfire'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
819 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
820 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
821 | super(CheetahJavascriptLexer, self).__init__(JavascriptLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
822 | CheetahLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
823 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
824 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
825 | class GenshiTextLexer(RegexLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
826 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
827 | A lexer that highlights `genshi <http://genshi.edgewall.org/>`_ text |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
828 | templates. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
829 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
830 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
831 | name = 'Genshi Text' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
832 | aliases = ['genshitext'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
833 | mimetypes = ['application/x-genshi-text', 'text/x-genshi'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
834 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
835 | tokens = { |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
836 | 'root': [ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
837 | (r'[^#$\s]+', Other), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
838 | (r'^(\s*)(##.*)$', bygroups(Text, Comment)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
839 | (r'^(\s*)(#)', bygroups(Text, Comment.Preproc), 'directive'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
840 | include('variable'), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
841 | (r'[#$\s]', Other), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
842 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
843 | 'directive': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
844 | (r'\n', Text, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
845 | (r'(?:def|for|if)\s+.*', using(PythonLexer), '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
846 | (r'(choose|when|with)([^\S\n]+)(.*)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
847 | bygroups(Keyword, Text, using(PythonLexer)), '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
848 | (r'(choose|otherwise)\b', Keyword, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
849 | (r'(end\w*)([^\S\n]*)(.*)', bygroups(Keyword, Text, Comment), '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
850 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
851 | 'variable': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
852 | (r'(?<!\$)(\$\{)(.+?)(\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
853 | bygroups(Comment.Preproc, using(PythonLexer), Comment.Preproc)), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
854 | (r'(?<!\$)(\$)([a-zA-Z_][\w.]*)', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
855 | Name.Variable), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
856 | ] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
857 | } |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
858 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
859 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
860 | class GenshiMarkupLexer(RegexLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
861 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
862 | Base lexer for Genshi markup, used by `HtmlGenshiLexer` and |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | `GenshiLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
864 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
865 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
866 | flags = re.DOTALL |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
867 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
868 | tokens = { |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
869 | 'root': [ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
870 | (r'[^<$]+', Other), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
871 | (r'(<\?python)(.*?)(\?>)', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
872 | bygroups(Comment.Preproc, using(PythonLexer), Comment.Preproc)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
873 | # yield style and script blocks as Other |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
874 | (r'<\s*(script|style)\s*.*?>.*?<\s*/\1\s*>', Other), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
875 | (r'<\s*py:[a-zA-Z0-9]+', Name.Tag, 'pytag'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
876 | (r'<\s*[a-zA-Z0-9:]+', Name.Tag, 'tag'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
877 | include('variable'), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
878 | (r'[<$]', Other), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
879 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
880 | 'pytag': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
881 | (r'\s+', Text), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
882 | (r'[\w:-]+\s*=', Name.Attribute, 'pyattr'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
883 | (r'/?\s*>', Name.Tag, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
884 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
885 | 'pyattr': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
886 | ('(")(.*?)(")', bygroups(String, using(PythonLexer), String), '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | ("(')(.*?)(')", bygroups(String, using(PythonLexer), String), '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
888 | (r'[^\s>]+', String, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
889 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
890 | 'tag': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
891 | (r'\s+', Text), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
892 | (r'py:[\w-]+\s*=', Name.Attribute, 'pyattr'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
893 | (r'[\w:-]+\s*=', Name.Attribute, 'attr'), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
894 | (r'/?\s*>', Name.Tag, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
895 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
896 | 'attr': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
897 | ('"', String, 'attr-dstring'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
898 | ("'", String, 'attr-sstring'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
899 | (r'[^\s>]*', String, '#pop') |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
900 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
901 | 'attr-dstring': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
902 | ('"', String, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
903 | include('strings'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
904 | ("'", String) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
905 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
906 | 'attr-sstring': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
907 | ("'", String, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
908 | include('strings'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
909 | ("'", String) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
910 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
911 | 'strings': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
912 | ('[^"\'$]+', String), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
913 | include('variable') |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
914 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
915 | 'variable': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
916 | (r'(?<!\$)(\$\{)(.+?)(\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
917 | bygroups(Comment.Preproc, using(PythonLexer), Comment.Preproc)), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
918 | (r'(?<!\$)(\$)([a-zA-Z_][\w\.]*)', |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
919 | Name.Variable), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
920 | ] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
921 | } |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
922 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
923 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
924 | class HtmlGenshiLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
925 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
926 | A lexer that highlights `genshi <http://genshi.edgewall.org/>`_ and |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
927 | `kid <http://kid-templating.org/>`_ kid HTML templates. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
928 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
929 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
930 | name = 'HTML+Genshi' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
931 | aliases = ['html+genshi', 'html+kid'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
932 | alias_filenames = ['*.html', '*.htm', '*.xhtml'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
933 | mimetypes = ['text/html+genshi'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
934 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
935 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
936 | super(HtmlGenshiLexer, self).__init__(HtmlLexer, GenshiMarkupLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
937 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
938 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
939 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
940 | rv = 0.0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
941 | if re.search('\$\{.*?\}', text) is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
942 | rv += 0.2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
943 | if re.search('py:(.*?)=["\']', text) is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
944 | rv += 0.2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
945 | return rv + HtmlLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
946 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
947 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
948 | class GenshiLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
949 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
950 | A lexer that highlights `genshi <http://genshi.edgewall.org/>`_ and |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
951 | `kid <http://kid-templating.org/>`_ kid XML templates. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
952 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
953 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
954 | name = 'Genshi' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
955 | aliases = ['genshi', 'kid', 'xml+genshi', 'xml+kid'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
956 | filenames = ['*.kid'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
957 | alias_filenames = ['*.xml'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
958 | mimetypes = ['application/x-genshi', 'application/x-kid'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
959 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
960 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
961 | super(GenshiLexer, self).__init__(XmlLexer, GenshiMarkupLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
962 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
963 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
964 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
965 | rv = 0.0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
966 | if re.search('\$\{.*?\}', text) is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
967 | rv += 0.2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
968 | if re.search('py:(.*?)=["\']', text) is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
969 | rv += 0.2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
970 | return rv + XmlLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
971 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
972 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
973 | class JavascriptGenshiLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
974 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
975 | A lexer that highlights javascript code in genshi text templates. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
976 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
977 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
978 | name = 'JavaScript+Genshi Text' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
979 | aliases = ['js+genshitext', 'js+genshi', 'javascript+genshitext', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
980 | 'javascript+genshi'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
981 | alias_filenames = ['*.js'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
982 | mimetypes = ['application/x-javascript+genshi', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
983 | 'text/x-javascript+genshi', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
984 | 'text/javascript+genshi'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
985 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
986 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
987 | super(JavascriptGenshiLexer, self).__init__(JavascriptLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
988 | GenshiTextLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
989 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
990 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
991 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
992 | return GenshiLexer.analyse_text(text) - 0.05 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
993 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
994 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
995 | class CssGenshiLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
996 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
997 | A lexer that highlights CSS definitions in genshi text templates. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
998 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
999 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1000 | name = 'CSS+Genshi Text' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1001 | aliases = ['css+genshitext', 'css+genshi'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1002 | alias_filenames = ['*.css'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1003 | mimetypes = ['text/css+genshi'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1004 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1005 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1006 | super(CssGenshiLexer, self).__init__(CssLexer, GenshiTextLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1007 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1008 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1009 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1010 | return GenshiLexer.analyse_text(text) - 0.05 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1011 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1012 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1013 | class RhtmlLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1014 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1015 | Subclass of the ERB lexer that highlights the unlexed data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1016 | html lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1017 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1018 | Nested Javascript and CSS is highlighted too. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1019 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1020 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1021 | name = 'RHTML' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1022 | aliases = ['rhtml', 'html+erb', 'html+ruby'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1023 | filenames = ['*.rhtml'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1024 | alias_filenames = ['*.html', '*.htm', '*.xhtml'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1025 | mimetypes = ['text/html+ruby'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1026 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1027 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1028 | super(RhtmlLexer, self).__init__(HtmlLexer, ErbLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1029 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1030 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1031 | rv = ErbLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1032 | if html_doctype_matches(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1033 | # one more than the XmlErbLexer returns |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1034 | rv += 0.5 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1035 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1036 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1037 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1038 | class XmlErbLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1039 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1040 | Subclass of `ErbLexer` which highlights data outside preprocessor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1041 | directives with the `XmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1042 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1043 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1044 | name = 'XML+Ruby' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1045 | aliases = ['xml+erb', 'xml+ruby'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1046 | alias_filenames = ['*.xml'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1047 | mimetypes = ['application/xml+ruby'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1048 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1049 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1050 | super(XmlErbLexer, self).__init__(XmlLexer, ErbLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1051 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1052 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1053 | rv = ErbLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1054 | if looks_like_xml(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1055 | rv += 0.4 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1056 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1057 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1058 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1059 | class CssErbLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1060 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1061 | Subclass of `ErbLexer` which highlights unlexed data with the `CssLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1062 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1063 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1064 | name = 'CSS+Ruby' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1065 | aliases = ['css+erb', 'css+ruby'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1066 | alias_filenames = ['*.css'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1067 | mimetypes = ['text/css+ruby'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1068 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1069 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1070 | super(CssErbLexer, self).__init__(CssLexer, ErbLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1071 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1072 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1073 | return ErbLexer.analyse_text(text) - 0.05 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1074 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1075 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1076 | class JavascriptErbLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1077 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1078 | Subclass of `ErbLexer` which highlights unlexed data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1079 | `JavascriptLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1080 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1081 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1082 | name = 'JavaScript+Ruby' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1083 | aliases = ['js+erb', 'javascript+erb', 'js+ruby', 'javascript+ruby'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1084 | alias_filenames = ['*.js'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1085 | mimetypes = ['application/x-javascript+ruby', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1086 | 'text/x-javascript+ruby', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1087 | 'text/javascript+ruby'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1088 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1089 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1090 | super(JavascriptErbLexer, self).__init__(JavascriptLexer, ErbLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1091 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1092 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1093 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1094 | return ErbLexer.analyse_text(text) - 0.05 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1095 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1096 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1097 | class HtmlPhpLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1098 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1099 | Subclass of `PhpLexer` that highlights unhandled data with the `HtmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1100 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1101 | Nested Javascript and CSS is highlighted too. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1102 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1103 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1104 | name = 'HTML+PHP' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1105 | aliases = ['html+php'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1106 | filenames = ['*.phtml'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1107 | alias_filenames = ['*.php', '*.html', '*.htm', '*.xhtml', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1108 | '*.php[345]'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1109 | mimetypes = ['application/x-php', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1110 | 'application/x-httpd-php', 'application/x-httpd-php3', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1111 | 'application/x-httpd-php4', 'application/x-httpd-php5'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1112 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1113 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1114 | super(HtmlPhpLexer, self).__init__(HtmlLexer, PhpLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1115 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1116 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1117 | rv = PhpLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1118 | if html_doctype_matches(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1119 | rv += 0.5 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1120 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1121 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1122 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1123 | class XmlPhpLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1124 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1125 | Subclass of `PhpLexer` that highlights unhandled data with the `XmlLexer`. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1126 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1127 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1128 | name = 'XML+PHP' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1129 | aliases = ['xml+php'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1130 | alias_filenames = ['*.xml', '*.php', '*.php[345]'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1131 | mimetypes = ['application/xml+php'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1132 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1133 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1134 | super(XmlPhpLexer, self).__init__(XmlLexer, PhpLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1135 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1136 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1137 | rv = PhpLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1138 | if looks_like_xml(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1139 | rv += 0.4 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1140 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1141 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1142 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1143 | class CssPhpLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1144 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1145 | Subclass of `PhpLexer` which highlights unmatched data with the `CssLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1146 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1147 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1148 | name = 'CSS+PHP' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1149 | aliases = ['css+php'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1150 | alias_filenames = ['*.css'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1151 | mimetypes = ['text/css+php'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1152 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1153 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1154 | super(CssPhpLexer, self).__init__(CssLexer, PhpLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1155 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1156 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1157 | return PhpLexer.analyse_text(text) - 0.05 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1158 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1159 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1160 | class JavascriptPhpLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1161 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1162 | Subclass of `PhpLexer` which highlights unmatched data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1163 | `JavascriptLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1164 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1165 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1166 | name = 'JavaScript+PHP' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1167 | aliases = ['js+php', 'javascript+php'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1168 | alias_filenames = ['*.js'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1169 | mimetypes = ['application/x-javascript+php', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1170 | 'text/x-javascript+php', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1171 | 'text/javascript+php'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1172 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1173 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1174 | super(JavascriptPhpLexer, self).__init__(JavascriptLexer, PhpLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1175 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1176 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1177 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1178 | return PhpLexer.analyse_text(text) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1179 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1180 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1181 | class HtmlSmartyLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1182 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1183 | Subclass of the `SmartyLexer` that highlights unlexed data with the |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1184 | `HtmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1185 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1186 | Nested Javascript and CSS is highlighted too. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1187 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1188 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1189 | name = 'HTML+Smarty' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1190 | aliases = ['html+smarty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1191 | alias_filenames = ['*.html', '*.htm', '*.xhtml', '*.tpl'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1192 | mimetypes = ['text/html+smarty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1193 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1194 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1195 | super(HtmlSmartyLexer, self).__init__(HtmlLexer, SmartyLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1196 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1197 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1198 | rv = SmartyLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1199 | if html_doctype_matches(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1200 | rv += 0.5 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1201 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1202 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1203 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1204 | class XmlSmartyLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1205 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1206 | Subclass of the `SmartyLexer` that highlights unlexed data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1207 | `XmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1208 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1209 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1210 | name = 'XML+Smarty' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1211 | aliases = ['xml+smarty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1212 | alias_filenames = ['*.xml', '*.tpl'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1213 | mimetypes = ['application/xml+smarty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1214 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1215 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1216 | super(XmlSmartyLexer, self).__init__(XmlLexer, SmartyLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1217 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1218 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1219 | rv = SmartyLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1220 | if looks_like_xml(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1221 | rv += 0.4 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1222 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1223 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1224 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1225 | class CssSmartyLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1226 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1227 | Subclass of the `SmartyLexer` that highlights unlexed data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1228 | `CssLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1229 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1230 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1231 | name = 'CSS+Smarty' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1232 | aliases = ['css+smarty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1233 | alias_filenames = ['*.css', '*.tpl'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1234 | mimetypes = ['text/css+smarty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1235 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1236 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1237 | super(CssSmartyLexer, self).__init__(CssLexer, SmartyLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1238 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1239 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1240 | return SmartyLexer.analyse_text(text) - 0.05 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1241 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1242 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1243 | class JavascriptSmartyLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1244 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1245 | Subclass of the `SmartyLexer` that highlights unlexed data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1246 | `JavascriptLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1247 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1248 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1249 | name = 'JavaScript+Smarty' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1250 | aliases = ['js+smarty', 'javascript+smarty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1251 | alias_filenames = ['*.js', '*.tpl'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1252 | mimetypes = ['application/x-javascript+smarty', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1253 | 'text/x-javascript+smarty', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1254 | 'text/javascript+smarty'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1255 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1256 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1257 | super(JavascriptSmartyLexer, self).__init__(JavascriptLexer, SmartyLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1258 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1259 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1260 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1261 | return SmartyLexer.analyse_text(text) - 0.05 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1262 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1263 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1264 | class HtmlDjangoLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1265 | """ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1266 | Subclass of the `DjangoLexer` that highlights unlexed data with the |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1267 | `HtmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1268 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1269 | Nested Javascript and CSS is highlighted too. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1270 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1271 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1272 | name = 'HTML+Django/Jinja' |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1273 | aliases = ['html+django', 'html+jinja', 'htmldjango'] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1274 | alias_filenames = ['*.html', '*.htm', '*.xhtml'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1275 | mimetypes = ['text/html+django', 'text/html+jinja'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1276 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1277 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1278 | super(HtmlDjangoLexer, self).__init__(HtmlLexer, DjangoLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1279 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1280 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1281 | rv = DjangoLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1282 | if html_doctype_matches(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1283 | rv += 0.5 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1284 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1285 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1286 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1287 | class XmlDjangoLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1288 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1289 | Subclass of the `DjangoLexer` that highlights unlexed data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1290 | `XmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1291 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1292 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1293 | name = 'XML+Django/Jinja' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1294 | aliases = ['xml+django', 'xml+jinja'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1295 | alias_filenames = ['*.xml'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1296 | mimetypes = ['application/xml+django', 'application/xml+jinja'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1297 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1298 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1299 | super(XmlDjangoLexer, self).__init__(XmlLexer, DjangoLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1300 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1301 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1302 | rv = DjangoLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1303 | if looks_like_xml(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1304 | rv += 0.4 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1305 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1306 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1307 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1308 | class CssDjangoLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1309 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1310 | Subclass of the `DjangoLexer` that highlights unlexed data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1311 | `CssLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1312 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1313 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1314 | name = 'CSS+Django/Jinja' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1315 | aliases = ['css+django', 'css+jinja'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1316 | alias_filenames = ['*.css'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1317 | mimetypes = ['text/css+django', 'text/css+jinja'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1318 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1319 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1320 | super(CssDjangoLexer, self).__init__(CssLexer, DjangoLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1321 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1322 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1323 | return DjangoLexer.analyse_text(text) - 0.05 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1324 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1325 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1326 | class JavascriptDjangoLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1327 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1328 | Subclass of the `DjangoLexer` that highlights unlexed data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1329 | `JavascriptLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1330 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1331 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1332 | name = 'JavaScript+Django/Jinja' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1333 | aliases = ['js+django', 'javascript+django', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1334 | 'js+jinja', 'javascript+jinja'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1335 | alias_filenames = ['*.js'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1336 | mimetypes = ['application/x-javascript+django', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1337 | 'application/x-javascript+jinja', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1338 | 'text/x-javascript+django', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1339 | 'text/x-javascript+jinja', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1340 | 'text/javascript+django', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1341 | 'text/javascript+jinja'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1342 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1343 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1344 | super(JavascriptDjangoLexer, self).__init__(JavascriptLexer, DjangoLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1345 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1346 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1347 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1348 | return DjangoLexer.analyse_text(text) - 0.05 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1349 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1350 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1351 | class JspRootLexer(RegexLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1352 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1353 | Base for the `JspLexer`. Yields `Token.Other` for area outside of |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1354 | JSP tags. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1355 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1356 | .. versionadded:: 0.7 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1357 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1358 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1359 | tokens = { |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1360 | 'root': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1361 | (r'<%\S?', Keyword, 'sec'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1362 | # FIXME: I want to make these keywords but still parse attributes. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1363 | (r'</?jsp:(forward|getProperty|include|plugin|setProperty|useBean).*?>', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1364 | Keyword), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1365 | (r'[^<]+', Other), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1366 | (r'<', Other), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1367 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1368 | 'sec': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1369 | (r'%>', Keyword, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1370 | # note: '\w\W' != '.' without DOTALL. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1371 | (r'[\w\W]+?(?=%>|\Z)', using(JavaLexer)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1372 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1373 | } |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1374 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1375 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1376 | class JspLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1377 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1378 | Lexer for Java Server Pages. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1379 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1380 | .. versionadded:: 0.7 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1381 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1382 | name = 'Java Server Page' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1383 | aliases = ['jsp'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1384 | filenames = ['*.jsp'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1385 | mimetypes = ['application/x-jsp'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1386 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1387 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1388 | super(JspLexer, self).__init__(XmlLexer, JspRootLexer, **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1389 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1390 | def analyse_text(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1391 | rv = JavaLexer.analyse_text(text) - 0.01 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1392 | if looks_like_xml(text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1393 | rv += 0.4 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1394 | if '<%' in text and '%>' in text: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1395 | rv += 0.1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1396 | return rv |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1397 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1398 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1399 | class EvoqueLexer(RegexLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1400 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1401 | For files using the Evoque templating system. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1402 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1403 | .. versionadded:: 1.1 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1404 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1405 | name = 'Evoque' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1406 | aliases = ['evoque'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1407 | filenames = ['*.evoque'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1408 | mimetypes = ['application/x-evoque'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1409 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1410 | flags = re.DOTALL |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1411 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1412 | tokens = { |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1413 | 'root': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1414 | (r'[^#$]+', Other), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1415 | (r'#\[', Comment.Multiline, 'comment'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1416 | (r'\$\$', Other), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1417 | # svn keywords |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1418 | (r'\$\w+:[^$\n]*\$', Comment.Multiline), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1419 | # directives: begin, end |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1420 | (r'(\$)(begin|end)(\{(%)?)(.*?)((?(4)%)\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1421 | bygroups(Punctuation, Name.Builtin, Punctuation, None, |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1422 | String, Punctuation)), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1423 | # directives: evoque, overlay |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1424 | # see doc for handling first name arg: /directives/evoque/ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1425 | # + minor inconsistency: the "name" in e.g. $overlay{name=site_base} |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1426 | # should be using(PythonLexer), not passed out as String |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1427 | (r'(\$)(evoque|overlay)(\{(%)?)(\s*[#\w\-"\'.]+[^=,%}]+?)?' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1428 | r'(.*?)((?(4)%)\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1429 | bygroups(Punctuation, Name.Builtin, Punctuation, None, |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1430 | String, using(PythonLexer), Punctuation)), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1431 | # directives: if, for, prefer, test |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1432 | (r'(\$)(\w+)(\{(%)?)(.*?)((?(4)%)\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1433 | bygroups(Punctuation, Name.Builtin, Punctuation, None, |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1434 | using(PythonLexer), Punctuation)), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1435 | # directive clauses (no {} expression) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1436 | (r'(\$)(else|rof|fi)', bygroups(Punctuation, Name.Builtin)), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1437 | # expressions |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1438 | (r'(\$\{(%)?)(.*?)((!)(.*?))?((?(2)%)\})', |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1439 | bygroups(Punctuation, None, using(PythonLexer), |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1440 | Name.Builtin, None, None, Punctuation)), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1441 | (r'#', Other), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1442 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1443 | 'comment': [ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1444 | (r'[^\]#]', Comment.Multiline), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1445 | (r'#\[', Comment.Multiline, '#push'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1446 | (r'\]#', Comment.Multiline, '#pop'), |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1447 | (r'[\]#]', Comment.Multiline) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1448 | ], |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1449 | } |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1450 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1451 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1452 | class EvoqueHtmlLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1453 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1454 | Subclass of the `EvoqueLexer` that highlights unlexed data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1455 | `HtmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1456 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1457 | .. versionadded:: 1.1 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1458 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1459 | name = 'HTML+Evoque' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1460 | aliases = ['html+evoque'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1461 | filenames = ['*.html'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1462 | mimetypes = ['text/html+evoque'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1463 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1464 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1465 | super(EvoqueHtmlLexer, self).__init__(HtmlLexer, EvoqueLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1466 | **options) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1467 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1468 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1469 | class EvoqueXmlLexer(DelegatingLexer): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1470 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1471 | Subclass of the `EvoqueLexer` that highlights unlexed data with the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1472 | `XmlLexer`. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1473 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1474 | .. versionadded:: 1.1 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1475 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1476 | name = 'XML+Evoque' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1477 | aliases = ['xml+evoque'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1478 | filenames = ['*.xml'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1479 | mimetypes = ['application/xml+evoque'] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1480 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1481 | def __init__(self, **options): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1482 | super(EvoqueXmlLexer, self).__init__(XmlLexer, EvoqueLexer, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1483 | **options) |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1484 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1485 | |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1486 | class ColdfusionLexer(RegexLexer): |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1487 | """ |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1488 | Coldfusion statements |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1489 | """ |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1490 | name = 'cfstatement' |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1491 | aliases = ['cfs'] |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1492 | filenames = [] |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1493 | mimetypes = [] |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1494 | flags = re.IGNORECASE |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1495 | |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1496 | tokens = { |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1497 | 'root': [ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1498 | (r'//.*?\n', Comment.Single), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1499 | (r'/\*(?:.|\n)*?\*/', Comment.Multiline), |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1500 | (r'\+\+|--', Operator), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1501 | (r'[-+*/^&=!]', Operator), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1502 | (r'<=|>=|<|>|==', Operator), |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1503 | (r'mod\b', Operator), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1504 | (r'(eq|lt|gt|lte|gte|not|is|and|or)\b', Operator), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1505 | (r'\|\||&&', Operator), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1506 | (r'\?', Operator), |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1507 | (r'"', String.Double, 'string'), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1508 | # There is a special rule for allowing html in single quoted |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1509 | # strings, evidently. |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1510 | (r"'.*?'", String.Single), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1511 | (r'\d+', Number), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1512 | (r'(if|else|len|var|xml|default|break|switch|component|property|function|do|' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1513 | r'try|catch|in|continue|for|return|while|required|any|array|binary|boolean|' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1514 | r'component|date|guid|numeric|query|string|struct|uuid|case)\b', Keyword), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1515 | (r'(true|false|null)\b', Keyword.Constant), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1516 | (r'(application|session|client|cookie|super|this|variables|arguments)\b', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1517 | Name.Constant), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1518 | (r'([a-z_$][\w.]*)(\s*)(\()', |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1519 | bygroups(Name.Function, Text, Punctuation)), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1520 | (r'[a-z_$][\w.]*', Name.Variable), |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1521 | (r'[()\[\]{};:,.\\]', Punctuation), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1522 | (r'\s+', Text), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1523 | ], |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1524 | 'string': [ |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1525 | (r'""', String.Double), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1526 | (r'#.+?#', String.Interp), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1527 | (r'[^"#]+', String.Double), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1528 | (r'#', String.Double), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1529 | (r'"', String.Double, '#pop'), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1530 | ], |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1531 | } |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1532 | |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1533 | |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1534 | class ColdfusionMarkupLexer(RegexLexer): |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1535 | """ |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1536 | Coldfusion markup only |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1537 | """ |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1538 | name = 'Coldfusion' |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1539 | aliases = ['cf'] |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1540 | filenames = [] |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1541 | mimetypes = [] |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1542 | |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1543 | tokens = { |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1544 | 'root': [ |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1545 | (r'[^<]+', Other), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1546 | include('tags'), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1547 | (r'<[^<>]*', Other), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1548 | ], |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1549 | 'tags': [ |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1550 | (r'<!---', Comment.Multiline, 'cfcomment'), |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1551 | (r'(?s)<!--.*?-->', Comment), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1552 | (r'<cfoutput.*?>', Name.Builtin, 'cfoutput'), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1553 | (r'(?s)(<cfscript.*?>)(.+?)(</cfscript.*?>)', |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1554 | bygroups(Name.Builtin, using(ColdfusionLexer), Name.Builtin)), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1555 | # negative lookbehind is for strings with embedded > |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1556 | (r'(?s)(</?cf(?:component|include|if|else|elseif|loop|return|' |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1557 | r'dbinfo|dump|abort|location|invoke|throw|file|savecontent|' |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1558 | r'mailpart|mail|header|content|zip|image|lock|argument|try|' |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1559 | r'catch|break|directory|http|set|function|param)\b)(.*?)((?<!\\)>)', |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1560 | bygroups(Name.Builtin, using(ColdfusionLexer), Name.Builtin)), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1561 | ], |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1562 | 'cfoutput': [ |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1563 | (r'[^#<]+', Other), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1564 | (r'(#)(.*?)(#)', bygroups(Punctuation, using(ColdfusionLexer), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1565 | Punctuation)), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1566 | # (r'<cfoutput.*?>', Name.Builtin, '#push'), |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1567 | (r'</cfoutput.*?>', Name.Builtin, '#pop'), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1568 | include('tags'), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1569 | (r'(?s)<[^<>]*', Other), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1570 | (r'#', Other), |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1571 | ], |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1572 | 'cfcomment': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1573 | (r'<!---', Comment.Multiline, '#push'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1574 | (r'--->', Comment.Multiline, '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1575 | (r'([^<-]|<(?!!---)|-(?!-->))+', Comment.Multiline), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1576 | ], |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1577 | } |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1578 | |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1579 | |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1580 | class ColdfusionHtmlLexer(DelegatingLexer): |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1581 | """ |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1582 | Coldfusion markup in html |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1583 | """ |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1584 | name = 'Coldfusion HTML' |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1585 | aliases = ['cfm'] |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1586 | filenames = ['*.cfm', '*.cfml'] |
684
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1587 | mimetypes = ['application/x-coldfusion'] |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1588 | |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1589 | def __init__(self, **options): |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1590 | super(ColdfusionHtmlLexer, self).__init__(HtmlLexer, ColdfusionMarkupLexer, |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1591 | **options) |
2f29a0b6e1c7
Updated Pygments to version 1.3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
1592 | |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1593 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1594 | class ColdfusionCFCLexer(DelegatingLexer): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1595 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1596 | Coldfusion markup/script components |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1597 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1598 | .. versionadded:: 2.0 |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1599 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1600 | name = 'Coldfusion CFC' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1601 | aliases = ['cfc'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1602 | filenames = ['*.cfc'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1603 | mimetypes = [] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1604 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1605 | def __init__(self, **options): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1606 | super(ColdfusionCFCLexer, self).__init__(ColdfusionHtmlLexer, ColdfusionLexer, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1607 | **options) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1608 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1609 | |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1610 | class SspLexer(DelegatingLexer): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1611 | """ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1612 | Lexer for Scalate Server Pages. |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1613 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1614 | .. versionadded:: 1.4 |
808
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1615 | """ |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1616 | name = 'Scalate Server Page' |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1617 | aliases = ['ssp'] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1618 | filenames = ['*.ssp'] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1619 | mimetypes = ['application/x-ssp'] |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1620 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1621 | def __init__(self, **options): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1622 | super(SspLexer, self).__init__(XmlLexer, JspRootLexer, **options) |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1623 | |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1624 | def analyse_text(text): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1625 | rv = 0.0 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1626 | if re.search('val \w+\s*:', text): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1627 | rv += 0.6 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1628 | if looks_like_xml(text): |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1629 | rv += 0.2 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1630 | if '<%' in text and '%>' in text: |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1631 | rv += 0.1 |
8f85926125ef
Updated Pygments to version 1.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
684
diff
changeset
|
1632 | return rv |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1633 | |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1634 | |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1635 | class TeaTemplateRootLexer(RegexLexer): |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1636 | """ |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1637 | Base for the `TeaTemplateLexer`. Yields `Token.Other` for area outside of |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1638 | code blocks. |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1639 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1640 | .. versionadded:: 1.5 |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1641 | """ |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1642 | |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1643 | tokens = { |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1644 | 'root': [ |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1645 | (r'<%\S?', Keyword, 'sec'), |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1646 | (r'[^<]+', Other), |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1647 | (r'<', Other), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1648 | ], |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1649 | 'sec': [ |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1650 | (r'%>', Keyword, '#pop'), |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1651 | # note: '\w\W' != '.' without DOTALL. |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1652 | (r'[\w\W]+?(?=%>|\Z)', using(TeaLangLexer)), |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1653 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1654 | } |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1655 | |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1656 | |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1657 | class TeaTemplateLexer(DelegatingLexer): |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1658 | """ |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1659 | Lexer for `Tea Templates <http://teatrove.org/>`_. |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1660 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1661 | .. versionadded:: 1.5 |
1705
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1662 | """ |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1663 | name = 'Tea' |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1664 | aliases = ['tea'] |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1665 | filenames = ['*.tea'] |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1666 | mimetypes = ['text/x-tea'] |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1667 | |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1668 | def __init__(self, **options): |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1669 | super(TeaTemplateLexer, self).__init__(XmlLexer, |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1670 | TeaTemplateRootLexer, **options) |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1671 | |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1672 | def analyse_text(text): |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1673 | rv = TeaLangLexer.analyse_text(text) - 0.01 |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1674 | if looks_like_xml(text): |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1675 | rv += 0.4 |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1676 | if '<%' in text and '%>' in text: |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1677 | rv += 0.1 |
b0fbc9300f2b
Update to Pygments 1.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
808
diff
changeset
|
1678 | return rv |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1679 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1680 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1681 | class LassoHtmlLexer(DelegatingLexer): |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1682 | """ |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1683 | Subclass of the `LassoLexer` which highlights unhandled data with the |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1684 | `HtmlLexer`. |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1685 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1686 | Nested JavaScript and CSS is also highlighted. |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1687 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1688 | .. versionadded:: 1.6 |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1689 | """ |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1690 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1691 | name = 'HTML+Lasso' |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1692 | aliases = ['html+lasso'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1693 | alias_filenames = ['*.html', '*.htm', '*.xhtml', '*.lasso', '*.lasso[89]', |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1694 | '*.incl', '*.inc', '*.las'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1695 | mimetypes = ['text/html+lasso', |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1696 | 'application/x-httpd-lasso', |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1697 | 'application/x-httpd-lasso[89]'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1698 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1699 | def __init__(self, **options): |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1700 | super(LassoHtmlLexer, self).__init__(HtmlLexer, LassoLexer, **options) |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1701 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1702 | def analyse_text(text): |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1703 | rv = LassoLexer.analyse_text(text) - 0.01 |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1704 | if html_doctype_matches(text): # same as HTML lexer |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1705 | rv += 0.5 |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1706 | return rv |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1707 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1708 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1709 | class LassoXmlLexer(DelegatingLexer): |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1710 | """ |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1711 | Subclass of the `LassoLexer` which highlights unhandled data with the |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1712 | `XmlLexer`. |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1713 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1714 | .. versionadded:: 1.6 |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1715 | """ |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1716 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1717 | name = 'XML+Lasso' |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1718 | aliases = ['xml+lasso'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1719 | alias_filenames = ['*.xml', '*.lasso', '*.lasso[89]', |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1720 | '*.incl', '*.inc', '*.las'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1721 | mimetypes = ['application/xml+lasso'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1722 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1723 | def __init__(self, **options): |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1724 | super(LassoXmlLexer, self).__init__(XmlLexer, LassoLexer, **options) |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1725 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1726 | def analyse_text(text): |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1727 | rv = LassoLexer.analyse_text(text) - 0.01 |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1728 | if looks_like_xml(text): |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1729 | rv += 0.4 |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1730 | return rv |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1731 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1732 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1733 | class LassoCssLexer(DelegatingLexer): |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1734 | """ |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1735 | Subclass of the `LassoLexer` which highlights unhandled data with the |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1736 | `CssLexer`. |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1737 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1738 | .. versionadded:: 1.6 |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1739 | """ |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1740 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1741 | name = 'CSS+Lasso' |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1742 | aliases = ['css+lasso'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1743 | alias_filenames = ['*.css'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1744 | mimetypes = ['text/css+lasso'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1745 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1746 | def __init__(self, **options): |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1747 | options['requiredelimiters'] = True |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1748 | super(LassoCssLexer, self).__init__(CssLexer, LassoLexer, **options) |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1749 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1750 | def analyse_text(text): |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1751 | rv = LassoLexer.analyse_text(text) - 0.05 |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1752 | if re.search(r'\w+:.+?;', text): |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1753 | rv += 0.1 |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1754 | if 'padding:' in text: |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1755 | rv += 0.1 |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1756 | return rv |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1757 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1758 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1759 | class LassoJavascriptLexer(DelegatingLexer): |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1760 | """ |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1761 | Subclass of the `LassoLexer` which highlights unhandled data with the |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1762 | `JavascriptLexer`. |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1763 | |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1764 | .. versionadded:: 1.6 |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1765 | """ |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1766 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1767 | name = 'JavaScript+Lasso' |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1768 | aliases = ['js+lasso', 'javascript+lasso'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1769 | alias_filenames = ['*.js'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1770 | mimetypes = ['application/x-javascript+lasso', |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1771 | 'text/x-javascript+lasso', |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1772 | 'text/javascript+lasso'] |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1773 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1774 | def __init__(self, **options): |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1775 | options['requiredelimiters'] = True |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1776 | super(LassoJavascriptLexer, self).__init__(JavascriptLexer, LassoLexer, |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1777 | **options) |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1778 | |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1779 | def analyse_text(text): |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1780 | rv = LassoLexer.analyse_text(text) - 0.05 |
2426
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1781 | if 'function' in text: |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1782 | rv += 0.2 |
da76c71624de
Updated to Pygments 1.6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1705
diff
changeset
|
1783 | return rv |
4172
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1784 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1785 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1786 | class HandlebarsLexer(RegexLexer): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1787 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1788 | Generic `handlebars <http://handlebarsjs.com/>` template lexer. |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1789 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1790 | Highlights only the Handlebars template tags (stuff between `{{` and `}}`). |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1791 | Everything else is left for a delegating lexer. |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1792 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1793 | .. versionadded:: 2.0 |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1794 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1795 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1796 | name = "Handlebars" |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1797 | aliases = ['handlebars'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1798 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1799 | tokens = { |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1800 | 'root': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1801 | (r'[^{]+', Other), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1802 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1803 | (r'\{\{!.*\}\}', Comment), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1804 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1805 | (r'(\{\{\{)(\s*)', bygroups(Comment.Special, Text), 'tag'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1806 | (r'(\{\{)(\s*)', bygroups(Comment.Preproc, Text), 'tag'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1807 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1808 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1809 | 'tag': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1810 | (r'\s+', Text), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1811 | (r'\}\}\}', Comment.Special, '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1812 | (r'\}\}', Comment.Preproc, '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1813 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1814 | # Handlebars |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1815 | (r'([#/]*)(each|if|unless|else|with|log|in)', bygroups(Keyword, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1816 | Keyword)), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1817 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1818 | # General {{#block}} |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1819 | (r'([#/])([\w-]+)', bygroups(Name.Function, Name.Function)), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1820 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1821 | # {{opt=something}} |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1822 | (r'([\w-]+)(=)', bygroups(Name.Attribute, Operator)), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1823 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1824 | # borrowed from DjangoLexer |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1825 | (r':?"(\\\\|\\"|[^"])*"', String.Double), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1826 | (r":?'(\\\\|\\'|[^'])*'", String.Single), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1827 | (r'[a-zA-Z][\w-]*', Name.Variable), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1828 | (r'\.[\w-]+', Name.Variable), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1829 | (r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|" |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1830 | r"0[xX][0-9a-fA-F]+[Ll]?", Number), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1831 | ] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1832 | } |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1833 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1834 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1835 | class HandlebarsHtmlLexer(DelegatingLexer): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1836 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1837 | Subclass of the `HandlebarsLexer` that highlights unlexed data with the |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1838 | `HtmlLexer`. |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1839 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1840 | .. versionadded:: 2.0 |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1841 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1842 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1843 | name = "HTML+Handlebars" |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1844 | aliases = ["html+handlebars"] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1845 | filenames = ['*.handlebars', '*.hbs'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1846 | mimetypes = ['text/html+handlebars', 'text/x-handlebars-template'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1847 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1848 | def __init__(self, **options): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1849 | super(HandlebarsHtmlLexer, self).__init__(HtmlLexer, HandlebarsLexer, **options) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1850 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1851 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1852 | class YamlJinjaLexer(DelegatingLexer): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1853 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1854 | Subclass of the `DjangoLexer` that highlights unlexed data with the |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1855 | `YamlLexer`. |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1856 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1857 | Commonly used in Saltstack salt states. |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1858 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1859 | .. versionadded:: 2.0 |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1860 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1861 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1862 | name = 'YAML+Jinja' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1863 | aliases = ['yaml+jinja', 'salt', 'sls'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1864 | filenames = ['*.sls'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1865 | mimetypes = ['text/x-yaml+jinja', 'text/x-sls'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1866 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1867 | def __init__(self, **options): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1868 | super(YamlJinjaLexer, self).__init__(YamlLexer, DjangoLexer, **options) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1869 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1870 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1871 | class LiquidLexer(RegexLexer): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1872 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1873 | Lexer for `Liquid templates |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1874 | <http://www.rubydoc.info/github/Shopify/liquid>`_. |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1875 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1876 | .. versionadded:: 2.0 |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1877 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1878 | name = 'liquid' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1879 | aliases = ['liquid'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1880 | filenames = ['*.liquid'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1881 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1882 | tokens = { |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1883 | 'root': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1884 | (r'[^{]+', Text), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1885 | # tags and block tags |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1886 | (r'(\{%)(\s*)', bygroups(Punctuation, Whitespace), 'tag-or-block'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1887 | # output tags |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1888 | (r'(\{\{)(\s*)([^\s}]+)', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1889 | bygroups(Punctuation, Whitespace, using(this, state = 'generic')), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1890 | 'output'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1891 | (r'\{', Text) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1892 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1893 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1894 | 'tag-or-block': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1895 | # builtin logic blocks |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1896 | (r'(if|unless|elsif|case)(?=\s+)', Keyword.Reserved, 'condition'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1897 | (r'(when)(\s+)', bygroups(Keyword.Reserved, Whitespace), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1898 | combined('end-of-block', 'whitespace', 'generic')), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1899 | (r'(else)(\s*)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1900 | bygroups(Keyword.Reserved, Whitespace, Punctuation), '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1901 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1902 | # other builtin blocks |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1903 | (r'(capture)(\s+)([^\s%]+)(\s*)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1904 | bygroups(Name.Tag, Whitespace, using(this, state = 'variable'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1905 | Whitespace, Punctuation), '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1906 | (r'(comment)(\s*)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1907 | bygroups(Name.Tag, Whitespace, Punctuation), 'comment'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1908 | (r'(raw)(\s*)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1909 | bygroups(Name.Tag, Whitespace, Punctuation), 'raw'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1910 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1911 | # end of block |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1912 | (r'(end(case|unless|if))(\s*)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1913 | bygroups(Keyword.Reserved, None, Whitespace, Punctuation), '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1914 | (r'(end([^\s%]+))(\s*)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1915 | bygroups(Name.Tag, None, Whitespace, Punctuation), '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1916 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1917 | # builtin tags (assign and include are handled together with usual tags) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1918 | (r'(cycle)(\s+)(?:([^\s:]*)(:))?(\s*)', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1919 | bygroups(Name.Tag, Whitespace, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1920 | using(this, state='generic'), Punctuation, Whitespace), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1921 | 'variable-tag-markup'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1922 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1923 | # other tags or blocks |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1924 | (r'([^\s%]+)(\s*)', bygroups(Name.Tag, Whitespace), 'tag-markup') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1925 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1926 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1927 | 'output': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1928 | include('whitespace'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1929 | ('\}\}', Punctuation, '#pop'), # end of output |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1930 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1931 | (r'\|', Punctuation, 'filters') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1932 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1933 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1934 | 'filters': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1935 | include('whitespace'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1936 | (r'\}\}', Punctuation, ('#pop', '#pop')), # end of filters and output |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1937 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1938 | (r'([^\s|:]+)(:?)(\s*)', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1939 | bygroups(Name.Function, Punctuation, Whitespace), 'filter-markup') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1940 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1941 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1942 | 'filter-markup': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1943 | (r'\|', Punctuation, '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1944 | include('end-of-tag'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1945 | include('default-param-markup') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1946 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1947 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1948 | 'condition': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1949 | include('end-of-block'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1950 | include('whitespace'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1951 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1952 | (r'([^\s=!><]+)(\s*)([=!><]=?)(\s*)(\S+)(\s*)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1953 | bygroups(using(this, state = 'generic'), Whitespace, Operator, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1954 | Whitespace, using(this, state = 'generic'), Whitespace, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1955 | Punctuation)), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1956 | (r'\b!', Operator), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1957 | (r'\bnot\b', Operator.Word), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1958 | (r'([\w.\'"]+)(\s+)(contains)(\s+)([\w.\'"]+)', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1959 | bygroups(using(this, state = 'generic'), Whitespace, Operator.Word, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1960 | Whitespace, using(this, state = 'generic'))), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1961 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1962 | include('generic'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1963 | include('whitespace') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1964 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1965 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1966 | 'generic-value': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1967 | include('generic'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1968 | include('end-at-whitespace') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1969 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1970 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1971 | 'operator': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1972 | (r'(\s*)((=|!|>|<)=?)(\s*)', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1973 | bygroups(Whitespace, Operator, None, Whitespace), '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1974 | (r'(\s*)(\bcontains\b)(\s*)', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1975 | bygroups(Whitespace, Operator.Word, Whitespace), '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1976 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1977 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1978 | 'end-of-tag': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1979 | (r'\}\}', Punctuation, '#pop') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1980 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1981 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1982 | 'end-of-block': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1983 | (r'%\}', Punctuation, ('#pop', '#pop')) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1984 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1985 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1986 | 'end-at-whitespace': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1987 | (r'\s+', Whitespace, '#pop') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1988 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1989 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1990 | # states for unknown markup |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1991 | 'param-markup': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1992 | include('whitespace'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1993 | # params with colons or equals |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1994 | (r'([^\s=:]+)(\s*)(=|:)', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1995 | bygroups(Name.Attribute, Whitespace, Operator)), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1996 | # explicit variables |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1997 | (r'(\{\{)(\s*)([^\s}])(\s*)(\}\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1998 | bygroups(Punctuation, Whitespace, using(this, state = 'variable'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
1999 | Whitespace, Punctuation)), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2000 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2001 | include('string'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2002 | include('number'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2003 | include('keyword'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2004 | (r',', Punctuation) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2005 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2006 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2007 | 'default-param-markup': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2008 | include('param-markup'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2009 | (r'.', Text) # fallback for switches / variables / un-quoted strings / ... |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2010 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2011 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2012 | 'variable-param-markup': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2013 | include('param-markup'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2014 | include('variable'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2015 | (r'.', Text) # fallback |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2016 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2017 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2018 | 'tag-markup': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2019 | (r'%\}', Punctuation, ('#pop', '#pop')), # end of tag |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2020 | include('default-param-markup') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2021 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2022 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2023 | 'variable-tag-markup': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2024 | (r'%\}', Punctuation, ('#pop', '#pop')), # end of tag |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2025 | include('variable-param-markup') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2026 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2027 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2028 | # states for different values types |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2029 | 'keyword': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2030 | (r'\b(false|true)\b', Keyword.Constant) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2031 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2032 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2033 | 'variable': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2034 | (r'[a-zA-Z_]\w*', Name.Variable), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2035 | (r'(?<=\w)\.(?=\w)', Punctuation) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2036 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2037 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2038 | 'string': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2039 | (r"'[^']*'", String.Single), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2040 | (r'"[^"]*"', String.Double) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2041 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2042 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2043 | 'number': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2044 | (r'\d+\.\d+', Number.Float), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2045 | (r'\d+', Number.Integer) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2046 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2047 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2048 | 'generic': [ # decides for variable, string, keyword or number |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2049 | include('keyword'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2050 | include('string'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2051 | include('number'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2052 | include('variable') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2053 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2054 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2055 | 'whitespace': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2056 | (r'[ \t]+', Whitespace) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2057 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2058 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2059 | # states for builtin blocks |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2060 | 'comment': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2061 | (r'(\{%)(\s*)(endcomment)(\s*)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2062 | bygroups(Punctuation, Whitespace, Name.Tag, Whitespace, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2063 | Punctuation), ('#pop', '#pop')), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2064 | (r'.', Comment) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2065 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2066 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2067 | 'raw': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2068 | (r'[^{]+', Text), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2069 | (r'(\{%)(\s*)(endraw)(\s*)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2070 | bygroups(Punctuation, Whitespace, Name.Tag, Whitespace, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2071 | Punctuation), '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2072 | (r'\{', Text) |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2073 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2074 | } |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2075 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2076 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2077 | class TwigLexer(RegexLexer): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2078 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2079 | `Twig <http://twig.sensiolabs.org/>`_ template lexer. |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2080 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2081 | It just highlights Twig code between the preprocessor directives, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2082 | other data is left untouched by the lexer. |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2083 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2084 | .. versionadded:: 2.0 |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2085 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2086 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2087 | name = 'Twig' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2088 | aliases = ['twig'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2089 | mimetypes = ['application/x-twig'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2090 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2091 | flags = re.M | re.S |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2092 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2093 | # Note that a backslash is included in the following two patterns |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2094 | # PHP uses a backslash as a namespace separator |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2095 | _ident_char = r'[\\\w-]|[^\x00-\x7f]' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2096 | _ident_begin = r'(?:[\\_a-z]|[^\x00-\x7f])' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2097 | _ident_end = r'(?:' + _ident_char + ')*' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2098 | _ident_inner = _ident_begin + _ident_end |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2099 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2100 | tokens = { |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2101 | 'root': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2102 | (r'[^{]+', Other), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2103 | (r'\{\{', Comment.Preproc, 'var'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2104 | # twig comments |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2105 | (r'\{\#.*?\#\}', Comment), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2106 | # raw twig blocks |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2107 | (r'(\{%)(-?\s*)(raw)(\s*-?)(%\})(.*?)' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2108 | r'(\{%)(-?\s*)(endraw)(\s*-?)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2109 | bygroups(Comment.Preproc, Text, Keyword, Text, Comment.Preproc, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2110 | Other, Comment.Preproc, Text, Keyword, Text, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2111 | Comment.Preproc)), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2112 | (r'(\{%)(-?\s*)(verbatim)(\s*-?)(%\})(.*?)' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2113 | r'(\{%)(-?\s*)(endverbatim)(\s*-?)(%\})', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2114 | bygroups(Comment.Preproc, Text, Keyword, Text, Comment.Preproc, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2115 | Other, Comment.Preproc, Text, Keyword, Text, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2116 | Comment.Preproc)), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2117 | # filter blocks |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2118 | (r'(\{%%)(-?\s*)(filter)(\s+)(%s)' % _ident_inner, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2119 | bygroups(Comment.Preproc, Text, Keyword, Text, Name.Function), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2120 | 'tag'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2121 | (r'(\{%)(-?\s*)([a-zA-Z_]\w*)', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2122 | bygroups(Comment.Preproc, Text, Keyword), 'tag'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2123 | (r'\{', Other), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2124 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2125 | 'varnames': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2126 | (r'(\|)(\s*)(%s)' % _ident_inner, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2127 | bygroups(Operator, Text, Name.Function)), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2128 | (r'(is)(\s+)(not)?(\s*)(%s)' % _ident_inner, |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2129 | bygroups(Keyword, Text, Keyword, Text, Name.Function)), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2130 | (r'(?i)(true|false|none|null)\b', Keyword.Pseudo), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2131 | (r'(in|not|and|b-and|or|b-or|b-xor|is' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2132 | r'if|elseif|else|import' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2133 | r'constant|defined|divisibleby|empty|even|iterable|odd|sameas' |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2134 | r'matches|starts\s+with|ends\s+with)\b', |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2135 | Keyword), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2136 | (r'(loop|block|parent)\b', Name.Builtin), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2137 | (_ident_inner, Name.Variable), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2138 | (r'\.' + _ident_inner, Name.Variable), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2139 | (r'\.[0-9]+', Number), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2140 | (r':?"(\\\\|\\"|[^"])*"', String.Double), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2141 | (r":?'(\\\\|\\'|[^'])*'", String.Single), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2142 | (r'([{}()\[\]+\-*/,:~%]|\.\.|\?|:|\*\*|\/\/|!=|[><=]=?)', Operator), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2143 | (r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|" |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2144 | r"0[xX][0-9a-fA-F]+[Ll]?", Number), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2145 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2146 | 'var': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2147 | (r'\s+', Text), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2148 | (r'(-?)(\}\})', bygroups(Text, Comment.Preproc), '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2149 | include('varnames') |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2150 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2151 | 'tag': [ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2152 | (r'\s+', Text), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2153 | (r'(-?)(%\})', bygroups(Text, Comment.Preproc), '#pop'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2154 | include('varnames'), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2155 | (r'.', Punctuation), |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2156 | ], |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2157 | } |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2158 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2159 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2160 | class TwigHtmlLexer(DelegatingLexer): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2161 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2162 | Subclass of the `TwigLexer` that highlights unlexed data with the |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2163 | `HtmlLexer`. |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2164 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2165 | .. versionadded:: 2.0 |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2166 | """ |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2167 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2168 | name = "HTML+Twig" |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2169 | aliases = ["html+twig"] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2170 | filenames = ['*.twig'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2171 | mimetypes = ['text/html+twig'] |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2172 | |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2173 | def __init__(self, **options): |
4f20dba37ab6
Updated Pygments to 2.0.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3145
diff
changeset
|
2174 | super(TwigHtmlLexer, self).__init__(HtmlLexer, TwigLexer, **options) |