coderay 0.7.2.168 → 0.7.2.176

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,119 +1,119 @@
1
- module CodeRay
2
- module Styles
3
-
4
- class Murphy < Style
5
-
6
- register_for :murphy
7
-
8
- code_background = '#001129'
9
- numbers_background = code_background
10
- border_color = 'silver'
11
- normal_color = '#C0C0C0'
12
-
13
- CSS_MAIN_STYLES = <<-MAIN
14
- .CodeRay {
15
- background-color: #{code_background};
16
- border: 1px solid #{border_color};
17
- font-family: 'Courier New', 'Terminal', monospace;
18
- color: #{normal_color};
19
- }
20
- .CodeRay pre { margin: 0px; }
21
-
22
- div.CodeRay { }
23
-
24
- span.CodeRay { white-space: pre; border: 0px; padding: 2px; }
25
-
26
- table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px; }
27
- table.CodeRay td { padding: 2px 4px; vertical-align: top; }
28
-
29
- .CodeRay .line_numbers, .CodeRay .no {
30
- background-color: #{numbers_background};
31
- color: gray;
32
- text-align: right;
33
- }
34
- .CodeRay .line_numbers tt { font-weight: bold; }
35
- .CodeRay .no { padding: 0px 4px; }
36
- .CodeRay .code { width: 100%; }
37
-
38
- ol.CodeRay { font-size: 10pt; }
39
- ol.CodeRay li { white-space: pre; }
40
-
41
- .CodeRay .code pre { overflow: auto; }
42
- MAIN
43
-
44
- TOKEN_COLORS = <<-'TOKENS'
45
- .af { color:#00C; }
46
- .an { color:#007; }
47
- .av { color:#700; }
48
- .aw { color:#C00; }
49
- .bi { color:#509; font-weight:bold; }
50
- .c { color:#666; }
51
-
52
- .ch { color:#88F; }
53
- .ch .k { color:#04D; }
54
- .ch .dl { color:#039; }
55
-
56
- .cl { color:#e9e; font-weight:bold; }
57
- .co { color:#5ED; font-weight:bold; }
58
- .cr { color:#0A0; }
59
- .cv { color:#ccf; }
60
- .df { color:#099; font-weight:bold; }
61
- .di { color:#088; font-weight:bold; }
62
- .dl { color:black; }
63
- .do { color:#970; }
64
- .ds { color:#D42; font-weight:bold; }
65
- .e { color:#666; font-weight:bold; }
66
- .er { color:#F00; background-color:#FAA; }
67
- .ex { color:#F00; font-weight:bold; }
68
- .fl { color:#60E; font-weight:bold; }
69
- .fu { color:#5ed; font-weight:bold; }
70
- .gv { color:#f84; }
71
- .hx { color:#058; font-weight:bold; }
72
- .i { color:#66f; font-weight:bold; }
73
- .ic { color:#B44; font-weight:bold; }
74
- .il { }
75
- .in { color:#B2B; font-weight:bold; }
76
- .iv { color:#aaf; }
77
- .la { color:#970; font-weight:bold; }
78
- .lv { color:#963; }
79
- .oc { color:#40E; font-weight:bold; }
80
- .on { color:#000; font-weight:bold; }
81
- .op { }
82
- .pc { color:#08f; font-weight:bold; }
83
- .pd { color:#369; font-weight:bold; }
84
- .pp { color:#579; }
85
- .pt { color:#66f; font-weight:bold; }
86
- .r { color:#5de; font-weight:bold; }
87
-
88
- .rx { background-color:#221133; }
89
- .rx .k { color:#f8f; }
90
- .rx .dl { color:#f0f; }
91
- .rx .mod { color:#f0b; }
92
- .rx .fu { color:#404; font-weight: bold; }
93
-
94
- .s { background-color:#331122; }
95
- .s .s { background-color:#ffe0e0; }
96
- .s .s .s { background-color:#ffd0d0; }
97
- .s .k { color:#F88; }
98
- .s .dl { color:#f55; }
99
-
100
- .sh { background-color:#f0fff0; }
101
- .sh .k { color:#2B2; }
102
- .sh .dl { color:#161; }
103
-
104
- .sy { color:#Fc8; }
105
- .sy .k { color:#Fc8; }
106
- .sy .dl { color:#F84; }
107
-
108
- .ta { color:#070; }
109
- .tf { color:#070; font-weight:bold; }
110
- .ts { color:#D70; font-weight:bold; }
111
- .ty { color:#339; font-weight:bold; }
112
- .v { color:#036; }
113
- .xt { color:#444; }
114
- TOKENS
115
-
116
- end
117
-
118
- end
119
- end
1
+ module CodeRay
2
+ module Styles
3
+
4
+ class Murphy < Style
5
+
6
+ register_for :murphy
7
+
8
+ code_background = '#001129'
9
+ numbers_background = code_background
10
+ border_color = 'silver'
11
+ normal_color = '#C0C0C0'
12
+
13
+ CSS_MAIN_STYLES = <<-MAIN
14
+ .CodeRay {
15
+ background-color: #{code_background};
16
+ border: 1px solid #{border_color};
17
+ font-family: 'Courier New', 'Terminal', monospace;
18
+ color: #{normal_color};
19
+ }
20
+ .CodeRay pre { margin: 0px; }
21
+
22
+ div.CodeRay { }
23
+
24
+ span.CodeRay { white-space: pre; border: 0px; padding: 2px; }
25
+
26
+ table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px; }
27
+ table.CodeRay td { padding: 2px 4px; vertical-align: top; }
28
+
29
+ .CodeRay .line_numbers, .CodeRay .no {
30
+ background-color: #{numbers_background};
31
+ color: gray;
32
+ text-align: right;
33
+ }
34
+ .CodeRay .line_numbers tt { font-weight: bold; }
35
+ .CodeRay .no { padding: 0px 4px; }
36
+ .CodeRay .code { width: 100%; }
37
+
38
+ ol.CodeRay { font-size: 10pt; }
39
+ ol.CodeRay li { white-space: pre; }
40
+
41
+ .CodeRay .code pre { overflow: auto; }
42
+ MAIN
43
+
44
+ TOKEN_COLORS = <<-'TOKENS'
45
+ .af { color:#00C; }
46
+ .an { color:#007; }
47
+ .av { color:#700; }
48
+ .aw { color:#C00; }
49
+ .bi { color:#509; font-weight:bold; }
50
+ .c { color:#666; }
51
+
52
+ .ch { color:#88F; }
53
+ .ch .k { color:#04D; }
54
+ .ch .dl { color:#039; }
55
+
56
+ .cl { color:#e9e; font-weight:bold; }
57
+ .co { color:#5ED; font-weight:bold; }
58
+ .cr { color:#0A0; }
59
+ .cv { color:#ccf; }
60
+ .df { color:#099; font-weight:bold; }
61
+ .di { color:#088; font-weight:bold; }
62
+ .dl { color:black; }
63
+ .do { color:#970; }
64
+ .ds { color:#D42; font-weight:bold; }
65
+ .e { color:#666; font-weight:bold; }
66
+ .er { color:#F00; background-color:#FAA; }
67
+ .ex { color:#F00; font-weight:bold; }
68
+ .fl { color:#60E; font-weight:bold; }
69
+ .fu { color:#5ed; font-weight:bold; }
70
+ .gv { color:#f84; }
71
+ .hx { color:#058; font-weight:bold; }
72
+ .i { color:#66f; font-weight:bold; }
73
+ .ic { color:#B44; font-weight:bold; }
74
+ .il { }
75
+ .in { color:#B2B; font-weight:bold; }
76
+ .iv { color:#aaf; }
77
+ .la { color:#970; font-weight:bold; }
78
+ .lv { color:#963; }
79
+ .oc { color:#40E; font-weight:bold; }
80
+ .on { color:#000; font-weight:bold; }
81
+ .op { }
82
+ .pc { color:#08f; font-weight:bold; }
83
+ .pd { color:#369; font-weight:bold; }
84
+ .pp { color:#579; }
85
+ .pt { color:#66f; font-weight:bold; }
86
+ .r { color:#5de; font-weight:bold; }
87
+
88
+ .rx { background-color:#221133; }
89
+ .rx .k { color:#f8f; }
90
+ .rx .dl { color:#f0f; }
91
+ .rx .mod { color:#f0b; }
92
+ .rx .fu { color:#404; font-weight: bold; }
93
+
94
+ .s { background-color:#331122; }
95
+ .s .s { background-color:#ffe0e0; }
96
+ .s .s .s { background-color:#ffd0d0; }
97
+ .s .k { color:#F88; }
98
+ .s .dl { color:#f55; }
99
+
100
+ .sh { background-color:#f0fff0; }
101
+ .sh .k { color:#2B2; }
102
+ .sh .dl { color:#161; }
103
+
104
+ .sy { color:#Fc8; }
105
+ .sy .k { color:#Fc8; }
106
+ .sy .dl { color:#F84; }
107
+
108
+ .ta { color:#070; }
109
+ .tf { color:#070; font-weight:bold; }
110
+ .ts { color:#D70; font-weight:bold; }
111
+ .ty { color:#339; font-weight:bold; }
112
+ .v { color:#036; }
113
+ .xt { color:#444; }
114
+ TOKENS
115
+
116
+ end
117
+
118
+ end
119
+ end
@@ -170,7 +170,7 @@ module CodeRay
170
170
  print ' Tokens#optimize: before: %d - ' % size if $DEBUG
171
171
  last_kind = last_text = nil
172
172
  new = self.class.new
173
- each do |text, kind|
173
+ for text, kind in self
174
174
  if text.is_a? String
175
175
  if kind == last_kind
176
176
  last_text << text
@@ -195,6 +195,51 @@ module CodeRay
195
195
  def optimize!
196
196
  replace optimize
197
197
  end
198
+
199
+ # Ensure that all :open tokens have a correspondent :close one.
200
+ #
201
+ # TODO: Test this!
202
+ def fix
203
+ # Check token nesting using a stack of kinds.
204
+ opened = []
205
+ for token, kind in self
206
+ if token == :open
207
+ opened.push kind
208
+ elsif token == :close
209
+ expected = opened.pop
210
+ if kind != expected
211
+ # Unexpected :close; decide what to do based on the kind:
212
+ # - token was opened earlier: also close tokens in between
213
+ # - token was never opened: delete the :close (skip with next)
214
+ next unless opened.rindex expected
215
+ tokens << [:close, kind] until (kind = opened.pop) == expected
216
+ end
217
+ end
218
+ tokens << [token, kind]
219
+ end
220
+ # Close remaining opened tokens
221
+ tokens << [:close, kind] while kind = opened.pop
222
+ tokens
223
+ end
224
+
225
+ def fix!
226
+ replace fix
227
+ end
228
+
229
+ # Makes sure that:
230
+ # - newlines are single tokens
231
+ # (which means all other token are single-line)
232
+ # - there are no open tokens at the end the line
233
+ #
234
+ # This makes it simple for encoders that work line-oriented,
235
+ # like HTML with list-style numeration.
236
+ def split_into_lines
237
+ raise NotImplementedError
238
+ end
239
+
240
+ def split_into_lines!
241
+ replace split_into_lines
242
+ end
198
243
 
199
244
  # Dumps the object into a String that can be saved
200
245
  # in files or databases.
@@ -304,7 +349,8 @@ module CodeRay
304
349
 
305
350
  # This method is not implemented due to speed reasons. Use Tokens.
306
351
  def text_size
307
- raise NotImplementedError, 'This method is not implemented due to speed reasons.'
352
+ raise NotImplementedError,
353
+ 'This method is not implemented due to speed reasons.'
308
354
  end
309
355
 
310
356
  # A TokenStream cannot be dumped. Use Tokens.
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: coderay
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.7.2.168
7
- date: 2006-07-11 00:00:00 +02:00
6
+ version: 0.7.2.176
7
+ date: 2006-10-15 00:00:00 +02:00
8
8
  summary: CodeRay is a fast syntax highlighter engine for many languages.
9
9
  require_paths:
10
10
  - lib
@@ -34,67 +34,67 @@ authors:
34
34
  - murphy
35
35
  files:
36
36
  - "./lib/coderay.rb"
37
- - "./lib/coderay/style.rb"
37
+ - "./lib/coderay/tokens.rb"
38
38
  - "./lib/coderay/encoder.rb"
39
- - "./lib/coderay/scanner.rb"
39
+ - "./lib/coderay/style.rb"
40
40
  - "./lib/coderay/duo.rb"
41
- - "./lib/coderay/tokens.rb"
42
- - "./lib/coderay/encoders/html.rb"
43
- - "./lib/coderay/encoders/debug.rb"
44
- - "./lib/coderay/encoders/xml.rb"
45
- - "./lib/coderay/encoders/_map.rb"
46
- - "./lib/coderay/encoders/div.rb"
41
+ - "./lib/coderay/scanner.rb"
47
42
  - "./lib/coderay/encoders/tokens.rb"
48
- - "./lib/coderay/encoders/count.rb"
43
+ - "./lib/coderay/encoders/debug.rb"
44
+ - "./lib/coderay/encoders/text.rb"
45
+ - "./lib/coderay/encoders/page.rb"
49
46
  - "./lib/coderay/encoders/null.rb"
50
- - "./lib/coderay/encoders/statistic.rb"
51
47
  - "./lib/coderay/encoders/yaml.rb"
52
48
  - "./lib/coderay/encoders/span.rb"
53
- - "./lib/coderay/encoders/text.rb"
54
- - "./lib/coderay/encoders/page.rb"
49
+ - "./lib/coderay/encoders/count.rb"
50
+ - "./lib/coderay/encoders/statistic.rb"
51
+ - "./lib/coderay/encoders/xml.rb"
52
+ - "./lib/coderay/encoders/html.rb"
53
+ - "./lib/coderay/encoders/div.rb"
54
+ - "./lib/coderay/encoders/_map.rb"
55
55
  - "./lib/coderay/encoders/html/classes.rb"
56
- - "./lib/coderay/encoders/html/output.rb"
57
- - "./lib/coderay/encoders/html/numerization.rb"
58
56
  - "./lib/coderay/encoders/html/css.rb"
59
- - "./lib/coderay/helpers/plugin.rb"
60
- - "./lib/coderay/helpers/filetype.rb"
57
+ - "./lib/coderay/encoders/html/numerization.rb"
58
+ - "./lib/coderay/encoders/html/output.rb"
61
59
  - "./lib/coderay/helpers/gzip_simple.rb"
60
+ - "./lib/coderay/helpers/filetype.rb"
62
61
  - "./lib/coderay/helpers/word_list.rb"
63
- - "./lib/coderay/scanners/rhtml.rb"
64
- - "./lib/coderay/scanners/delphi.rb"
62
+ - "./lib/coderay/helpers/plugin.rb"
65
63
  - "./lib/coderay/scanners/c.rb"
64
+ - "./lib/coderay/scanners/rhtml.rb"
65
+ - "./lib/coderay/scanners/html.rb"
66
66
  - "./lib/coderay/scanners/plaintext.rb"
67
67
  - "./lib/coderay/scanners/_map.rb"
68
- - "./lib/coderay/scanners/html.rb"
69
- - "./lib/coderay/scanners/ruby.rb"
68
+ - "./lib/coderay/scanners/delphi.rb"
70
69
  - "./lib/coderay/scanners/xml.rb"
70
+ - "./lib/coderay/scanners/ruby.rb"
71
71
  - "./lib/coderay/scanners/nitro_xhtml.rb"
72
72
  - "./lib/coderay/scanners/ruby/patterns.rb"
73
73
  - "./lib/coderay/styles/cycnus.rb"
74
74
  - "./lib/coderay/styles/murphy.rb"
75
75
  - "./lib/coderay/styles/_map.rb"
76
+ - "./demo/demo_tokens.rb"
76
77
  - "./demo/suite.rb"
77
- - "./demo/demo_server.rb"
78
- - "./demo/demo_load_encoder.rb"
79
- - "./demo/demo_load_scanner.rb"
80
- - "./demo/demo_more.rb"
81
78
  - "./demo/demo_css.rb"
79
+ - "./demo/demo_div.rb"
80
+ - "./demo/demo_highlight.rb"
81
+ - "./demo/demo_simple.rb"
82
+ - "./demo/demo_encoder.rb"
83
+ - "./demo/demo_html2.rb"
84
+ - "./demo/demo_load_scanner.rb"
85
+ - "./demo/demo_html.rb"
86
+ - "./demo/demo_dump.rb"
82
87
  - "./demo/demo_cache.rb"
88
+ - "./demo/demo_more.rb"
83
89
  - "./demo/demo_html_list.rb"
90
+ - "./demo/demo_global_vars.rb"
84
91
  - "./demo/demo_global_vars2.rb"
85
92
  - "./demo/demo_stream2.rb"
86
- - "./demo/demo_encoder.rb"
87
- - "./demo/demo_div.rb"
88
- - "./demo/demo_html2.rb"
89
- - "./demo/demo_count.rb"
90
- - "./demo/demo_simple.rb"
91
- - "./demo/demo_scanner.rb"
93
+ - "./demo/demo_load_encoder.rb"
92
94
  - "./demo/demo_stream.rb"
93
- - "./demo/demo_global_vars.rb"
94
- - "./demo/demo_tokens.rb"
95
- - "./demo/demo_html.rb"
96
- - "./demo/demo_dump.rb"
97
- - "./demo/demo_highlight.rb"
95
+ - "./demo/demo_scanner.rb"
96
+ - "./demo/demo_count.rb"
97
+ - "./demo/demo_server.rb"
98
98
  - "./README"
99
99
  - "./LICENSE"
100
100
  - "./FOLDERS"