diff options
author | Jessie Wincek <jbwincek@gmail.com> | 2016-06-02 16:46:32 -0700 |
---|---|---|
committer | Jessie Wincek <jbwincek@gmail.com> | 2016-06-02 16:46:32 -0700 |
commit | e29c89f4bcb5a8d16f327e3d40dcfaa86e46563b (patch) | |
tree | d7acfed51bb682e7107114713cc741da8d681757 | |
parent | d476230ce54ec8a7552d7514d9c5ca981fccfcee (diff) | |
download | pygments-e29c89f4bcb5a8d16f327e3d40dcfaa86e46563b.tar.gz |
Comment leading whitespace no longer counts as Token.Comment but instead Token.Text
-rw-r--r-- | pygments/lexers/configs.py | 6 | ||||
-rw-r--r-- | tests/test_properties.py | 9 |
2 files changed, 13 insertions, 2 deletions
diff --git a/pygments/lexers/configs.py b/pygments/lexers/configs.py index 4fe72bd4..0633af27 100644 --- a/pygments/lexers/configs.py +++ b/pygments/lexers/configs.py @@ -100,6 +100,8 @@ class PropertiesLexer(RegexLexer): """ Lexer for configuration files in Java's properties format. + Note: trailing whitespace counts as part of the value as per spec + .. versionadded:: 1.4 """ @@ -110,10 +112,10 @@ class PropertiesLexer(RegexLexer): tokens = { 'root': [ - (r'\s+', Text), - (r'^ *[#!].*$', Comment), + (r'(^ *)([#!].*)', bygroups(Text, Comment)), (r'(.*?)([ \t]*)([=:])([ \t]*)(.*(?:(?<=\\)\n.*)*)', bygroups(Name.Attribute, Text, Operator, Text, String)), + (r'\s', Text), ], } diff --git a/tests/test_properties.py b/tests/test_properties.py index db61b28f..657f8a3f 100644 --- a/tests/test_properties.py +++ b/tests/test_properties.py @@ -29,3 +29,12 @@ class PropertiesTest(unittest.TestCase): (Token.Text, '\n'), ] self.assertEqual(tokens, list(self.lexer.get_tokens(fragment))) + + def test_leading_whitespace_comments(self): + fragment = ' # comment\n' + tokens = [ + (Token.Text, ' '), + (Token.Comment, '# comment'), + (Token.Text, '\n'), + ] + self.assertEqual(tokens, list(self.lexer.get_tokens(fragment))) |