Sha256: 618ef1516011e7f7aee63765b1050f9c60f67b89dd6d87f8c66fb00acb01ed2a
Contents?: true
Size: 973 Bytes
Versions: 1
Compression:
Stored size: 973 Bytes
Contents
module Rouge module Lexers class ERB < TemplateLexer tag 'erb' aliases 'eruby', 'rhtml' filenames '*.erb', '*.erubis', '*.rhtml', '*.eruby' def self.analyze_text(text) return 0.4 if text =~ /<%.*%>/ end def initialize(opts={}) @ruby_lexer = Ruby.new(opts) super(opts) end start do parent.reset! @ruby_lexer.reset! end open = /<%%|<%=|<%#|<%-|<%/ close = /%%>|-%>|%>/ state :root do rule /<%#/, 'Comment', :comment rule open, 'Comment.Preproc', :ruby rule /.+?(?=#{open})|.+/m do delegate parent end end state :comment do rule close, 'Comment', :pop! rule /.+(?=#{close})|.+/m, 'Comment' end state :ruby do rule close, 'Comment.Preproc', :pop! rule /.+?(?=#{close})|.+/m do delegate @ruby_lexer end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rouge-0.2.0 | lib/rouge/lexers/erb.rb |