Chris@0
|
1 module CodeRay
|
Chris@0
|
2 class Tokens
|
Chris@0
|
3 ClassOfKind = Hash.new do |h, k|
|
Chris@0
|
4 h[k] = k.to_s
|
Chris@0
|
5 end
|
Chris@0
|
6 ClassOfKind.update with = {
|
Chris@0
|
7 :annotation => 'at',
|
Chris@0
|
8 :attribute_name => 'an',
|
Chris@0
|
9 :attribute_name_fat => 'af',
|
Chris@0
|
10 :attribute_value => 'av',
|
Chris@0
|
11 :attribute_value_fat => 'aw',
|
Chris@0
|
12 :bin => 'bi',
|
Chris@0
|
13 :char => 'ch',
|
Chris@0
|
14 :class => 'cl',
|
Chris@0
|
15 :class_variable => 'cv',
|
Chris@0
|
16 :color => 'cr',
|
Chris@0
|
17 :comment => 'c',
|
Chris@0
|
18 :complex => 'cm',
|
Chris@0
|
19 :constant => 'co',
|
Chris@0
|
20 :content => 'k',
|
Chris@0
|
21 :decorator => 'de',
|
Chris@0
|
22 :definition => 'df',
|
Chris@0
|
23 :delimiter => 'dl',
|
Chris@0
|
24 :directive => 'di',
|
Chris@0
|
25 :doc => 'do',
|
Chris@0
|
26 :doctype => 'dt',
|
Chris@0
|
27 :doc_string => 'ds',
|
Chris@0
|
28 :entity => 'en',
|
Chris@0
|
29 :error => 'er',
|
Chris@0
|
30 :escape => 'e',
|
Chris@0
|
31 :exception => 'ex',
|
Chris@0
|
32 :float => 'fl',
|
Chris@0
|
33 :function => 'fu',
|
Chris@0
|
34 :global_variable => 'gv',
|
Chris@0
|
35 :hex => 'hx',
|
Chris@0
|
36 :imaginary => 'cm',
|
Chris@0
|
37 :important => 'im',
|
Chris@0
|
38 :include => 'ic',
|
Chris@0
|
39 :inline => 'il',
|
Chris@0
|
40 :inline_delimiter => 'idl',
|
Chris@0
|
41 :instance_variable => 'iv',
|
Chris@0
|
42 :integer => 'i',
|
Chris@0
|
43 :interpreted => 'in',
|
Chris@0
|
44 :keyword => 'kw',
|
Chris@0
|
45 :key => 'ke',
|
Chris@0
|
46 :label => 'la',
|
Chris@0
|
47 :local_variable => 'lv',
|
Chris@0
|
48 :modifier => 'mod',
|
Chris@0
|
49 :oct => 'oc',
|
Chris@0
|
50 :operator_fat => 'of',
|
Chris@0
|
51 :pre_constant => 'pc',
|
Chris@0
|
52 :pre_type => 'pt',
|
Chris@0
|
53 :predefined => 'pd',
|
Chris@0
|
54 :preprocessor => 'pp',
|
Chris@0
|
55 :pseudo_class => 'ps',
|
Chris@0
|
56 :regexp => 'rx',
|
Chris@0
|
57 :reserved => 'r',
|
Chris@0
|
58 :shell => 'sh',
|
Chris@0
|
59 :string => 's',
|
Chris@0
|
60 :symbol => 'sy',
|
Chris@0
|
61 :tag => 'ta',
|
Chris@0
|
62 :tag_fat => 'tf',
|
Chris@0
|
63 :tag_special => 'ts',
|
Chris@0
|
64 :type => 'ty',
|
Chris@0
|
65 :variable => 'v',
|
Chris@0
|
66 :value => 'vl',
|
Chris@0
|
67 :xml_text => 'xt',
|
Chris@0
|
68
|
Chris@0
|
69 :insert => 'ins',
|
Chris@0
|
70 :delete => 'del',
|
Chris@0
|
71 :change => 'chg',
|
Chris@0
|
72 :head => 'head',
|
Chris@0
|
73
|
Chris@0
|
74 :ident => :NO_HIGHLIGHT, # 'id'
|
Chris@0
|
75 #:operator => 'op',
|
Chris@0
|
76 :operator => :NO_HIGHLIGHT, # 'op'
|
Chris@0
|
77 :space => :NO_HIGHLIGHT, # 'sp'
|
Chris@0
|
78 :plain => :NO_HIGHLIGHT,
|
Chris@0
|
79 }
|
Chris@0
|
80 ClassOfKind[:method] = ClassOfKind[:function]
|
Chris@0
|
81 ClassOfKind[:open] = ClassOfKind[:close] = ClassOfKind[:delimiter]
|
Chris@0
|
82 ClassOfKind[:nesting_delimiter] = ClassOfKind[:delimiter]
|
Chris@0
|
83 ClassOfKind[:escape] = ClassOfKind[:delimiter]
|
Chris@0
|
84 #ClassOfKind.default = ClassOfKind[:error] or raise 'no class found for :error!'
|
Chris@0
|
85 end
|
Chris@0
|
86 end |