Class: Rouge::Lexers::Coffeescript

Inherits:
RegexLexer show all
Defined in:
lib/rouge/lexers/coffeescript.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, mimetypes, option, option_docs, #reset!, #stream_tokens, #string_option, tag, #tag, title, #token_option

Methods included from Token::Tokens

token

Constructor Details

This class inherits a constructor from Rouge::Lexer

Class Method Details

.builtinsObject


41
42
43
44
45
46
47
48
# File 'lib/rouge/lexers/coffeescript.rb', line 41

def self.builtins
  @builtins ||= Set.new %w(
    Array Boolean Date Error Function Math netscape Number Object
    Packages RegExp String sun decodeURI decodeURIComponent
    encodeURI encodeURIComponent eval isFinite isNaN parseFloat
    parseInt document window
  )
end

.constantsObject


35
36
37
38
39
# File 'lib/rouge/lexers/coffeescript.rb', line 35

def self.constants
  @constants ||= Set.new %w(
    true false yes no on off null NaN Infinity undefined
  )
end

.detect?(text) ⇒ Boolean


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

def self.detect?(text)
  return true if text.shebang? 'coffee'
end

.keywordsObject


19
20
21
22
23
24
25
26
# File 'lib/rouge/lexers/coffeescript.rb', line 19

def self.keywords
  @keywords ||= Set.new %w(
    for by while until loop break continue return
    switch when then if else do yield throw try catch finally await
    new delete typeof instanceof super extends this class
    import export debugger
  )
end

.reservedObject


28
29
30
31
32
33
# File 'lib/rouge/lexers/coffeescript.rb', line 28

def self.reserved
  @reserved ||= Set.new %w(
    case function var void with const let enum
    native implements interface package private protected public static
  )
end