diff --git a/py/apigen/source/color.py b/py/apigen/source/color.py index bae333ffe..3c9e59c32 100644 --- a/py/apigen/source/color.py +++ b/py/apigen/source/color.py @@ -71,7 +71,7 @@ class Tokenizer(object): j = schema.linejoin for d in schema.string + schema.multiline_string: self._re_strings_multiline.append( - (re.compile('%s.*%s' % (d, j)), + (re.compile('%s.*%s$' % (d, j)), re.compile('.*?%s' % (d,)))) for d in schema.multiline_string: self._re_strings_multiline.append((re.compile('%s.*' % (d,), re.S), diff --git a/py/apigen/source/testing/test_color.py b/py/apigen/source/testing/test_color.py index a1c972ce2..412b8ac7c 100644 --- a/py/apigen/source/testing/test_color.py +++ b/py/apigen/source/testing/test_color.py @@ -83,6 +83,8 @@ class TestTokenizer(object): assert res == [Token("bar'", type='string')] res = list(t.tokenize("bar")) assert res == [Token('bar', type='word')] + res = list(t.tokenize('"foo\\bar"')) + assert res == [Token('"foo\\bar"', type="string")] def test_string_following_printable(self): assert self.tokens('."foo"') == [Token('.', type='unknown'),