ProjectKivy/KivyLexer.py

changeset 3
b7e3e3b131ea
parent 1
371cfb479eb6
child 11
a3a738778142
--- 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')]}

eric ide

mercurial