lib/rouge/template_lexer.rb
# -*- coding: utf-8 -*- # module Rouge # @abstract # A TemplateLexer is one that accepts a :parent option, to specify # which language is being templated. The lexer class can specify its # own default for the parent lexer, which is otherwise defaulted to # HTML. class TemplateLexer < RegexLexer # the parent lexer - the one being templated. def parent return @parent if instance_variable_defined? :@parent @parent = option(:parent) || 'html' if @parent.is_a? ::String lexer_class = Lexer.find(@parent) @parent = lexer_class.new(self.options) end end start { parent.reset! } end end