lib/rouge/lexers/html.rb in rouge-0.0.13 vs lib/rouge/lexers/html.rb in rouge-0.0.14
- old
+ new
@@ -46,12 +46,30 @@
rule %r(/?\s*>)m, 'Name.Tag', :pop!
end
state :attr do
# TODO: are backslash escapes valid here?
- rule /".*?"/, 'Literal.String', :pop!
- rule /'.*?'/, 'Literal.String', :pop!
+ rule /"/ do
+ token 'Literal.String'
+ pop!; push :dq
+ end
+
+ rule /'/ do
+ token 'Literal.String'
+ pop!; push :sq
+ end
+
rule /[^\s>]+/, 'Literal.String', :pop!
+ end
+
+ state :dq do
+ rule /"/, 'Literal.String', :pop!
+ rule /[^"]+/, 'Literal.String'
+ end
+
+ state :sq do
+ rule /'/, 'Literal.String', :pop!
+ rule /[^']+/, 'Literal.String'
end
state :script_content do
rule %r(<\s*/\s*script\s*>)m, 'Name.Tag', :pop!
rule %r(.*?(?=<\s*/\s*script\s*>))m do