Class: Rouge::TemplateLexer Abstract
- Inherits:
-
RegexLexer
- Object
- Lexer
- RegexLexer
- Rouge::TemplateLexer
- Defined in:
- lib/rouge/template_lexer.rb
Overview
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.
Direct Known Subclasses
Lexers::ERB, Lexers::Handlebars, Lexers::Jinja, Lexers::PHP, Lexers::Smarty
Constant Summary
Constants inherited from RegexLexer
Constants included from Rouge::Token::Tokens
Rouge::Token::Tokens::Num, Rouge::Token::Tokens::Str
Instance Method Summary collapse
-
#parent ⇒ Object
the parent lexer - the one being templated.
Methods inherited from RegexLexer
append, #delegate, get_state, #get_state, #goto, #group, #groups, #in_state?, #pop!, prepend, #push, #recurse, replace_state, #reset!, #reset_stack, #stack, start, start_procs, #state, state, #state?, state_definitions, states, #step, #stream_tokens, #token
Methods inherited from Lexer
aliases, all, analyze_text, assert_utf8!, #debug, default_options, demo, demo_file, desc, filenames, find, find_fancy, guess, guess_by_filename, guess_by_mimetype, guess_by_source, guesses, #initialize, lex, #lex, mimetypes, #option, #options, #reset!, #stream_tokens, tag, #tag, title
Methods included from Rouge::Token::Tokens
Constructor Details
This class inherits a constructor from Rouge::Lexer
Instance Method Details
#parent ⇒ Object
the parent lexer - the one being templated.
11 12 13 14 15 16 17 18 |
# File 'lib/rouge/template_lexer.rb', line 11 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.) end end |