Class: Rouge::Lexers::Apex

Inherits:
RegexLexer show all
Defined in:
lib/rouge/lexers/apex.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, detect?, 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

.constantsObject



44
45
46
# File 'lib/rouge/lexers/apex.rb', line 44

def self.constants
  @constants ||= Set.new %w(true false null)
end

.declarationsObject



22
23
24
25
26
27
28
# File 'lib/rouge/lexers/apex.rb', line 22

def self.declarations
  @declarations ||= Set.new %w(
    abstract const enum extends final implements native private protected
    public static super synchronized throws transient volatile with
    sharing without inherited virtual global testmethod
  )
end

.keywordsObject



14
15
16
17
18
19
20
# File 'lib/rouge/lexers/apex.rb', line 14

def self.keywords
  @keywords ||= Set.new %w(
    assert break case catch continue default do else finally for if goto
    instanceof new return switch this throw try while insert update
    delete
  )
end

.soqlObject



30
31
32
33
34
35
36
# File 'lib/rouge/lexers/apex.rb', line 30

def self.soql
  @soql ||= Set.new %w(
    SELECT FROM WHERE UPDATE LIKE TYPEOF END USING SCOPE WITH DATA
    CATEGORY GROUP BY ROLLUP CUBE HAVING ORDER BY ASC DESC NULLS FIRST
    LAST LIMIT OFFSET FOR VIEW REFERENCE UPDATE TRACKING VIEWSTAT OR AND
  )
end

.typesObject



38
39
40
41
42
# File 'lib/rouge/lexers/apex.rb', line 38

def self.types
  @types ||= Set.new %w(
    String boolean byte char double float int long short var void
  )
end