Class: Rouge::Lexers::Varnish

Inherits:
RegexLexer show all
Defined in:
lib/rouge/lexers/varnish.rb

Constant Summary collapse

SPACE =
'[ \f\n\r\t\v]+'

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, 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, #as_bool, #as_lexer, #as_list, #as_string, #as_token, assert_utf8!, #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

.functionsObject



28
29
30
31
32
33
34
35
36
37
# File 'lib/rouge/lexers/varnish.rb', line 28

def self.functions
  @functions ||= Set.new %w[
    ban call hash_data new regsub regsuball return rollback
    std.cache_req_body std.collect std.duration std.fileread std.healthy
    std.integer std.ip std.log std.port std.querysort std.random std.real
    std.real2time std.rollback std.set_ip_tos std.strstr std.syslog
    std.time std.time2integer std.time2real std.timestamp std.tolower
    std.toupper synth synthetic
  ]
end

.keywordsObject

backend acl



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

def self.keywords
  @keywords ||= Set.new %w[
    vcl set unset include import if else elseif elif elsif director probe
    backend acl

    declare local
    BOOL FLOAT INTEGER IP RTIME STRING TIME
  ]
end

.variablesObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/rouge/lexers/varnish.rb', line 39

def self.variables
  @variables ||= Set.new %w[
    bereq bereq.backend bereq.between_bytes_timeout bereq.connect_timeout
    bereq.first_byte_timeout bereq.method bereq.proto bereq.retries
    bereq.uncacheable bereq.url bereq.xid beresp beresp.age
    beresp.backend beresp.backend.ip beresp.backend.name beresp.do_esi
    beresp.do_gunzip beresp.do_gzip beresp.do_stream beresp.grace
    beresp.keep beresp.proto beresp.reason beresp.status
    beresp.storage_hint beresp.ttl beresp.uncacheable beresp.was_304
    client.identity client.ip local.ip now obj.age obj.grace obj.hits
    obj.keep obj.proto obj.reason obj.status obj.ttl obj.uncacheable
    remote.ip req req.backend_hint req.can_gzip req.esi req.esi_level
    req.hash_always_miss req.hash_ignore_busy req.method req.proto
    req.restarts req.ttl req.url req.xid resp resp.proto resp.reason
    resp.status server.hostname server.identity server.ip
  ]
end