ProjectKivy/KivyLexer.py

Wed, 12 Jun 2013 18:50:51 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 12 Jun 2013 18:50:51 +0200
changeset 1
371cfb479eb6
child 3
b7e3e3b131ea
permissions
-rw-r--r--

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')]}

eric ide

mercurial