Tue, 10 Dec 2024 15:48:59 +0100
Updated copyright for 2025.
3
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
2 | |
70
2c0a54bf5b4c
Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
3 | # Copyright (c) 2013 - 2025 Detlev Offenbach <detlev@die-offenbachs.de> |
3
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
4 | # |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
5 | |
13
2edce8c1ad5b
Python 2 compatibility for Eric 5.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
11
diff
changeset
|
6 | """ |
3
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
7 | Module implementing a Pygments lexer for the Kivy language. |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
8 | """ |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
9 | |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
10 | # |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
11 | # Lexer class is derived from the highlighter contained in the Kivy package. |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
12 | # Copyright of the original by the Kivy Team. |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
13 | # |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
14 | |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
15 | from pygments.lexer import RegexLexer, bygroups, using |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
16 | from pygments.lexers.agile import PythonLexer |
57
ebf3e41eff26
Sorted imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
50
diff
changeset
|
17 | from pygments.token import Comment, Name, Operator, Punctuation, Text |
3
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
18 | |
50
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
19 | __all__ = ["KivyLexer"] |
3
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
20 | |
11
a3a738778142
Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
21 | |
3
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
22 | class KivyLexer(RegexLexer): |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
23 | """ |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
24 | Class implementing a Pygments lexer for the Kivy language. |
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
25 | """ |
50
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
26 | |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
27 | name = "Kivy" |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
28 | aliases = ["kivy", "kv"] |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
29 | filenames = ["*.kv", "*.kivy"] |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
30 | mimetypes = ["application/x-kivy"] |
3
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
31 | tokens = { |
50
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
32 | "root": [ |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
33 | (r"#:.*?$", Comment.Preproc), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
34 | (r"#.*?$", using(PythonLexer)), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
35 | (r"\s+", Text), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
36 | (r"<.+>", Name.Namespace), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
37 | ( |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
38 | r"(\[)(\s*)(.*?)(\s*)(@)", |
3
b7e3e3b131ea
Finished the Kivy project suupport plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1
diff
changeset
|
39 | bygroups(Punctuation, Text, Name.Class, Text, Operator), |
50
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
40 | "classList", |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
41 | ), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
42 | (r"[A-Za-z][A-Za-z0-9]*$", Name.Attribute), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
43 | (r"(.*?)(\s*)(:)(\s*)$", bygroups(Name.Class, Text, Punctuation, Text)), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
44 | ( |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
45 | r"(.*?)(\s*)(:)(\s*)(.*?)$", |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
46 | bygroups(Name.Attribute, Text, Punctuation, Text, using(PythonLexer)), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
47 | ), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
48 | (r"[^:]+?$", using(PythonLexer)), |
46
2ff6b838b040
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
43
diff
changeset
|
49 | ], |
50
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
50 | "classList": [ |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
51 | (r"(,)(\s*)([A-Z][A-Za-z0-9]*)", bygroups(Punctuation, Text, Name.Class)), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
52 | (r"(\+)(\s*)([A-Z][A-Za-z0-9]*)", bygroups(Operator, Text, Name.Class)), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
53 | (r"\s+", Text), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
54 | (r"[A-Z][A-Za-z0-9]*", Name.Class), |
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
55 | (r"\]", Punctuation, "#pop"), |
46
2ff6b838b040
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
43
diff
changeset
|
56 | ], |
2ff6b838b040
Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
43
diff
changeset
|
57 | } |
32
1264664c5ba9
Fixed a bug in the Kivy lexer causing all strings to be unicodes on Python2, which makes Pygments raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
31
diff
changeset
|
58 | |
50
265ebe67da39
Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
47
diff
changeset
|
59 | |
32
1264664c5ba9
Fixed a bug in the Kivy lexer causing all strings to be unicodes on Python2, which makes Pygments raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
31
diff
changeset
|
60 | # |
1264664c5ba9
Fixed a bug in the Kivy lexer causing all strings to be unicodes on Python2, which makes Pygments raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
31
diff
changeset
|
61 | # eflag: noqa = M702 |