Project

General

Profile

Changelog » History » Version 7

Kornelius Kalnbach, 09/21/2011 04:23 AM

1 1 Kornelius Kalnbach
h1=. CodeRay Version History
2 1 Kornelius Kalnbach
 
3 5 Kornelius Kalnbach
p=. _This files lists all changes in the CodeRay library since the 0.9.8 release._
4 1 Kornelius Kalnbach
 
5 2 Kornelius Kalnbach
{{toc}}
6 2 Kornelius Kalnbach
 
7 1 Kornelius Kalnbach
h2. Changes in 1.0
8 1 Kornelius Kalnbach
 
9 5 Kornelius Kalnbach
CodeRay 1.0 is a major rewrite of the library, and incompatible to earlier versions.
10 5 Kornelius Kalnbach
 
11 5 Kornelius Kalnbach
The command line and programmer interfaces are similar to 0.9, but the internals have completely changed.
12 5 Kornelius Kalnbach
13 5 Kornelius Kalnbach
h3. General changes
14 5 Kornelius Kalnbach
 
15 5 Kornelius Kalnbach
* *NEW*: The new Diff scanner colorizes code inside of the diff, and highlights inline changes.
16 5 Kornelius Kalnbach
* *NEW*: Extended support and usage of HTML5 and CSS 3 features.
17 5 Kornelius Kalnbach
* *NEW*: Direct Streaming
18 5 Kornelius Kalnbach
* *NEW* scanners: Clojure and HAML
19 5 Kornelius Kalnbach
* *CHANGED*: Token classes (used as CSS classes) are readable names; breaks you stylesheet!
20 5 Kornelius Kalnbach
* *IMPROVED* documentation
21 5 Kornelius Kalnbach
* *IMPROVED* speed: faster startup (using @autoload@), scanning, and encoding
22 5 Kornelius Kalnbach
* *IMPROVED* Ruby 1.9 encodings support
23 5 Kornelius Kalnbach
* *IMPROVED* Tests: There are more of them now!
24 5 Kornelius Kalnbach
25 1 Kornelius Kalnbach
h3. Direct Streaming
26 1 Kornelius Kalnbach
 
27 5 Kornelius Kalnbach
CodeRay 1.0 introduces _Direct Streaming_ as a faster and simpler alternative to Tokens. It means that all Scanners,
28 5 Kornelius Kalnbach
Encoders and Filters had to be rewritten, and that older scanners using the Tokens API are no longer compatible with
29 5 Kornelius Kalnbach
this version.
30 1 Kornelius Kalnbach
 
31 5 Kornelius Kalnbach
The main benefits of this change are:
32 1 Kornelius Kalnbach
 
33 5 Kornelius Kalnbach
* more speed (benchmarks show 10% to 50% more tokens per second compared to CodeRay 0.9)
34 5 Kornelius Kalnbach
* the ability to stream output into a pipe on the command line
35 5 Kornelius Kalnbach
* a simpler API
36 5 Kornelius Kalnbach
* less code
37 5 Kornelius Kalnbach
 
38 1 Kornelius Kalnbach
Changes related to the new tokens handling include:
39 5 Kornelius Kalnbach
* *CHANGED*: The Scanners now call Encoders directly; tokens are not added to a Tokens array, but are send to the
40 5 Kornelius Kalnbach
  Encoder as a method call. The Tokens representation (which can be seen as a cache now) is still present, but as a
41 5 Kornelius Kalnbach
  special case; Tokens just encodes the given tokens into an Array for later use.
42 1 Kornelius Kalnbach
* *CHANGED*: The token actions (@text_token@, @begin_group@ etc.) are now public methods of @Encoder@ and @Tokens@.
43 1 Kornelius Kalnbach
* *REWRITE* of all Scanners, Encoders, Filters, and Tokens.
44 1 Kornelius Kalnbach
* *RENAMED* @:open@ and @:close@ actions to @:begin_group@ and @:end_group@.
45 1 Kornelius Kalnbach
* *RENAMED* @open_token@ and @close_token@ methods to @begin_group@ and @end_group@.
46 5 Kornelius Kalnbach
* *NEW* method @#tokens@ allows to add several tokens to the stream. @Tokens@ and @Encoders::Encoder@ define this
47 5 Kornelius Kalnbach
  method.
48 5 Kornelius Kalnbach
* *CHANGED* The above name changes also affect the JSON, XML, and YAML encoders. CodeRay 1.0 output will be incompatible
49 5 Kornelius Kalnbach
  with earlier versions.
50 5 Kornelius Kalnbach
* *REMOVED* @TokenStream@ and the @Streamable@ API and all related features like @NotStreamableError@ are now obsolete
51 5 Kornelius Kalnbach
  and have been removed.
52 1 Kornelius Kalnbach
53 5 Kornelius Kalnbach
h3. Command Line
54 1 Kornelius Kalnbach
 
55 5 Kornelius Kalnbach
The @coderay@ executable was rewritten and has a few new features:
56 3 Kornelius Kalnbach
 
57 5 Kornelius Kalnbach
* *NEW* Ability to stream into a pipe; try @coderay file | more -r@
58 5 Kornelius Kalnbach
* *NEW* help
59 5 Kornelius Kalnbach
* *IMPROVED*: more consistent parameter handling
60 5 Kornelius Kalnbach
* *REMOVED* @coderay_stylesheet@ executable; use @coderay stylesheet [name]@.
61 1 Kornelius Kalnbach
62 1 Kornelius Kalnbach
h3. @Tokens@
63 1 Kornelius Kalnbach
 
64 6 Kornelius Kalnbach
* *NEW* methods @count@, @begin_group@, @end_group@, @begin_line@, and @end_line@.
65 1 Kornelius Kalnbach
* *REMOVED* methods @#stream?@, @#each_text_token@.
66 7 Kornelius Kalnbach
* *REMOVED* methods @#optimize@, @#fix@, @#split_into_lines@ along with their bang! variants.
67 3 Kornelius Kalnbach
* *REMOVED* @#text@ and @#text_size@ methods. Use the @Text@ encoder instead.
68 3 Kornelius Kalnbach
* *REMOVED* special implementation of @#each@ taking a filter parameter. Use @TokenKindFilter@ instead.
69 1 Kornelius Kalnbach
70 1 Kornelius Kalnbach
h3. *RENAMED*: @TokenKinds@
71 3 Kornelius Kalnbach
 
72 3 Kornelius Kalnbach
Renamed from @Tokens::ClassOfKind@ (was also @Tokens::AbbreviationForKind@ for a while).
73 1 Kornelius Kalnbach
The term "token class" is no longer used in CodeRay. Instead, tokens have _kinds_.
74 1 Kornelius Kalnbach
See "#122":http://redmine.rubychan.de/issues/122.
75 3 Kornelius Kalnbach
 
76 5 Kornelius Kalnbach
* *CHANGED* all token CSS classes to readable names.
77 1 Kornelius Kalnbach
* *ADDED* token kinds @:filename@, @:namespace@, and @:eyecatcher@.
78 5 Kornelius Kalnbach
* *RENAMED* @:pre_constant@ and @:pre_type@ to @:predefined_constant@ and @predefined_type@.
79 5 Kornelius Kalnbach
* *RENAMED* @:oct@ and @:bin@ to @:octal@ and @binary@.
80 5 Kornelius Kalnbach
* *REMOVED* token kinds @:attribute_name_fat@, @:attribute_value_fat@, @:operator_fat@, @interpreted@,
81 5 Kornelius Kalnbach
  @:tag_fat@, @tag_special@, @:xml_text@, @:nesting_delimiter@, @:open@, and @:close@.
82 3 Kornelius Kalnbach
* *CHANGED*: Don't raise error for unknown token kinds unless in @$CODERAY_DEBUG@ mode.
83 1 Kornelius Kalnbach
* *CHANGED* the value for a token kind that is not highlighted from
84 1 Kornelius Kalnbach
  @:NO_HIGHLIGHT@ to @false@.
85 1 Kornelius Kalnbach
86 1 Kornelius Kalnbach
h3. @Duo@
87 1 Kornelius Kalnbach
 
88 1 Kornelius Kalnbach
* *NEW* method @call@ for allowing code like @CodeRay::Duo[:python => :yaml].(code)@ in Ruby 1.9.
89 1 Kornelius Kalnbach
90 1 Kornelius Kalnbach
h3. @Encoders::CommentFilter@
91 1 Kornelius Kalnbach
 
92 1 Kornelius Kalnbach
* *NEW* alias @:remove_comments@
93 3 Kornelius Kalnbach
94 1 Kornelius Kalnbach
h3. @Encoders::Filter@
95 1 Kornelius Kalnbach
 
96 1 Kornelius Kalnbach
* *NEW* option @tokens@.
97 1 Kornelius Kalnbach
* *CHANGED*: Now it simply delegates to the output.
98 1 Kornelius Kalnbach
* *REMOVED* @include_text_token?@ and @include_block_token?@ methods.
99 1 Kornelius Kalnbach
100 1 Kornelius Kalnbach
h3. @Encoders::HTML@
101 1 Kornelius Kalnbach
 
102 1 Kornelius Kalnbach
The HTML encoder was cleaned up and simplified.
103 1 Kornelius Kalnbach
 
104 1 Kornelius Kalnbach
* *NEW*: HTML5 and CSS 3 compatible.
105 1 Kornelius Kalnbach
  See "#215":http://redmine.rubychan.de/issues/215.
106 1 Kornelius Kalnbach
* *ADDED* support for @:line_number_anchors@.
107 1 Kornelius Kalnbach
  See "#208":http://redmine.rubychan.de/issues/208.
108 5 Kornelius Kalnbach
* *CHANGED* the default style to @:alpha@.
109 5 Kornelius Kalnbach
* *CHANGED*: Use double click to toggle line numbers in table mode (as single
110 1 Kornelius Kalnbach
  click jumps to an anchor.)
111 1 Kornelius Kalnbach
* *REMOVED* support for @:line_numbers => :list@.
112 1 Kornelius Kalnbach
* *FIXED* splitting of lines for @:line_numbers => :inline@, so that the line
113 1 Kornelius Kalnbach
  numbers don't get colored, too.
114 1 Kornelius Kalnbach
* *RENAMED* @Output#numerize@ to @#number@, which is an actual English word.
115 1 Kornelius Kalnbach
116 1 Kornelius Kalnbach
h3. @Encoders::LinesOfCode@
117 1 Kornelius Kalnbach
 
118 1 Kornelius Kalnbach
* *CHANGED*: @compile@ and @finish@ methods are now protected.
119 1 Kornelius Kalnbach
120 5 Kornelius Kalnbach
h3. *Renamed*: @Encoders::Terminal@ (was @Encoders::Term@)
121 1 Kornelius Kalnbach
 
122 1 Kornelius Kalnbach
* *RENAMED* from @Encoders::Term@, added @:term@ alias.
123 1 Kornelius Kalnbach
* *CLEANUP*: Use @#setup@'s @super@, don't use @:procedure@ token class.
124 1 Kornelius Kalnbach
* *CHANGED*: @#token@'s second parameter is no longer optional.
125 2 Kornelius Kalnbach
* *REMOVED* colors for obsolete token kinds.
126 1 Kornelius Kalnbach
* *FIXED* handling of line tokens.
127 1 Kornelius Kalnbach
128 1 Kornelius Kalnbach
h3. @Encoders::Text@
129 1 Kornelius Kalnbach
 
130 1 Kornelius Kalnbach
* *FIXED* default behavior of stripping the trailing newline.
131 1 Kornelius Kalnbach
132 5 Kornelius Kalnbach
h3. *RENAMED*: @Encoders::TokenKindFilter@ (was @Encoders::TokenClassFilter@)
133 1 Kornelius Kalnbach
 
134 1 Kornelius Kalnbach
* *NEW*: Handles token groups.
135 1 Kornelius Kalnbach
  See "#223":http://redmine.rubychan.de/issues/223.
136 1 Kornelius Kalnbach
* *RENAMED* @include_block_token?@ to @include_group?@.
137 1 Kornelius Kalnbach
138 1 Kornelius Kalnbach
h3. @Encoders::Statistic@
139 1 Kornelius Kalnbach
 
140 1 Kornelius Kalnbach
* *CHANGED*: Tokens actions are counted separately.
141 1 Kornelius Kalnbach
142 3 Kornelius Kalnbach
h3. @Scanners::Scanner@
143 3 Kornelius Kalnbach
 
144 3 Kornelius Kalnbach
* *NEW* methods @#file_extension@ and @#encoding@.
145 3 Kornelius Kalnbach
* *NEW*: The @#tokenize@ method also takes an Array of Strings as source. The
146 1 Kornelius Kalnbach
  code is highlighted as one and split into parts of the input lengths
147 1 Kornelius Kalnbach
  after that using @Tokens#split_into_parts@.
148 5 Kornelius Kalnbach
* *NEW* method @#binary_string@
149 5 Kornelius Kalnbach
* *REMOVED* helper method @String#to_unix@.
150 5 Kornelius Kalnbach
* *REMOVED* method @#streamable?@.
151 5 Kornelius Kalnbach
* *REMOVED* @#marshal_load@ and @#marshal_dump@.
152 5 Kornelius Kalnbach
* *RENAMED* class method @normify@ to @normalize@; it also deals with encoding now.
153 5 Kornelius Kalnbach
* *CHANGED*: @#column@ starts counting with 1 instead of 0
154 1 Kornelius Kalnbach
155 1 Kornelius Kalnbach
h3. *NEW*: @Scanners::Clojure@
156 1 Kornelius Kalnbach
 
157 1 Kornelius Kalnbach
Thanks to Licenser, CodeRay now supports the Clojure language.
158 1 Kornelius Kalnbach
159 1 Kornelius Kalnbach
h3. @Scanners::CSS@
160 3 Kornelius Kalnbach
 
161 1 Kornelius Kalnbach
* *NEW*: Rudimentary support for the @attr@, @counter@, and @counters@ functions.
162 1 Kornelius Kalnbach
  See "#224":http://redmine.rubychan.de/issues/224.
163 1 Kornelius Kalnbach
* *NEW*: Rudimentary support for CSS 3 colors.
164 1 Kornelius Kalnbach
* *CHANGED*: Attribute selectors are highlighted as @:attribute_name@ instead of @:string@.
165 1 Kornelius Kalnbach
* *CHANGED*: Comments are scanned as one token instead of three.
166 1 Kornelius Kalnbach
167 1 Kornelius Kalnbach
h3. @Scanners::Debug@
168 1 Kornelius Kalnbach
 
169 1 Kornelius Kalnbach
* *NEW*: Support for line tokens (@begin_line@ and @end_line@ represented by @[@ and @]@.)
170 1 Kornelius Kalnbach
* *FIXED*: Don't send @:error@ and @nil@ tokens for buggy input any more.
171 1 Kornelius Kalnbach
* *FIXED*: Closes unclosed tokens at the end of @scan_tokens@.
172 1 Kornelius Kalnbach
* *IMPROVED*: Highlight unknown tokens as @:error@.
173 1 Kornelius Kalnbach
* *CHANGED*: Raises an error when trying to end an invalid token group.
174 1 Kornelius Kalnbach
175 1 Kornelius Kalnbach
h3. @Scanners::Delphi@
176 1 Kornelius Kalnbach
 
177 1 Kornelius Kalnbach
* *FIXED*: Closes open string groups.
178 1 Kornelius Kalnbach
179 1 Kornelius Kalnbach
h3. @Scanners::Diff@
180 1 Kornelius Kalnbach
 
181 1 Kornelius Kalnbach
* *NEW*: Highlighting of code based on file names.
182 1 Kornelius Kalnbach
  See ticket "#52":http://redmine.rubychan.de/issues/52.
183 1 Kornelius Kalnbach
  
184 1 Kornelius Kalnbach
  Use the @:highlight_code@ option to turn this feature off. It's enabled
185 1 Kornelius Kalnbach
  by default.
186 1 Kornelius Kalnbach
  
187 1 Kornelius Kalnbach
  This is a very original feature. It enables multi-language highlighting for
188 1 Kornelius Kalnbach
  diff files, which is especially helpful for CodeRay development itself. The
189 1 Kornelius Kalnbach
  updated version of the scanner test suite generated .debug.diff.html files
190 1 Kornelius Kalnbach
  using this.
191 1 Kornelius Kalnbach
  
192 1 Kornelius Kalnbach
  Note: This is still experimental. Tokens spanning more than one line
193 1 Kornelius Kalnbach
  may get highlighted incorrectly. CodeRay tries to keep scanner states
194 1 Kornelius Kalnbach
  between the lines and changes, but the quality of the results depend on
195 1 Kornelius Kalnbach
  the scanner.
196 1 Kornelius Kalnbach
* *NEW*: Inline change highlighting, as suggested by Eric Thomas.
197 1 Kornelius Kalnbach
  See ticket "#227":http://redmine.rubychan.de/issues/227 for details.
198 1 Kornelius Kalnbach
  
199 1 Kornelius Kalnbach
  Use the @:inline_diff@ option to turn this feature off. It's enabled by
200 1 Kornelius Kalnbach
  default.
201 1 Kornelius Kalnbach
  
202 1 Kornelius Kalnbach
  For single-line changes (that is, a single deleted line followed by a single
203 1 Kornelius Kalnbach
  inserted line), this feature surrounds the changed parts with an
204 1 Kornelius Kalnbach
  @:eyecatcher@ group which appears in a more saturated background color.
205 1 Kornelius Kalnbach
  The implementation is quite complex, and highly experimental. The problem
206 1 Kornelius Kalnbach
  with multi-layer tokenizing is that the tokens have to be split into parts.
207 1 Kornelius Kalnbach
  If the inline change starts, say, in the middle of a string, then additional
208 1 Kornelius Kalnbach
  @:end_group@ and @:begin_group@ tokens must be inserted to keep the group
209 1 Kornelius Kalnbach
  nesting intact. The extended @Scanner#tokenize@ method and the new
210 1 Kornelius Kalnbach
  @Tokens#split_into_parts@ method take care of this.
211 1 Kornelius Kalnbach
* *NEW*: Highlight the file name in the change headers as @:filename@.
212 1 Kornelius Kalnbach
* *CHANGED*: Highlight unknown lines as @:comment@ instead of @:head@.
213 5 Kornelius Kalnbach
* *IMPROVED*: Background colors for Diff output have been optimized.
214 1 Kornelius Kalnbach
215 5 Kornelius Kalnbach
h3. *RENAMED*: @Scanners::ERB@ (was @Scanners::RHTML@)
216 5 Kornelius Kalnbach
217 5 Kornelius Kalnbach
h3. *NEW*: @Scanners::HAML@
218 5 Kornelius Kalnbach
 
219 5 Kornelius Kalnbach
It uses the new :state options of the HTML and Ruby scanners.
220 5 Kornelius Kalnbach
 
221 5 Kornelius Kalnbach
Some rare cases are not considered (like @#{...}@ snippets inside of :javascript blocks),
222 5 Kornelius Kalnbach
but it highlights pretty well.
223 5 Kornelius Kalnbach
224 1 Kornelius Kalnbach
h3. @Scanners::HTML@
225 1 Kornelius Kalnbach
 
226 1 Kornelius Kalnbach
* *FIXED*: Closes open string groups.
227 1 Kornelius Kalnbach
228 1 Kornelius Kalnbach
h3. @Scanners::JavaScript@
229 1 Kornelius Kalnbach
 
230 4 Kornelius Kalnbach
* *IMPROVED*: Added @NaN@ and @Infinity@ to list of predefined constants.
231 1 Kornelius Kalnbach
* *IMPROVED* recognition of RegExp literals with leading spaces.
232 1 Kornelius Kalnbach
233 1 Kornelius Kalnbach
h3. @Scanners::Java@
234 1 Kornelius Kalnbach
 
235 1 Kornelius Kalnbach
* *NEW*: Package names are highlighted as @:namespace@.
236 1 Kornelius Kalnbach
  See "#210":http://redmine.rubychan.de/issues/210.
237 1 Kornelius Kalnbach
238 5 Kornelius Kalnbach
h3. *REMOVED*: @Scanners::NitroXHTML@
239 5 Kornelius Kalnbach
 
240 5 Kornelius Kalnbach
Nitro is "dead":http://www.nitrohq.com/.
241 5 Kornelius Kalnbach
242 1 Kornelius Kalnbach
h3. *RENAMED*: @Scanners::Text@ (was @Scanners::Plaintext@)
243 1 Kornelius Kalnbach
 
244 1 Kornelius Kalnbach
* *IMPROVED*: Just returns the string without scanning (faster).
245 1 Kornelius Kalnbach
 
246 1 Kornelius Kalnbach
 This is much faster than scanning until @/\z/@ in Ruby 1.8.
247 1 Kornelius Kalnbach
248 1 Kornelius Kalnbach
h3. @Scanners::Python@
249 1 Kornelius Kalnbach
 
250 1 Kornelius Kalnbach
* *CHANGED*: Docstrings are highlighted as @:comment@.
251 1 Kornelius Kalnbach
  See "#190":http://redmine.rubychan.de/issues/190.
252 1 Kornelius Kalnbach
253 3 Kornelius Kalnbach
h3. *NEW*: @Scanners::Raydebug@
254 1 Kornelius Kalnbach
255 5 Kornelius Kalnbach
Copied from @Scanners::Debug@, highlights the token dump instead of importing it. It also reacts to the @.raydebug@ file
256 5 Kornelius Kalnbach
name suffix now.
257 5 Kornelius Kalnbach
258 1 Kornelius Kalnbach
h3. @Scanners::Ruby@
259 1 Kornelius Kalnbach
 
260 1 Kornelius Kalnbach
* *ADDED* more predefined keywords (see http://murfy.de/ruby-constants).
261 1 Kornelius Kalnbach
* *IMPROVED* support for singleton method definitions.
262 1 Kornelius Kalnbach
  See "#147":http://redmine.rubychan.de/issues/147.
263 1 Kornelius Kalnbach
* *FIXED*: Don't highlight methods with a capital letter as constants
264 5 Kornelius Kalnbach
  (eg. @GL.PushMatrix@).
265 1 Kornelius Kalnbach
* *NEW*: Highlight buggy floats (like .5) as @:error@.
266 1 Kornelius Kalnbach
* *CLEANUP* of documentation, names of constants and variables, state handling.
267 1 Kornelius Kalnbach
  
268 1 Kornelius Kalnbach
  Moved @StringState@ class from @patterns.rb@ into a separate file.
269 1 Kornelius Kalnbach
* *NEW*: Complicated rule for recognition of @foo=@ style method names.
270 1 Kornelius Kalnbach
* *NEW*: Handles @:keep_state@ option (a bit; experimental).
271 1 Kornelius Kalnbach
  
272 1 Kornelius Kalnbach
  Actually, Ruby checks if there is @[~>=]@, but not @=>@ following the name.
273 1 Kornelius Kalnbach
  
274 1 Kornelius Kalnbach
* *REMOVED* @EncodingError@
275 1 Kornelius Kalnbach
276 5 Kornelius Kalnbach
h3. *REMOVED* @Scanners::Scheme@
277 1 Kornelius Kalnbach
 
278 5 Kornelius Kalnbach
* It is too buggy, and nobody was using it. To be added again when it's fixed.
279 5 Kornelius Kalnbach
  See "#59":http://redmine.rubychan.de/issues/59.
280 1 Kornelius Kalnbach
281 1 Kornelius Kalnbach
h3. @Scanners::SQL@
282 1 Kornelius Kalnbach
 
283 1 Kornelius Kalnbach
* *IMPROVED*: Extended list of keywords and functions (thanks to
284 1 Kornelius Kalnbach
  Joshua Galvez, Etienne Massip, and others).
285 1 Kornelius Kalnbach
 
286 1 Kornelius Kalnbach
  See "#221":http://redmine.rubychan.de/issues/221.
287 1 Kornelius Kalnbach
* *FIXED*: Closes open string groups.
288 1 Kornelius Kalnbach
* *FIXED*: Words after @.@ are always recognized as @:ident@.
289 1 Kornelius Kalnbach
290 1 Kornelius Kalnbach
h3. @Scanners::YAML@
291 1 Kornelius Kalnbach
 
292 1 Kornelius Kalnbach
* *FIXED*: Allow spaces before colon in mappings.
293 1 Kornelius Kalnbach
 
294 1 Kornelius Kalnbach
  See "#231":http://redmine.rubychan.de/issues/231.
295 1 Kornelius Kalnbach
296 1 Kornelius Kalnbach
h3. *NEW*: @Styles::Alpha@
297 5 Kornelius Kalnbach
298 5 Kornelius Kalnbach
A style that uses transparent HSLA colors as defined in CSS 3. See "#199":http://redmine.rubychan.de/issues/199.
299 1 Kornelius Kalnbach
 
300 5 Kornelius Kalnbach
It also uses the CSS 3 property @user-select: none@ to keep the user from selecting the line numbers. This is especially
301 5 Kornelius Kalnbach
nice for @:inline@ line numbers. See "#226":http://redmine.rubychan.de/issues/226.
302 1 Kornelius Kalnbach
303 1 Kornelius Kalnbach
h3. @WordList@
304 1 Kornelius Kalnbach
 
305 1 Kornelius Kalnbach
Stripped down to 19 LOC.
306 1 Kornelius Kalnbach
307 5 Kornelius Kalnbach
* *RENAMED* @CaseIgnoringWordList@ to @WordList::CaseIgnoring@.
308 1 Kornelius Kalnbach
* *REMOVED* caching option because it creates memory leaks.
309 1 Kornelius Kalnbach
* *REMOVED* block option.
310 1 Kornelius Kalnbach
311 1 Kornelius Kalnbach
h3. @FileType@
312 1 Kornelius Kalnbach
 
313 1 Kornelius Kalnbach
* *NEW*: Recognizes @.gemspec@, @.rjs@, @.rpdf@ extensions, @Gemfile@, and @Capfile@ as Ruby.
314 1 Kornelius Kalnbach
  
315 1 Kornelius Kalnbach
  Thanks to the authors of the TextMate Ruby bundle!
316 5 Kornelius Kalnbach
* *REMOVED* @FileType#shebang@ is a protected method now.
317 1 Kornelius Kalnbach
318 1 Kornelius Kalnbach
h3. @Plugin@
319 1 Kornelius Kalnbach
 
320 1 Kornelius Kalnbach
* *IMPROVED*: @register_for@ sets the @plugin_id@; it can now be a @Symbol@.
321 1 Kornelius Kalnbach
* *ADDED* @PluginHost#const_missing@ method: Plugins are loaded automatically.
322 1 Kornelius Kalnbach
  Using @Scanners::JavaScript@ in your code loads @scanners/java_script.rb@.
323 1 Kornelius Kalnbach
* *ADDED* @#all_plugins@ method to simplify getting 
324 1 Kornelius Kalnbach
  information about all available plugins (suggested by bnhymn).
325 5 Kornelius Kalnbach
* *CHANGED* the default plugin key from @nil@ to @:default@.
326 1 Kornelius Kalnbach
327 1 Kornelius Kalnbach
h3. @GZip@
328 1 Kornelius Kalnbach
 
329 1 Kornelius Kalnbach
* *MOVED* into @CodeRay@ namespace.
330 1 Kornelius Kalnbach
* *MOVED* file from @gzip_simple.rb@ to @gzip.rb@.
331 1 Kornelius Kalnbach
* *REMOVED* @String@ extensions.
332 1 Kornelius Kalnbach
333 5 Kornelius Kalnbach
h3. More API changes
334 1 Kornelius Kalnbach
 
335 1 Kornelius Kalnbach
* *FIXED* @Encoders::HTML#token@'s second parameter is no longer optional.
336 1 Kornelius Kalnbach
* *CHANGED* @Encoders::HTML::Output@'s API.
337 1 Kornelius Kalnbach
* *REMOVED* lots of unused methods.
338 1 Kornelius Kalnbach
 
339 5 Kornelius Kalnbach
The helper classes were cleaned up; see above for details.
340 1 Kornelius Kalnbach
 
341 5 Kornelius Kalnbach
* *CHANGED* @Plugin@ API was simplified and stripped of all unnecessary features.
342 5 Kornelius Kalnbach
* *CHANGED* Moved @GZip@ and @FileType@ libraries into @CodeRay@; cleaned them up.