Class: Rouge::Lexers::Haml
- Inherits:
-
RegexLexer
- Object
- Rouge::Lexer
- RegexLexer
- Rouge::Lexers::Haml
- Includes:
- Indentation
- Defined in:
- lib/rouge/lexers/haml.rb
Overview
A lexer for the Haml templating system for Ruby.
Constant Summary
Constants inherited from RegexLexer
Constants included from Token::Tokens
Token::Tokens::Num, Token::Tokens::Str
Instance Attribute Summary collapse
-
#filters ⇒ Object
readonly
Returns the value of attribute filters.
Attributes inherited from Rouge::Lexer
Class Method Summary collapse
Instance Method Summary collapse
- #html ⇒ Object
-
#initialize(opts = {}) ⇒ Haml
constructor
A new instance of Haml.
- #ruby ⇒ Object
- #ruby!(state) ⇒ Object
Methods included from Indentation
#indentation, #reset!, #starts_block
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 Rouge::Lexer
aliases, all, #as_bool, #as_lexer, #as_list, #as_string, #as_token, assert_utf8!, #bool_option, debug_enabled?, demo, demo_file, desc, disable_debug!, enable_debug!, filenames, find, find_fancy, guess, guess_by_filename, guess_by_mimetype, guess_by_source, guesses, #hash_option, #lex, lex, #lexer_option, #list_option, mimetypes, option, option_docs, #reset!, #stream_tokens, #string_option, tag, #tag, title, #token_option
Methods included from Token::Tokens
Constructor Details
#initialize(opts = {}) ⇒ Haml
Returns a new instance of Haml.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/rouge/lexers/haml.rb', line 29 def initialize(opts={}) super default_filters = { 'javascript' => Javascript.new(), 'css' => CSS.new(), 'ruby' => ruby, 'erb' => ERB.new(), 'markdown' => Markdown.new(), 'sass' => Sass.new(), # TODO # 'textile' => Textile.new(options), # 'maruku' => Maruku.new(options), } @filters = hash_option(:filters, default_filters) do |v| as_lexer(v) || PlainText.new(@options) end end |
Instance Attribute Details
#filters ⇒ Object (readonly)
Returns the value of attribute filters.
24 25 26 |
# File 'lib/rouge/lexers/haml.rb', line 24 def filters @filters end |
Class Method Details
.analyze_text(text) ⇒ Object
19 20 21 |
# File 'lib/rouge/lexers/haml.rb', line 19 def self.analyze_text(text) return 0.1 if text.start_with? '!!!' end |
Instance Method Details
#html ⇒ Object
53 54 55 |
# File 'lib/rouge/lexers/haml.rb', line 53 def html @html ||= HTML.new(@options) end |
#ruby ⇒ Object
49 50 51 |
# File 'lib/rouge/lexers/haml.rb', line 49 def ruby @ruby ||= Ruby.new(@options) end |
#ruby!(state) ⇒ Object
57 58 59 60 |
# File 'lib/rouge/lexers/haml.rb', line 57 def ruby!(state) ruby.reset! push state end |