ProjectKivy/KivyLexer.py

Tue, 10 Dec 2024 15:48:59 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 10 Dec 2024 15:48:59 +0100
branch
eric7
changeset 70
2c0a54bf5b4c
parent 68
20cdd6e03807
permissions
-rw-r--r--

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

eric ide

mercurial