diff options
-rw-r--r-- | pygments/lexers/other.py | 15 | ||||
-rw-r--r-- | tests/examplefiles/test.r3 | 34 |
2 files changed, 34 insertions, 15 deletions
diff --git a/pygments/lexers/other.py b/pygments/lexers/other.py index 0bbf5b32..89c2447e 100644 --- a/pygments/lexers/other.py +++ b/pygments/lexers/other.py @@ -1506,7 +1506,10 @@ class RebolLexer(RegexLexer): (r'[a-zA-Z]+[^(\^{"\s:)]*://[^(\^{"\s)]*', Name.Decorator), # url (r'mailto:[^(\^{"@\s)]+@[^(\^{"@\s)]+', Name.Decorator), # url (r'[^(\^{"@\s)]+@[^(\^{"@\s)]+', Name.Decorator), # email - (r'comment\s', Comment, 'comment'), + (r'comment\s"', Comment, 'commentString1'), + (r'comment\s{', Comment, 'commentString2'), + (r'comment\s\[', Comment, 'commentBlock'), + (r'comment\s[^(\s{\"\[]+', Comment), (r'/[^(\^{^")\s/[\]]*', Name.Attribute), (r'([^(\^{^")\s/[\]]+)(?=[:({"\s/\[\]])', word_callback), (r'<[a-zA-Z0-9:._-]*>', Name.Tag), @@ -1561,12 +1564,6 @@ class RebolLexer(RegexLexer): (r'([0-1]\s*){8}', Number.Hex), (r'}', Number.Hex, '#pop'), ], - 'comment': [ - (r'"', Comment, 'commentString1'), - (r'{', Comment, 'commentString2'), - (r'\[', Comment, 'commentBlock'), - (r'[^(\s{\"\[]+', Comment, '#pop'), - ], 'commentString1': [ (r'[^(\^")]+', Comment), (escape_re, Comment), @@ -1585,7 +1582,9 @@ class RebolLexer(RegexLexer): 'commentBlock': [ (r'\[', Comment, '#push'), (r'\]', Comment, '#pop'), - (r'[^(\[\])]+', Comment), + (r'"', Comment, "commentString1"), + (r'{', Comment, "commentString2"), + (r'[^(\[\]\"{)]+', Comment), ], } def analyse_text(text): diff --git a/tests/examplefiles/test.r3 b/tests/examplefiles/test.r3 index cad12a8d..707102db 100644 --- a/tests/examplefiles/test.r3 +++ b/tests/examplefiles/test.r3 @@ -1,3 +1,9 @@ +preface.... everything what is before header is not evaluated +so this should not be colorized: +1 + 2 + +REBOL [] ;<- this is minimal header, everything behind it must be colorized + ;## String tests ## print "Hello ^"World" ;<- with escaped char multiline-string: { @@ -52,15 +58,29 @@ type? #ff0000 ;== issue! to integer! (1 + (x / 4.5) * 1E-4) ;## some spec comments -comment now -comment 10 +1 + 1 +comment "aa" +2 + 2 +comment {aa} +3 + 3 +comment {a^{} +4 + 4 +comment {{}} +5 + 5 comment { - bla - bla + foo: 6 } -comment [ - quit -] +6 + 6 +comment [foo: 6] +7 + 7 +comment [foo: "[" ] +8 + 8 +comment [foo: {^{} ] +9 + 9 +comment [foo: {boo} ] +10 + 10 +comment 5-May-2014/11:17:34+2:00 +5-May-2014/11:17:34+2:00 11 + 11 ;## other tests ## ---: 1 |