Project

General

Profile

Changelog » History » Version 6

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