Class: Rouge::Lexers::Livescript

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

Constant Summary

Constants inherited from RegexLexer

RegexLexer::MAX_NULL_SCANS

Constants included from Token::Tokens

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

Instance Attribute Summary

Attributes inherited from Rouge::Lexer

#options

Class Method Summary collapse

Methods inherited from RegexLexer

append, #delegate, #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, #bool_option, continue_lex, #continue_lex, debug_enabled?, demo, demo_file, desc, detectable?, disable_debug!, enable_debug!, filenames, find, find_fancy, guess, guess_by_filename, guess_by_mimetype, guess_by_source, guesses, #hash_option, #initialize, lex, #lex, #lexer_option, #list_option, lookup_fancy, mimetypes, option, option_docs, #reset!, #stream_tokens, #string_option, tag, #tag, title, #token_option, #with

Methods included from Token::Tokens

token

Constructor Details

This class inherits a constructor from Rouge::Lexer

Class Method Details

.builtinsObject



36
37
38
# File 'lib/rouge/lexers/livescript.rb', line 36

def self.builtins
  @builtins ||= Javascript.builtins + %w(this it that arguments)
end

.constantsObject



32
33
34
# File 'lib/rouge/lexers/livescript.rb', line 32

def self.constants
  @constants ||= Javascript.constants + %w(yes no on off void)
end

.declarationsObject



19
20
21
# File 'lib/rouge/lexers/livescript.rb', line 19

def self.declarations
  @declarations ||= Set.new %w(const let var function class extends implements)
end

.detect?(text) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/rouge/lexers/livescript.rb', line 15

def self.detect?(text)
  return text.shebang? 'lsc'
end

.keywordsObject



23
24
25
26
27
28
29
30
# File 'lib/rouge/lexers/livescript.rb', line 23

def self.keywords
  @keywords ||= Set.new %w(
    loop until for in of while break return continue switch case
    fallthrough default otherwise when then if unless else throw try
    catch finally new delete typeof instanceof super by from to til
    with require do debugger import export yield
  )
end

.loop_control_keywordsObject



40
41
42
# File 'lib/rouge/lexers/livescript.rb', line 40

def self.loop_control_keywords
  @loop_control_keywords ||= Set.new %w(break continue)
end