diff -r 373da5610be1 -r b7e3e3b131ea ProjectKivy/KivyLexer.py --- a/ProjectKivy/KivyLexer.py Wed Jun 12 18:51:49 2013 +0200 +++ b/ProjectKivy/KivyLexer.py Wed Jun 12 20:05:16 2013 +0200 @@ -1,43 +1,51 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""""" -Pygments lexer for the Kivy language -""" - -from pygments.lexer import RegexLexer, bygroups, using -from pygments.lexers.agile import PythonLexer -from pygments.token import * - -__all__ = ['KivyLexer'] - -class KivyLexer(RegexLexer): - name = 'Kivy' - aliases = ['kivy', 'kv'] - filenames = ['*.kv', '*.kivy'] - mimetypes = ['application/x-kivy'] - tokens = { - 'root': [ - (r'#:.*?$', Comment.Preproc), - (r'#.*?$', using(PythonLexer)), - (r'\s+', Text), - (r'<.+>', Name.Namespace), - (r'(\[)(\s*)(.*?)(\s*)(@)', - bygroups(Punctuation, Text, Name.Class, Text, Operator), - 'classList'), - (r'[A-Za-z][A-Za-z0-9]*$', Name.Attribute), - (r'(.*?)(\s*)(:)(\s*)$', - bygroups(Name.Class, Text, Punctuation, Text)), - (r'(.*?)(\s*)(:)(\s*)(.*?)$', - bygroups(Name.Attribute, Text, Punctuation, Text, - using(PythonLexer)))], - 'classList': [ - (r'(,)(\s*)([A-Z][A-Za-z0-9]*)', - bygroups(Punctuation, Text, Name.Class)), - (r'(\+)(\s*)([A-Z][A-Za-z0-9]*)', - bygroups(Operator, Text, Name.Class)), - (r'\s+', Text), - (r'[A-Z][A-Za-z0-9]*', Name.Class), - (r'\]', Punctuation, '#pop')]} +# -*- coding: utf-8 -*- + +# Copyright (c) 2013 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""""" +Module implementing a Pygments lexer for the Kivy language. +""" + +# +# Lexer class is derived from the highlighter contained in the Kivy package. +# Copyright of the original by the Kivy Team. +# + +from pygments.lexer import RegexLexer, bygroups, using +from pygments.lexers.agile import PythonLexer +from pygments.token import Comment, Text, Name, Punctuation, Operator + +__all__ = ['KivyLexer'] + +class KivyLexer(RegexLexer): + """ + Class implementing a Pygments lexer for the Kivy language. + """ + name = 'Kivy' + aliases = ['kivy', 'kv'] + filenames = ['*.kv', '*.kivy'] + mimetypes = ['application/x-kivy'] + tokens = { + 'root': [ + (r'#:.*?$', Comment.Preproc), + (r'#.*?$', using(PythonLexer)), + (r'\s+', Text), + (r'<.+>', Name.Namespace), + (r'(\[)(\s*)(.*?)(\s*)(@)', + bygroups(Punctuation, Text, Name.Class, Text, Operator), + 'classList'), + (r'[A-Za-z][A-Za-z0-9]*$', Name.Attribute), + (r'(.*?)(\s*)(:)(\s*)$', + bygroups(Name.Class, Text, Punctuation, Text)), + (r'(.*?)(\s*)(:)(\s*)(.*?)$', + bygroups(Name.Attribute, Text, Punctuation, Text, + using(PythonLexer)))], + 'classList': [ + (r'(,)(\s*)([A-Z][A-Za-z0-9]*)', + bygroups(Punctuation, Text, Name.Class)), + (r'(\+)(\s*)([A-Z][A-Za-z0-9]*)', + bygroups(Operator, Text, Name.Class)), + (r'\s+', Text), + (r'[A-Z][A-Za-z0-9]*', Name.Class), + (r'\]', Punctuation, '#pop')]}