class Rouge::Lexers::Javascript

IMPORTANT NOTICE:

Please do not copy this lexer and open a pull request for a new language. It will not get merged, you will be unhappy, and kittens will cry.

Public Class Methods

builtins() click to toggle source
# File lib/rouge/lexers/javascript.rb, line 125
def self.builtins
  @builtins ||= %w(
    Array Boolean Date Error Function Math netscape
    Number Object Packages RegExp String sun decodeURI
    decodeURIComponent encodeURI encodeURIComponent
    Error eval isFinite isNaN parseFloat parseInt
    document window navigator self global
    Promise Set Map WeakSet WeakMap Symbol Proxy Reflect
    Int8Array Uint8Array Uint8ClampedArray
    Int16Array Uint16Array Uint16ClampedArray
    Int32Array Uint32Array Uint32ClampedArray
    Float32Array Float64Array DataView ArrayBuffer
  )
end
constants() click to toggle source
# File lib/rouge/lexers/javascript.rb, line 121
def self.constants
  @constants ||= Set.new %w(true false null NaN Infinity undefined)
end
declarations() click to toggle source
# File lib/rouge/lexers/javascript.rb, line 107
def self.declarations
  @declarations ||= Set.new %w(
    var let const with function class
    extends constructor get set static
  )
end
detect?(text) click to toggle source

Pseudo-documentation: stackoverflow.com/questions/1661197/what-characters-are-valid-for-javascript-variable-names

# File lib/rouge/lexers/javascript.rb, line 22
def self.detect?(text)
  return 1 if text.shebang?('node')
  return 1 if text.shebang?('jsc')
  # TODO: rhino, spidermonkey, etc
end
id_regex() click to toggle source
# File lib/rouge/lexers/javascript.rb, line 140
def self.id_regex
  /[\p{L}\p{Nl}$_][\p{Word}]*/io
end
keywords() click to toggle source
# File lib/rouge/lexers/javascript.rb, line 99
def self.keywords
  @keywords ||= Set.new %w(
    async await break case catch continue debugger default delete
    do else export finally from for if import in instanceof new of
    return super switch this throw try typeof void while yield
  )
end
reserved() click to toggle source
# File lib/rouge/lexers/javascript.rb, line 114
def self.reserved
  @reserved ||= Set.new %w(
    enum implements interface
    package private protected public
  )
end