class Rouge::Lexers::Coffeescript

def self.builtins

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

def self.constants

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

def self.detect?(text)

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

def self.keywords

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

def self.reserved

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