Class: Rouge::Lexers::Javascript
- Inherits:
-
RegexLexer
- Object
- Rouge::Lexer
- RegexLexer
- Rouge::Lexers::Javascript
- Defined in:
- lib/rouge/lexers/javascript.rb
Overview
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.
Direct Known Subclasses
Constant Summary
Constants inherited from RegexLexer
Constants included from Token::Tokens
Token::Tokens::Num, Token::Tokens::Str
Class Method Summary collapse
- .analyze_text(text) ⇒ Object
- .builtins ⇒ Object
- .constants ⇒ Object
- .declarations ⇒ Object
- .keywords ⇒ Object
- .reserved ⇒ Object
Methods inherited from RegexLexer
append, #delegate, get_state, #get_state, #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, 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, title
Methods included from Token::Tokens
Constructor Details
This class inherits a constructor from Rouge::Lexer
Class Method Details
.analyze_text(text) ⇒ Object
21 22 23 24 25 |
# File 'lib/rouge/lexers/javascript.rb', line 21 def self.analyze_text(text) return 1 if text.shebang?('node') return 1 if text.shebang?('jsc') # TODO: rhino, spidermonkey, etc end |
.builtins ⇒ Object
117 118 119 120 121 122 123 124 125 |
# File 'lib/rouge/lexers/javascript.rb', line 117 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 this window ) end |
.constants ⇒ Object
113 114 115 |
# File 'lib/rouge/lexers/javascript.rb', line 113 def self.constants @constants ||= Set.new %w(true false null NaN Infinity undefined) end |
.declarations ⇒ Object
100 101 102 |
# File 'lib/rouge/lexers/javascript.rb', line 100 def self.declarations @declarations ||= Set.new %w(var let with function) end |
.keywords ⇒ Object
92 93 94 95 96 97 98 |
# File 'lib/rouge/lexers/javascript.rb', line 92 def self.keywords @keywords ||= Set.new %w( for in while do break return continue switch case default if else throw try catch finally new delete typeof instanceof void this yield ) end |
.reserved ⇒ Object
104 105 106 107 108 109 110 111 |
# File 'lib/rouge/lexers/javascript.rb', line 104 def self.reserved @reserved ||= Set.new %w( abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile ) end |