Chris@909
|
1 module CodeRay
|
Chris@909
|
2
|
Chris@909
|
3 # A Hash of all known token kinds and their associated CSS classes.
|
Chris@909
|
4 TokenKinds = Hash.new do |h, k|
|
Chris@909
|
5 warn 'Undefined Token kind: %p' % [k] if $CODERAY_DEBUG
|
Chris@909
|
6 false
|
Chris@909
|
7 end
|
Chris@909
|
8
|
Chris@909
|
9 # speedup
|
Chris@909
|
10 TokenKinds.compare_by_identity if TokenKinds.respond_to? :compare_by_identity
|
Chris@909
|
11
|
Chris@909
|
12 TokenKinds.update( # :nodoc:
|
Chris@909
|
13 :annotation => 'annotation',
|
Chris@909
|
14 :attribute_name => 'attribute-name',
|
Chris@909
|
15 :attribute_value => 'attribute-value',
|
Chris@909
|
16 :binary => 'bin',
|
Chris@909
|
17 :char => 'char',
|
Chris@909
|
18 :class => 'class',
|
Chris@909
|
19 :class_variable => 'class-variable',
|
Chris@909
|
20 :color => 'color',
|
Chris@909
|
21 :comment => 'comment',
|
Chris@909
|
22 :complex => 'complex',
|
Chris@909
|
23 :constant => 'constant',
|
Chris@909
|
24 :content => 'content',
|
Chris@909
|
25 :debug => 'debug',
|
Chris@909
|
26 :decorator => 'decorator',
|
Chris@909
|
27 :definition => 'definition',
|
Chris@909
|
28 :delimiter => 'delimiter',
|
Chris@909
|
29 :directive => 'directive',
|
Chris@909
|
30 :doc => 'doc',
|
Chris@909
|
31 :doctype => 'doctype',
|
Chris@909
|
32 :doc_string => 'doc-string',
|
Chris@909
|
33 :entity => 'entity',
|
Chris@909
|
34 :error => 'error',
|
Chris@909
|
35 :escape => 'escape',
|
Chris@909
|
36 :exception => 'exception',
|
Chris@909
|
37 :filename => 'filename',
|
Chris@909
|
38 :float => 'float',
|
Chris@909
|
39 :function => 'function',
|
Chris@909
|
40 :global_variable => 'global-variable',
|
Chris@909
|
41 :hex => 'hex',
|
Chris@909
|
42 :imaginary => 'imaginary',
|
Chris@909
|
43 :important => 'important',
|
Chris@909
|
44 :include => 'include',
|
Chris@909
|
45 :inline => 'inline',
|
Chris@909
|
46 :inline_delimiter => 'inline-delimiter',
|
Chris@909
|
47 :instance_variable => 'instance-variable',
|
Chris@909
|
48 :integer => 'integer',
|
Chris@909
|
49 :key => 'key',
|
Chris@909
|
50 :keyword => 'keyword',
|
Chris@909
|
51 :label => 'label',
|
Chris@909
|
52 :local_variable => 'local-variable',
|
Chris@909
|
53 :modifier => 'modifier',
|
Chris@909
|
54 :namespace => 'namespace',
|
Chris@909
|
55 :octal => 'octal',
|
Chris@909
|
56 :predefined => 'predefined',
|
Chris@909
|
57 :predefined_constant => 'predefined-constant',
|
Chris@909
|
58 :predefined_type => 'predefined-type',
|
Chris@909
|
59 :preprocessor => 'preprocessor',
|
Chris@909
|
60 :pseudo_class => 'pseudo-class',
|
Chris@909
|
61 :regexp => 'regexp',
|
Chris@909
|
62 :reserved => 'reserved',
|
Chris@909
|
63 :shell => 'shell',
|
Chris@909
|
64 :string => 'string',
|
Chris@909
|
65 :symbol => 'symbol',
|
Chris@909
|
66 :tag => 'tag',
|
Chris@909
|
67 :type => 'type',
|
Chris@909
|
68 :value => 'value',
|
Chris@909
|
69 :variable => 'variable',
|
Chris@909
|
70
|
Chris@909
|
71 :change => 'change',
|
Chris@909
|
72 :delete => 'delete',
|
Chris@909
|
73 :head => 'head',
|
Chris@909
|
74 :insert => 'insert',
|
Chris@909
|
75
|
Chris@909
|
76 :eyecatcher => 'eyecatcher',
|
Chris@909
|
77
|
Chris@909
|
78 :ident => false,
|
Chris@909
|
79 :operator => false,
|
Chris@909
|
80
|
Chris@909
|
81 :space => false,
|
Chris@909
|
82 :plain => false
|
Chris@909
|
83 )
|
Chris@909
|
84
|
Chris@909
|
85 TokenKinds[:method] = TokenKinds[:function]
|
Chris@909
|
86 TokenKinds[:escape] = TokenKinds[:delimiter]
|
Chris@909
|
87 TokenKinds[:docstring] = TokenKinds[:comment]
|
Chris@909
|
88
|
Chris@909
|
89 TokenKinds.freeze
|
Chris@909
|
90 end
|