summaryrefslogtreecommitdiff
path: root/lib/coderay/token_kinds.rb
blob: d23262bdf65bf2973907c6c635d329eda0b37b45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
module CodeRay
  
  # A Hash of all known token kinds and their associated CSS classes.
  TokenKinds = Hash.new do |h, k|
    warn 'Undefined Token kind: %p' % [k] if $CODERAY_DEBUG
    false
  end
  
  # speedup
  TokenKinds.compare_by_identity if TokenKinds.respond_to? :compare_by_identity
  
  TokenKinds.update(  # :nodoc:
    :annotation => 'at',
    :attribute_name => 'an',
    :attribute_value => 'av',
    :bin => 'bi',
    :char => 'ch',
    :class => 'cl',
    :class_variable => 'cv',
    :color => 'cr',
    :comment => 'c',
    :complex => 'cm',
    :constant => 'co',
    :content => 'k',
    :decorator => 'de',
    :definition => 'df',
    :delimiter => 'dl',
    :directive => 'di',
    :doc => 'do',
    :doctype => 'dt',
    :doc_string => 'ds',
    :entity => 'en',
    :error => 'er',
    :escape => 'e',
    :exception => 'ex',
    :filename => 'filename',
    :float => 'fl',
    :function => 'fu',
    :global_variable => 'gv',
    :hex => 'hx',
    :imaginary => 'cm',
    :important => 'im',
    :include => 'ic',
    :inline => 'il',
    :inline_delimiter => 'idl',
    :instance_variable => 'iv',
    :integer => 'i',
    :interpreted => 'in',
    :key => 'ke',
    :keyword => 'kw',
    :label => 'la',
    :local_variable => 'lv',
    :modifier => 'mod',
    :namespace => 'ns',
    :oct => 'oc',
    :predefined => 'pd',
    :preprocessor => 'pp',
    :predefined_constant => 'pc',
    :predefined_type => 'pt',
    :pseudo_class => 'ps',
    :regexp => 'rx',
    :reserved => 'r',
    :shell => 'sh',
    :string => 's',
    :symbol => 'sy',
    :tag => 'ta',
    :tag_special => 'ts',
    :type => 'ty',
    :value => 'vl',
    :variable => 'v',
    
    :insert => 'ins',
    :delete => 'del',
    :change => 'chg',
    :head => 'head',
    
    :eyecatcher => 'eye',
    
    :ident => false, # 'id'
    :operator => false,  # 'op'
    
    :space => false,  # 'sp'
    :plain => false
  )
  
  TokenKinds[:method]    = TokenKinds[:function]
  TokenKinds[:escape]    = TokenKinds[:delimiter]
  TokenKinds[:docstring] = TokenKinds[:comment]
  
  TokenKinds.freeze
end