Skip to content

Commit a985866

Browse files
authored
Merge pull request #2835 from kartben/fix_ini_double_quotes
Fix quoted string handling
2 parents 5822fd1 + 673d824 commit a985866

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

pygments/lexers/configs.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,21 @@ class IniLexer(RegexLexer):
4444
(r'\s+', Whitespace),
4545
(r'[;#].*', Comment.Single),
4646
(r'(\[.*?\])([ \t]*)$', bygroups(Keyword, Whitespace)),
47-
(r'''(.*?)([  \t]*)([=:])([ \t]*)(["'])''',
47+
(r'''(.*?)([ \t]*)([=:])([ \t]*)(["'])''',
4848
bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String),
4949
"quoted_value"),
50-
(r'(.*?)([  \t]*)([=:])([ \t]*)([^;#\n]*)(\\)(\s+)',
50+
(r'(.*?)([ \t]*)([=:])([ \t]*)([^;#\n]*)(\\)(\s+)',
5151
bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String,
5252
Text, Whitespace),
5353
"value"),
54-
(r'(.*?)([ \t]*)([=:])([  \t]*)([^ ;#\n]*(?: +[^ ;#\n]+)*)',
54+
(r'(.*?)([ \t]*)([=:])([ \t]*)([^ ;#\n]*(?: +[^ ;#\n]+)*)',
5555
bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String)),
5656
# standalone option, supported by some INI parsers
5757
(r'(.+?)$', Name.Attribute),
5858
],
5959
'quoted_value': [
6060
(r'''([^"'\n]*)(["'])(\s*)''',
61-
bygroups(String, String, Whitespace)),
61+
bygroups(String, String, Whitespace), "#pop"),
6262
(r'[;#].*', Comment.Single),
6363
(r'$', String, "#pop"),
6464
],

tests/snippets/ini/test_quoted_entries.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@
1515
'value1' Literal.String
1616
'"' Literal.String
1717
'\n ' Text.Whitespace
18-
'key 2 = ' Literal.String
18+
'key 2' Name.Attribute
19+
' ' Text.Whitespace
20+
'=' Operator
21+
' ' Text.Whitespace
1922
'"' Literal.String
2023
'value2' Literal.String
2124
'"' Literal.String
2225
' ' Text.Whitespace
2326
'# comment' Comment.Single
24-
'' Literal.String
2527
'\n ' Text.Whitespace
2628
'key 3' Name.Attribute
2729
' ' Text.Whitespace
@@ -32,5 +34,4 @@
3234
'"' Literal.String
3335
' ' Text.Whitespace
3436
'; comment' Comment.Single
35-
'' Literal.String
3637
'\n' Text.Whitespace

0 commit comments

Comments
 (0)