Class: Rouge::Lexers::XML

Inherits:
RegexLexer show all
Defined in:
lib/rouge/lexers/xml.rb

Constant Summary

Constants inherited from RegexLexer

RegexLexer::MAX_NULL_SCANS

Constants included from Token::Tokens

Token::Tokens::Num, Token::Tokens::Str

Class Method Summary collapse

Methods inherited from RegexLexer

#delegate, get_state, #get_state, #goto, #group, #groups, #in_state?, #pop!, #push, #reset!, #reset_stack, #run_callback, #run_rule, #stack, start, start_procs, #state, state, #state?, states, #step, #stream_tokens, #token

Methods inherited from Rouge::Lexer

aliases, all, 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

Methods included from Token::Tokens

token

Constructor Details

This class inherits a constructor from Rouge::Lexer

Class Method Details

.analyze_text(text) ⇒ Object


15
16
17
18
19
20
21
# File 'lib/rouge/lexers/xml.rb', line 15

def self.analyze_text(text)
  return 0.9 if text.doctype?
  return 0.8 if text =~ /\A<\?xml\b/
  start = text[0..1000]
  return 0.6 if start =~ %r(<xml\b)
  return 0.3 if start =~ %r(<.+?>.*?</.+?>)m
end