lib/rouge/lexers/html.rb in rouge-3.4.1 vs lib/rouge/lexers/html.rb in rouge-3.5.0

- old
+ new

@@ -20,99 +20,99 @@ @javascript = Javascript.new(options) @css = CSS.new(options) end state :root do - rule /[^<&]+/m, Text - rule /&\S*?;/, Name::Entity - rule /<!DOCTYPE .*?>/im, Comment::Preproc - rule /<!\[CDATA\[.*?\]\]>/m, Comment::Preproc - rule /<!--/, Comment, :comment - rule /<\?.*?\?>/m, Comment::Preproc # php? really? + rule %r/[^<&]+/m, Text + rule %r/&\S*?;/, Name::Entity + rule %r/<!DOCTYPE .*?>/im, Comment::Preproc + rule %r/<!\[CDATA\[.*?\]\]>/m, Comment::Preproc + rule %r/<!--/, Comment, :comment + rule %r/<\?.*?\?>/m, Comment::Preproc # php? really? - rule /<\s*script\s*/m do + rule %r/<\s*script\s*/m do token Name::Tag @javascript.reset! push :script_content push :tag end - rule /<\s*style\s*/m do + rule %r/<\s*style\s*/m do token Name::Tag @css.reset! @lang = @css push :style_content push :tag end - rule /<\//, Name::Tag, :tag_end - rule /</, Name::Tag, :tag_start + rule %r(</), Name::Tag, :tag_end + rule %r/</, Name::Tag, :tag_start rule %r(<\s*[a-zA-Z0-9:-]+), Name::Tag, :tag # opening tags rule %r(<\s*/\s*[a-zA-Z0-9:-]+\s*>), Name::Tag # closing tags end state :tag_end do mixin :tag_end_end - rule /[a-zA-Z0-9:-]+/ do + rule %r/[a-zA-Z0-9:-]+/ do token Name::Tag goto :tag_end_end end end state :tag_end_end do - rule /\s+/, Text - rule />/, Name::Tag, :pop! + rule %r/\s+/, Text + rule %r/>/, Name::Tag, :pop! end state :tag_start do - rule /\s+/, Text + rule %r/\s+/, Text - rule /[a-zA-Z0-9:-]+/ do + rule %r/[a-zA-Z0-9:-]+/ do token Name::Tag goto :tag end rule(//) { goto :tag } end state :comment do - rule /[^-]+/, Comment - rule /-->/, Comment, :pop! - rule /-/, Comment + rule %r/[^-]+/, Comment + rule %r/-->/, Comment, :pop! + rule %r/-/, Comment end state :tag do - rule /\s+/m, Text - rule /[a-zA-Z0-9_:-]+\s*=\s*/m, Name::Attribute, :attr - rule /[a-zA-Z0-9_:-]+/, Name::Attribute + rule %r/\s+/m, Text + rule %r/[a-zA-Z0-9_:-]+\s*=\s*/m, Name::Attribute, :attr + rule %r/[a-zA-Z0-9_:-]+/, Name::Attribute rule %r(/?\s*>)m, Name::Tag, :pop! end state :attr do # TODO: are backslash escapes valid here? - rule /"/ do + rule %r/"/ do token Str goto :dq end - rule /'/ do + rule %r/'/ do token Str goto :sq end - rule /[^\s>]+/, Str, :pop! + rule %r/[^\s>]+/, Str, :pop! end state :dq do - rule /"/, Str, :pop! - rule /[^"]+/, Str + rule %r/"/, Str, :pop! + rule %r/[^"]+/, Str end state :sq do - rule /'/, Str, :pop! - rule /[^']+/, Str + rule %r/'/, Str, :pop! + rule %r/[^']+/, Str end state :script_content do rule %r([^<]+) do delegate @javascript @@ -124,16 +124,16 @@ delegate @javascript end end state :style_content do - rule /[^<]+/ do + rule %r/[^<]+/ do delegate @lang end rule %r(<\s*/\s*style\s*>)m, Name::Tag, :pop! - rule /</ do + rule %r/</ do delegate @lang end end end end