ThirdParty/Pygments/pygments/lexers/text.py

changeset 12
1d8dd9706f46
parent 0
de9c2efb9d02
child 684
2f29a0b6e1c7
--- a/ThirdParty/Pygments/pygments/lexers/text.py	Fri Jan 01 16:11:36 2010 +0000
+++ b/ThirdParty/Pygments/pygments/lexers/text.py	Sat Jan 02 15:11:35 2010 +0000
@@ -356,12 +356,23 @@
     mimetypes = ['text/x-bbcode']
 
     tokens = {
-        'root' : [
-            (r'[\s\w]+', Text),
-            (r'(\[)(/?[^\]\n\r=]+)(\])',
-             bygroups(Keyword, Keyword.Pseudo, Keyword)),
-            (r'(\[)([^\]\n\r=]+)(=)([^\]\n\r]+)(\])',
-             bygroups(Keyword, Keyword.Pseudo, Operator, String, Keyword)),
+        'root': [
+            (r'[^[]+', Text),
+            # tag/end tag begin
+            (r'\[/?\w+', Keyword, 'tag'),
+            # stray bracket
+            (r'\[', Text),
+        ],
+        'tag': [
+            (r'\s+', Text),
+            # attribute with value
+            (r'(\w+)(=)("?[^\s"\]]+"?)',
+             bygroups(Name.Attribute, Operator, String)),
+            # tag argument (a la [color=green])
+            (r'(=)("?[^\s"\]]+"?)',
+             bygroups(Operator, String)),
+            # tag end
+            (r'\]', Keyword, '#pop'),
         ],
     }
 

eric ide

mercurial