15 from pygments.lexer import RegexLexer, bygroups, using |
15 from pygments.lexer import RegexLexer, bygroups, using |
16 from pygments.lexers.agile import PythonLexer |
16 from pygments.lexers.agile import PythonLexer |
17 from pygments.token import Comment, Text, Name, Punctuation, Operator |
17 from pygments.token import Comment, Text, Name, Punctuation, Operator |
18 |
18 |
19 __all__ = ['KivyLexer'] |
19 __all__ = ['KivyLexer'] |
|
20 |
20 |
21 |
21 class KivyLexer(RegexLexer): |
22 class KivyLexer(RegexLexer): |
22 """ |
23 """ |
23 Class implementing a Pygments lexer for the Kivy language. |
24 Class implementing a Pygments lexer for the Kivy language. |
24 """ |
25 """ |
38 (r'[A-Za-z][A-Za-z0-9]*$', Name.Attribute), |
39 (r'[A-Za-z][A-Za-z0-9]*$', Name.Attribute), |
39 (r'(.*?)(\s*)(:)(\s*)$', |
40 (r'(.*?)(\s*)(:)(\s*)$', |
40 bygroups(Name.Class, Text, Punctuation, Text)), |
41 bygroups(Name.Class, Text, Punctuation, Text)), |
41 (r'(.*?)(\s*)(:)(\s*)(.*?)$', |
42 (r'(.*?)(\s*)(:)(\s*)(.*?)$', |
42 bygroups(Name.Attribute, Text, Punctuation, Text, |
43 bygroups(Name.Attribute, Text, Punctuation, Text, |
43 using(PythonLexer)))], |
44 using(PythonLexer)))], |
44 'classList': [ |
45 'classList': [ |
45 (r'(,)(\s*)([A-Z][A-Za-z0-9]*)', |
46 (r'(,)(\s*)([A-Z][A-Za-z0-9]*)', |
46 bygroups(Punctuation, Text, Name.Class)), |
47 bygroups(Punctuation, Text, Name.Class)), |
47 (r'(\+)(\s*)([A-Z][A-Za-z0-9]*)', |
48 (r'(\+)(\s*)([A-Z][A-Za-z0-9]*)', |
48 bygroups(Operator, Text, Name.Class)), |
49 bygroups(Operator, Text, Name.Class)), |