summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJessie Wincek <jbwincek@gmail.com>2016-06-02 16:46:32 -0700
committerJessie Wincek <jbwincek@gmail.com>2016-06-02 16:46:32 -0700
commite29c89f4bcb5a8d16f327e3d40dcfaa86e46563b (patch)
treed7acfed51bb682e7107114713cc741da8d681757
parentd476230ce54ec8a7552d7514d9c5ca981fccfcee (diff)
downloadpygments-e29c89f4bcb5a8d16f327e3d40dcfaa86e46563b.tar.gz
Comment leading whitespace no longer counts as Token.Comment but instead Token.Text
-rw-r--r--pygments/lexers/configs.py6
-rw-r--r--tests/test_properties.py9
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)))