Wed, 12 Jun 2013 18:50:51 +0200
Commit of first functions of the Kivy project support plug-in.
1
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de> |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """"" |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Pygments lexer for the Kivy language |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from pygments.lexer import RegexLexer, bygroups, using |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | from pygments.lexers.agile import PythonLexer |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | from pygments.token import * |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | __all__ = ['KivyLexer'] |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | class KivyLexer(RegexLexer): |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | name = 'Kivy' |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | aliases = ['kivy', 'kv'] |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | filenames = ['*.kv', '*.kivy'] |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | mimetypes = ['application/x-kivy'] |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | tokens = { |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | 'root': [ |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | (r'#:.*?$', Comment.Preproc), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | (r'#.*?$', using(PythonLexer)), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | (r'\s+', Text), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | (r'<.+>', Name.Namespace), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | (r'(\[)(\s*)(.*?)(\s*)(@)', |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | bygroups(Punctuation, Text, Name.Class, Text, Operator), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | 'classList'), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | (r'[A-Za-z][A-Za-z0-9]*$', Name.Attribute), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | (r'(.*?)(\s*)(:)(\s*)$', |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | bygroups(Name.Class, Text, Punctuation, Text)), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | (r'(.*?)(\s*)(:)(\s*)(.*?)$', |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | bygroups(Name.Attribute, Text, Punctuation, Text, |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | using(PythonLexer)))], |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | 'classList': [ |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | (r'(,)(\s*)([A-Z][A-Za-z0-9]*)', |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | bygroups(Punctuation, Text, Name.Class)), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | (r'(\+)(\s*)([A-Z][A-Za-z0-9]*)', |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | bygroups(Operator, Text, Name.Class)), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | (r'\s+', Text), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | (r'[A-Z][A-Za-z0-9]*', Name.Class), |
371cfb479eb6
Commit of first functions of the Kivy project support plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | (r'\]', Punctuation, '#pop')]} |