Project

General

Profile

Changelog » History » Version 3

Kornelius Kalnbach, 05/14/2011 12:27 PM

1 1 Kornelius Kalnbach
h1=. CodeRay Version History
2 1 Kornelius Kalnbach
 
3 1 Kornelius Kalnbach
p=. _This files lists all changes in the CodeRay library since the 0.8.4 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 1 Kornelius Kalnbach
h3. Direct Streaming
10 1 Kornelius Kalnbach
 
11 1 Kornelius Kalnbach
CodeRay 1.0 introduces _Direct Streaming_ as a faster and simpler alternative to Tokens. It means that all Scanners, Encoders and Filters had to be rewritten, and that older scanners using the Tokens API are no longer compatible with this version.
12 1 Kornelius Kalnbach
 
13 1 Kornelius Kalnbach
The benefit of this change is more speed (benchmarks show 10% to 50% more tokens per second compared to CodeRay 0.9), a simpler API, and less code.
14 1 Kornelius Kalnbach
 
15 1 Kornelius Kalnbach
Changes related to the new tokens handling include:
16 1 Kornelius Kalnbach
* *CHANGED*: The Scanners now call Encoders directly; tokens are not added to a Tokens array, but are send to the Encoder as a method call. The Tokens representation (which can be seen as a cache now) is still present, but as a special case; Tokens just encodes the given tokens into an Array for later use.
17 1 Kornelius Kalnbach
* *CHANGED*: The token actions (@text_token@, @begin_group@ etc.) are now public methods of @Encoder@ and @Tokens@.
18 1 Kornelius Kalnbach
* *REWRITE* of all Scanners, Encoders, Filters, and Tokens.
19 1 Kornelius Kalnbach
* *RENAMED* @:open@ and @:close@ actions to @:begin_group@ and @:end_group@.
20 1 Kornelius Kalnbach
* *RENAMED* @open_token@ and @close_token@ methods to @begin_group@ and @end_group@.
21 1 Kornelius Kalnbach
* *NEW* method @#tokens@ allows to add several tokens to the stream. @Tokens@ and @Encoders::Encoder@ define this method.
22 1 Kornelius Kalnbach
* *CHANGED* The above name changes also affect the JSON, XML, and YAML encoders. CodeRay 1.0 output will be incompatible with earlier versions.
23 1 Kornelius Kalnbach
* *REMOVED* @TokenStream@ and the @Streamable@ API and all related features like @NotStreamableError@ are now obsolete and have been removed.
24 1 Kornelius Kalnbach
25 1 Kornelius Kalnbach
h3. General changes
26 1 Kornelius Kalnbach
 
27 3 Kornelius Kalnbach
* *IMPROVED* documentation in general; additions, corrections and cleanups.
28 3 Kornelius Kalnbach
* *NEW*: Extended support and usage of HTML5 and CSS 3 features.
29 1 Kornelius Kalnbach
* *IMPROVED* Ruby 1.9 support (_._ not in @$LOAD_PATH@)
30 3 Kornelius Kalnbach
* *IMPROVED* speed of HTML encoding when using CSS classes.
31 3 Kornelius Kalnbach
* *IMPROVED*: Faster startup by replacing @require@ with @autoload@. CodeRay
32 3 Kornelius Kalnbach
  features will now only be loaded when they're needed.
33 3 Kornelius Kalnbach
* *FIXED* some image links in the documentation.
34 3 Kornelius Kalnbach
* *ADDED* a lot of tests.
35 1 Kornelius Kalnbach
36 3 Kornelius Kalnbach
h3. Helpers
37 3 Kornelius Kalnbach
 
38 3 Kornelius Kalnbach
The helper classes were cleaned up; see below for details.
39 3 Kornelius Kalnbach
 
40 3 Kornelius Kalnbach
* *CHANGED* @Plugin@ API was simplified and stripped of all unnecessary features.
41 3 Kornelius Kalnbach
* *CHANGED* Moved @GZip@ and @FileType@ libraries into @CodeRay@; cleaned them up.
42 3 Kornelius Kalnbach
43 1 Kornelius Kalnbach
h3. @Tokens@
44 1 Kornelius Kalnbach
 
45 1 Kornelius Kalnbach
* *REMOVED* methods @#stream?@, @#each_text_token@.
46 1 Kornelius Kalnbach
* *REMOVED* @#text@ and @#text_size@ methods. Use the @Text@ encoder instead.
47 1 Kornelius Kalnbach
* *REMOVED* special implementation of @#each@ taking a filter parameter. Use @TokenKindFilter@ instead.
48 1 Kornelius Kalnbach
* *NEW* methods @encode_with@, @count@, @begin_group@, @end_group@, @begin_line@, and @end_line@.
49 1 Kornelius Kalnbach
50 3 Kornelius Kalnbach
h3. *RENAMED*: @TokenKinds@
51 1 Kornelius Kalnbach
 
52 3 Kornelius Kalnbach
Renamed from @Tokens::ClassOfKind@ (was also @Tokens::AbbreviationForKind@ for a while).
53 3 Kornelius Kalnbach
The term "token class" is no longer used in CodeRay. Instead, tokens have _kinds_.
54 1 Kornelius Kalnbach
See "#122":http://redmine.rubychan.de/issues/122.
55 1 Kornelius Kalnbach
 
56 3 Kornelius Kalnbach
* *RENAMED* @:pre_constant@ and @:pre_type@ to @:predefined_constant@ and @predefined_type@.
57 3 Kornelius Kalnbach
* *REMOVED* token kinds @:attribute_name_fat@, @:attribute_value_fat@, @:operator_fat@,
58 3 Kornelius Kalnbach
  @:tag_fat@, @:xml_text@, @:nesting_delimiter@, @:open@, and @:close@.
59 1 Kornelius Kalnbach
* *ADDED* token kinds @:filename@, @:namespace@, and @:eyecatcher@.
60 1 Kornelius Kalnbach
* *CHANGED*: Don't raise error for unknown token kinds unless in @$CODERAY_DEBUG@ mode.
61 3 Kornelius Kalnbach
* *CHANGED* the value for a token kind that is not highlighted from
62 3 Kornelius Kalnbach
  @:NO_HIGHLIGHT@ to @false@.
63 1 Kornelius Kalnbach
64 3 Kornelius Kalnbach
h3. @Duo@
65 3 Kornelius Kalnbach
 
66 3 Kornelius Kalnbach
* *NEW* method @call@ for allowing code like @CodeRay::Duo[:python => :yaml].(code)@ in Ruby 1.9.
67 3 Kornelius Kalnbach
68 1 Kornelius Kalnbach
h3. @Encoders::CommentFilter@
69 1 Kornelius Kalnbach
 
70 1 Kornelius Kalnbach
* *NEW* alias @:remove_comments@
71 1 Kornelius Kalnbach
72 1 Kornelius Kalnbach
h3. @Encoders::Filter@
73 1 Kornelius Kalnbach
 
74 1 Kornelius Kalnbach
* *NEW* option @tokens@.
75 1 Kornelius Kalnbach
* *CHANGED*: Now it simply delegates to the output.
76 1 Kornelius Kalnbach
* *REMOVED* @include_text_token?@ and @include_block_token?@ methods.
77 1 Kornelius Kalnbach
78 1 Kornelius Kalnbach
h3. @Encoders::HTML@
79 1 Kornelius Kalnbach
 
80 1 Kornelius Kalnbach
The HTML encoder was cleaned up and simplified.
81 1 Kornelius Kalnbach
 
82 1 Kornelius Kalnbach
* *CHANGED* the default style to @:alpha@.
83 3 Kornelius Kalnbach
* *NEW*: HTML5 and CSS 3 compatible.
84 1 Kornelius Kalnbach
  See "#215":http://redmine.rubychan.de/issues/215.
85 1 Kornelius Kalnbach
* *ADDED* support for @:line_number_anchors@.
86 1 Kornelius Kalnbach
  See "#208":http://redmine.rubychan.de/issues/208.
87 1 Kornelius Kalnbach
* *CHANGED*: Use double click to toggle line numbers in table mode (as single 
88 1 Kornelius Kalnbach
  click jumps to an anchor.)
89 1 Kornelius Kalnbach
* *REMOVED* support for @:line_numbers => :list@.
90 1 Kornelius Kalnbach
* *FIXED* splitting of lines for @:line_numbers => :inline@, so that the line
91 1 Kornelius Kalnbach
  numbers don't get colored, too.
92 1 Kornelius Kalnbach
* *RENAMED* @Output#numerize@ to @#number@, which is an actual English word.
93 1 Kornelius Kalnbach
94 1 Kornelius Kalnbach
h3. @Encoders::LinesOfCode@
95 1 Kornelius Kalnbach
 
96 1 Kornelius Kalnbach
* *CHANGED*: @compile@ and @finish@ methods are now protected.
97 1 Kornelius Kalnbach
98 1 Kornelius Kalnbach
h3. @Encoders::Terminal@
99 1 Kornelius Kalnbach
 
100 1 Kornelius Kalnbach
* *RENAMED* from @Encoders::Term@, added @:term@ alias.
101 1 Kornelius Kalnbach
* *CLEANUP*: Use @#setup@'s @super@, don't use @:procedure@ token class.
102 1 Kornelius Kalnbach
* *CHANGED*: @#token@'s second parameter is no longer optional.
103 1 Kornelius Kalnbach
* *REMOVED* colors for obsolete token kinds.
104 1 Kornelius Kalnbach
* *FIXED* handling of line tokens.
105 1 Kornelius Kalnbach
106 1 Kornelius Kalnbach
h3. @Encoders::Text@
107 1 Kornelius Kalnbach
 
108 2 Kornelius Kalnbach
* *FIXED* default behavior of stripping the trailing newline.
109 1 Kornelius Kalnbach
110 1 Kornelius Kalnbach
h3. *RENAMED*: @Encoders::TokenKindFilter@
111 1 Kornelius Kalnbach
 
112 1 Kornelius Kalnbach
Renamed from @TokenClassFilter@.
113 1 Kornelius Kalnbach
 
114 1 Kornelius Kalnbach
* *NEW*: Handles token groups.
115 1 Kornelius Kalnbach
  See "#223":http://redmine.rubychan.de/issues/223.
116 1 Kornelius Kalnbach
* *RENAMED* @include_block_token?@ to @include_group?@.
117 1 Kornelius Kalnbach
118 1 Kornelius Kalnbach
h3. @Encoders::Statistic@
119 1 Kornelius Kalnbach
 
120 1 Kornelius Kalnbach
* *CHANGED*: Tokens actions are counted separately.
121 1 Kornelius Kalnbach
122 1 Kornelius Kalnbach
h3. @Scanners::Scanner@
123 1 Kornelius Kalnbach
 
124 1 Kornelius Kalnbach
* *REMOVED* helper method @String#to_unix@.
125 3 Kornelius Kalnbach
* *REMOVED* method @#streamable?@.
126 3 Kornelius Kalnbach
* *REMOVED* @#marshal_load@ and @#marshal_dump@.
127 3 Kornelius Kalnbach
* *RENAMED* class method @normify@ to @normalize@; it also deals with encoding now.
128 3 Kornelius Kalnbach
* *NEW* methods @#file_extension@ and @#encoding@.
129 1 Kornelius Kalnbach
* *NEW*: The @#tokenize@ method also takes an Array of Strings as source. The
130 1 Kornelius Kalnbach
  code is highlighted as one and split into parts of the input lengths
131 1 Kornelius Kalnbach
  after that using @Tokens#split_into_parts@.
132 1 Kornelius Kalnbach
133 3 Kornelius Kalnbach
h3. *NEW*: @Scanners::Clojure@
134 3 Kornelius Kalnbach
 
135 3 Kornelius Kalnbach
Thanks to Licenser, CodeRay now supports the Clojure language.
136 3 Kornelius Kalnbach
137 1 Kornelius Kalnbach
h3. @Scanners::CSS@
138 1 Kornelius Kalnbach
 
139 1 Kornelius Kalnbach
* *NEW*: Rudimentary support for the @attr@, @counter@, and @counters@ functions.
140 1 Kornelius Kalnbach
  See "#224":http://redmine.rubychan.de/issues/224.
141 1 Kornelius Kalnbach
* *NEW*: Rudimentary support for CSS 3 colors.
142 1 Kornelius Kalnbach
* *CHANGED*: Attribute selectors are highlighted as @:attribute_name@ instead of @:string@.
143 3 Kornelius Kalnbach
* *CHANGED*: Comments are scanned as one token instead of three.
144 1 Kornelius Kalnbach
145 1 Kornelius Kalnbach
h3. @Scanners::Debug@
146 1 Kornelius Kalnbach
 
147 1 Kornelius Kalnbach
* *NEW*: Support for line tokens (@begin_line@ and @end_line@ represented by @[@ and @]@.)
148 1 Kornelius Kalnbach
* *FIXED*: Don't send @:error@ and @nil@ tokens for buggy input any more.
149 1 Kornelius Kalnbach
* *FIXED*: Closes unclosed tokens at the end of @scan_tokens@.
150 1 Kornelius Kalnbach
* *IMPROVED*: Highlight unknown tokens as @:error@.
151 1 Kornelius Kalnbach
* *CHANGED*: Raises an error when trying to end an invalid token group.
152 1 Kornelius Kalnbach
153 1 Kornelius Kalnbach
h3. @Scanners::Delphi@
154 1 Kornelius Kalnbach
 
155 1 Kornelius Kalnbach
* *FIXED*: Closes open string groups.
156 1 Kornelius Kalnbach
157 1 Kornelius Kalnbach
h3. @Scanners::Diff@
158 1 Kornelius Kalnbach
 
159 1 Kornelius Kalnbach
* *NEW*: Highlighting of code based on file names.
160 1 Kornelius Kalnbach
  See ticket "#52":http://redmine.rubychan.de/issues/52.
161 1 Kornelius Kalnbach
  
162 1 Kornelius Kalnbach
  Use the @:highlight_code@ option to turn this feature off. It's enabled
163 1 Kornelius Kalnbach
  by default.
164 1 Kornelius Kalnbach
  
165 1 Kornelius Kalnbach
  This is a very original feature. It enables multi-language highlighting for
166 1 Kornelius Kalnbach
  diff files, which is especially helpful for CodeRay development itself. The
167 1 Kornelius Kalnbach
  updated version of the scanner test suite generated .debug.diff.html files
168 1 Kornelius Kalnbach
  using this.
169 1 Kornelius Kalnbach
  
170 1 Kornelius Kalnbach
  Note: This is still experimental. Tokens spanning more than one line
171 1 Kornelius Kalnbach
  may get highlighted incorrectly. CodeRay tries to keep scanner states
172 1 Kornelius Kalnbach
  between the lines and changes, but the quality of the results depend on
173 1 Kornelius Kalnbach
  the scanner.
174 1 Kornelius Kalnbach
* *NEW*: Inline change highlighting, as suggested by Eric Thomas.
175 1 Kornelius Kalnbach
  See ticket "#227":http://redmine.rubychan.de/issues/227 for details.
176 1 Kornelius Kalnbach
  
177 1 Kornelius Kalnbach
  Use the @:inline_diff@ option to turn this feature off. It's enabled by
178 1 Kornelius Kalnbach
  default.
179 1 Kornelius Kalnbach
  
180 1 Kornelius Kalnbach
  For single-line changes (that is, a single deleted line followed by a single
181 1 Kornelius Kalnbach
  inserted line), this feature surrounds the changed parts with an
182 1 Kornelius Kalnbach
  @:eyecatcher@ group which appears in a more saturated background color.
183 1 Kornelius Kalnbach
  The implementation is quite complex, and highly experimental. The problem
184 1 Kornelius Kalnbach
  with multi-layer tokenizing is that the tokens have to be split into parts.
185 1 Kornelius Kalnbach
  If the inline change starts, say, in the middle of a string, then additional
186 1 Kornelius Kalnbach
  @:end_group@ and @:begin_group@ tokens must be inserted to keep the group
187 1 Kornelius Kalnbach
  nesting intact. The extended @Scanner#tokenize@ method and the new
188 1 Kornelius Kalnbach
  @Tokens#split_into_parts@ method take care of this.
189 1 Kornelius Kalnbach
* *NEW*: Highlight the file name in the change headers as @:filename@.
190 1 Kornelius Kalnbach
* *CHANGED*: Highlight unknown lines as @:comment@ instead of @:head@.
191 1 Kornelius Kalnbach
192 1 Kornelius Kalnbach
h3. @Scanners::HTML@
193 1 Kornelius Kalnbach
 
194 1 Kornelius Kalnbach
* *FIXED*: Closes open string groups.
195 1 Kornelius Kalnbach
196 1 Kornelius Kalnbach
h3. @Scanners::JavaScript@
197 1 Kornelius Kalnbach
 
198 1 Kornelius Kalnbach
* *IMPROVED*: Added @NaN@ and @Infinity@ to list of predefined constants.
199 3 Kornelius Kalnbach
* *IMPROVED* recognition of RegExp literals with leading spaces.
200 1 Kornelius Kalnbach
201 1 Kornelius Kalnbach
h3. @Scanners::Java@
202 1 Kornelius Kalnbach
 
203 1 Kornelius Kalnbach
* *NEW*: Package names are highlighted as @:namespace@.
204 1 Kornelius Kalnbach
  See "#210":http://redmine.rubychan.de/issues/210.
205 1 Kornelius Kalnbach
206 1 Kornelius Kalnbach
h3. @Scanners::Plaintext@
207 1 Kornelius Kalnbach
 
208 1 Kornelius Kalnbach
* *IMPROVED*: Just returns the string without scanning (faster).
209 1 Kornelius Kalnbach
 
210 1 Kornelius Kalnbach
 This is much faster than scanning until @/\z/@ in Ruby 1.8.
211 1 Kornelius Kalnbach
212 1 Kornelius Kalnbach
h3. @Scanners::Python@
213 1 Kornelius Kalnbach
 
214 1 Kornelius Kalnbach
* *CHANGED*: Docstrings are highlighted as @:comment@.
215 1 Kornelius Kalnbach
  See "#190":http://redmine.rubychan.de/issues/190.
216 1 Kornelius Kalnbach
217 1 Kornelius Kalnbach
h3. *NEW*: @Scanners::Raydebug@
218 1 Kornelius Kalnbach
 
219 1 Kornelius Kalnbach
Copied from @Scanners::Debug@, highlights the token dump instead of importing it. It also reacts to the @.raydebug@ file name suffix now.
220 1 Kornelius Kalnbach
221 1 Kornelius Kalnbach
h3. @Scanners::Ruby@
222 1 Kornelius Kalnbach
 
223 1 Kornelius Kalnbach
* *ADDED* more predefined keywords (see http://murfy.de/ruby-constants).
224 1 Kornelius Kalnbach
* *IMPROVED* support for singleton method definitions.
225 1 Kornelius Kalnbach
  See "#147":http://redmine.rubychan.de/issues/147.
226 1 Kornelius Kalnbach
* *FIXED*: Don't highlight methods with a capital letter as constants
227 1 Kornelius Kalnbach
  (eg. GL.PushMatrix).
228 1 Kornelius Kalnbach
* *NEW*: Highlight buggy floats (like .5) as @:error@.
229 1 Kornelius Kalnbach
* *CLEANUP* of documentation, names of constants and variables, state handling.
230 3 Kornelius Kalnbach
  
231 3 Kornelius Kalnbach
  Moved @StringState@ class from @patterns.rb@ into a separate file.
232 1 Kornelius Kalnbach
* *NEW*: Complicated rule for recognition of @foo=@ style method names.
233 1 Kornelius Kalnbach
* *NEW*: Handles @:keep_state@ option (a bit; experimental).
234 1 Kornelius Kalnbach
  
235 1 Kornelius Kalnbach
  Actually, Ruby checks if there is @[~>=]@, but not @=>@ following the name.
236 3 Kornelius Kalnbach
  
237 3 Kornelius Kalnbach
* *REMOVED* @EncodingError@
238 1 Kornelius Kalnbach
239 1 Kornelius Kalnbach
h3. @Scanners::Scheme@
240 1 Kornelius Kalnbach
 
241 1 Kornelius Kalnbach
* *CHANGED*: Does use @:operator@ instead of @:operator_fat@ now.
242 1 Kornelius Kalnbach
243 1 Kornelius Kalnbach
h3. @Scanners::SQL@
244 1 Kornelius Kalnbach
 
245 3 Kornelius Kalnbach
* *IMPROVED*: Extended list of keywords and functions (thanks to
246 3 Kornelius Kalnbach
  Joshua Galvez, Etienne Massip, and others).
247 1 Kornelius Kalnbach
 
248 1 Kornelius Kalnbach
  See "#221":http://redmine.rubychan.de/issues/221.
249 1 Kornelius Kalnbach
* *FIXED*: Closes open string groups.
250 3 Kornelius Kalnbach
* *FIXED*: Words after @.@ are always recognized as @:ident@.
251 1 Kornelius Kalnbach
252 1 Kornelius Kalnbach
h3. @Scanners::YAML@
253 1 Kornelius Kalnbach
 
254 1 Kornelius Kalnbach
* *FIXED*: Allow spaces before colon in mappings.
255 1 Kornelius Kalnbach
 
256 1 Kornelius Kalnbach
  See "#231":http://redmine.rubychan.de/issues/231.
257 1 Kornelius Kalnbach
258 1 Kornelius Kalnbach
h3. *NEW*: @Styles::Alpha@
259 1 Kornelius Kalnbach
 
260 1 Kornelius Kalnbach
A style that uses transparent HSLA colors as defined in CSS 3.
261 1 Kornelius Kalnbach
See "#199":http://redmine.rubychan.de/issues/199.
262 3 Kornelius Kalnbach
 
263 3 Kornelius Kalnbach
It also uses the CSS 3 property @user-select: none@ to keep the user from selecting the line numbers. This is especially nice for @:inline@ line numbers.
264 3 Kornelius Kalnbach
See "#226":http://redmine.rubychan.de/issues/226.
265 1 Kornelius Kalnbach
266 1 Kornelius Kalnbach
h3. @FileType@
267 1 Kornelius Kalnbach
 
268 1 Kornelius Kalnbach
* *REMOVED* @FileType#shebang@ is a protected method now.
269 1 Kornelius Kalnbach
* *NEW*: Recognizes @.gemspec@, @.rjs@, @.rpdf@ extensions and @Capfile@ as Ruby.
270 1 Kornelius Kalnbach
  
271 1 Kornelius Kalnbach
  Thanks to the authors of the TextMate Ruby bundle!
272 1 Kornelius Kalnbach
273 1 Kornelius Kalnbach
h3. @Plugin@
274 1 Kornelius Kalnbach
 
275 1 Kornelius Kalnbach
* *IMPROVED*: @register_for@ sets the @plugin_id@; it can now be a @Symbol@.
276 3 Kornelius Kalnbach
* *ADDED* @PluginHost#const_missing@ method: Plugins are loaded automatically.
277 3 Kornelius Kalnbach
  Using @Scanners::JavaScript@ in your code loads @scanners/java_script.rb@.
278 3 Kornelius Kalnbach
* *ADDED* @#all_plugins@ and @#all_titles@ methods to simplify getting 
279 3 Kornelius Kalnbach
  information about all available plugins (suggested by bnhymn).
280 1 Kornelius Kalnbach
281 3 Kornelius Kalnbach
h3. @GZip@
282 3 Kornelius Kalnbach
 
283 3 Kornelius Kalnbach
* *MOVED* into @CodeRay@ namespace.
284 3 Kornelius Kalnbach
* *MOVED* file from @gzip_simple.rb@ to @gzip.rb@.
285 3 Kornelius Kalnbach
* *REMOVED* @String@ extensions.
286 3 Kornelius Kalnbach
287 1 Kornelius Kalnbach
h3. Internal API changes
288 1 Kornelius Kalnbach
 
289 1 Kornelius Kalnbach
* *FIXED* @Encoders::HTML#token@'s second parameter is no longer optional.
290 3 Kornelius Kalnbach
* *CHANGED* @Encoders::HTML::Output@'s API.
291 3 Kornelius Kalnbach
* *REMOVED* lots of unused methods.
292 1 Kornelius Kalnbach
293 1 Kornelius Kalnbach
294 3 Kornelius Kalnbach
h2. Changes in 0.9.8 "banister" [2011-05-01]
295 1 Kornelius Kalnbach
 
296 3 Kornelius Kalnbach
Fixes for JRuby's 1.9 mode and minor issues.
297 3 Kornelius Kalnbach
 
298 3 Kornelius Kalnbach
h3. Rake tasks
299 3 Kornelius Kalnbach
 
300 3 Kornelius Kalnbach
* *REMOVED* obsolete @has_rdoc@ gem specification, fixing a warning.
301 3 Kornelius Kalnbach
302 3 Kornelius Kalnbach
h3. @Scanners::Scanner@
303 3 Kornelius Kalnbach
 
304 3 Kornelius Kalnbach
* *NEW* method @#scan_rest@ replaces @scan_until(/\z/)@, which is broken in JRuby 1.6 --1.9 mode.
305 3 Kornelius Kalnbach
  See "#297":http://redmine.rubychan.de/issues/297.
306 3 Kornelius Kalnbach
307 3 Kornelius Kalnbach
h3. @Scanners::CSS@
308 3 Kornelius Kalnbach
 
309 3 Kornelius Kalnbach
* *FIXED* LOC counting (should be 0).
310 3 Kornelius Kalnbach
  See "#296":http://redmine.rubychan.de/issues/296.
311 3 Kornelius Kalnbach
312 3 Kornelius Kalnbach
h3. @Scanners::Ruby@
313 3 Kornelius Kalnbach
 
314 3 Kornelius Kalnbach
* *FIXED* the @IDENT@ pattern not to use character properties, which are broken in JRuby 1.6 --1.9 mode.
315 3 Kornelius Kalnbach
  See "#297":http://redmine.rubychan.de/issues/297, thanks to banister for reporting!
316 3 Kornelius Kalnbach
317 3 Kornelius Kalnbach
h3. @Scanners::SQL@
318 3 Kornelius Kalnbach
 
319 3 Kornelius Kalnbach
* *ADDED* more keywords: @between@, @databases@, @distinct@, @fields@, @full@, @having@, @is@, @prompt@, @tables@.
320 3 Kornelius Kalnbach
  See "#221":http://redmine.rubychan.de/issues/221, thanks to Etienne Massip again.
321 3 Kornelius Kalnbach
322 3 Kornelius Kalnbach
h3. @FileType@
323 3 Kornelius Kalnbach
 
324 3 Kornelius Kalnbach
* *NEW* regonizes ColdFusion file type extensions @.cfm@ and @.cfc@ as XML.
325 3 Kornelius Kalnbach
  See "#298":http://redmine.rubychan.de/issues/298, thanks to Emidio Stani.
326 3 Kornelius Kalnbach
327 3 Kornelius Kalnbach
328 3 Kornelius Kalnbach
h2. Changes in 0.9.7 "Etienne" [2011-01-14]
329 3 Kornelius Kalnbach
 
330 3 Kornelius Kalnbach
Fixes a dangerous JavaScript scanner bug, and a testing problem with Ruby 1.9.1.
331 3 Kornelius Kalnbach
 
332 3 Kornelius Kalnbach
h3. Tests
333 3 Kornelius Kalnbach
 
334 3 Kornelius Kalnbach
* *FIXED* The functional tests now load the lib directory (instead of the gem) in Ruby 1.9.1.
335 3 Kornelius Kalnbach
336 3 Kornelius Kalnbach
h3. @Scanners::JavaScript@
337 3 Kornelius Kalnbach
 
338 3 Kornelius Kalnbach
* *FIXED* @KEY_CHECK_PATTERN@ regexp
339 3 Kornelius Kalnbach
  See "#264":http://redmine.rubychan.de/issues/264, thanks to Etienne Massip!
340 3 Kornelius Kalnbach
341 3 Kornelius Kalnbach
342 3 Kornelius Kalnbach
h2. Changes in 0.9.6 "WoNáDo" [2010-11-25]
343 3 Kornelius Kalnbach
 
344 3 Kornelius Kalnbach
Minor improvements to the Ruby scanner and a fix for Ruby 1.9.
345 3 Kornelius Kalnbach
 
346 3 Kornelius Kalnbach
h3. @Scanners::Ruby@
347 3 Kornelius Kalnbach
 
348 3 Kornelius Kalnbach
* *IMPROVED* handling of new hash syntax (keys are marked as @:key@ now,
349 3 Kornelius Kalnbach
  colon is a separate @:operator@ token, all idents can be used as keys)
350 3 Kornelius Kalnbach
  See "#257":http://code.licenser.net/issues/257, thanks to WoNáDo!
351 3 Kornelius Kalnbach
* *ADDED* @__ENCODING__@ magic constant (Ruby 1.9)
352 3 Kornelius Kalnbach
* *FIXED*: Scanner no longer tries to modify the input string on Ruby 1.9.
353 3 Kornelius Kalnbach
  See "#260":http://code.licenser.net/issues/260, thanks to Jan Lelis!
354 3 Kornelius Kalnbach
355 3 Kornelius Kalnbach
356 3 Kornelius Kalnbach
h2. Changes in 0.9.5 "Germany.rb" [2010-09-28]
357 3 Kornelius Kalnbach
 
358 3 Kornelius Kalnbach
Support for Rubinius ("#251":http://redmine.rubychan.de/issues/251), improved mutlibyte handling, Ruby 1.9 syntax, and valid HTML.
359 3 Kornelius Kalnbach
 
360 3 Kornelius Kalnbach
h3. @Encoders::HTML@
361 3 Kornelius Kalnbach
 
362 3 Kornelius Kalnbach
* *FIXED*: Line tokens use @span@ with @display: block@ instead of @div@, which was invalid HTML ("#255":http://redmine.rubychan.de/issues/255).
363 3 Kornelius Kalnbach
364 3 Kornelius Kalnbach
h3. @Scanner::Scanner@
365 3 Kornelius Kalnbach
 
366 3 Kornelius Kalnbach
* *IMPROVED* handling of encodings in Ruby 1.9: UTF-8 and Windows-1252 are checked.
367 3 Kornelius Kalnbach
* *NEW*: Invalid chars will be converted to @?@ in Ruby 1.9.
368 3 Kornelius Kalnbach
* *FIXED* @string=@ method for Rubinius. See "issue 481":http://github.com/evanphx/rubinius/issues/481 on their site.
369 3 Kornelius Kalnbach
370 3 Kornelius Kalnbach
h3. @Scanners::CSS@
371 3 Kornelius Kalnbach
 
372 3 Kornelius Kalnbach
* *FIXED*: Don't use non-ASCII regexps.
373 3 Kornelius Kalnbach
374 3 Kornelius Kalnbach
h3. @Scanners::Diff@
375 3 Kornelius Kalnbach
 
376 3 Kornelius Kalnbach
* *FIXED*: Highlight unexpected lines as @:comment@.
377 3 Kornelius Kalnbach
378 3 Kornelius Kalnbach
h3. @Scanners::PHP@
379 3 Kornelius Kalnbach
 
380 3 Kornelius Kalnbach
* *FIXED*: Use @ASCII-8BIT@ encoding for now.
381 3 Kornelius Kalnbach
382 3 Kornelius Kalnbach
h3. @Scanners::Ruby@
383 3 Kornelius Kalnbach
 
384 3 Kornelius Kalnbach
* *ADDED* support for some Ruby 1.9 syntax ("#254":http://redmine.rubychan.de/issues/254):
385 3 Kornelius Kalnbach
** the @->@ lambda shortcut
386 3 Kornelius Kalnbach
** new Hash syntax using colons (@{ a: b }@)
387 3 Kornelius Kalnbach
* *FIXED*: Use @UTF-8@ encoding.
388 3 Kornelius Kalnbach
* *IMPROVED* unicode support on Ruby 1.8 ("#253":http://redmine.rubychan.de/issues/253).
389 3 Kornelius Kalnbach
* *FIXED* recognition of non-ASCII identifiers in Ruby 1.9, JRuby, and Rubinius ("#253":http://redmine.rubychan.de/issues/253).
390 3 Kornelius Kalnbach
* *CHANGED* heredoc recognition to ignore delimiters starting with a digit. This is incorrect, but causes less false positives.
391 3 Kornelius Kalnbach
392 3 Kornelius Kalnbach
h3. @Scanners::SQL@
393 3 Kornelius Kalnbach
 
394 3 Kornelius Kalnbach
* *FIXED* scanning of comments; nice catch, Rubinius!
395 3 Kornelius Kalnbach
  ("#252":http://redmine.rubychan.de/issues/252)
396 3 Kornelius Kalnbach
397 3 Kornelius Kalnbach
398 3 Kornelius Kalnbach
h2. Changes in 0.9.4 "Ramadan" [2010-08-31]
399 3 Kornelius Kalnbach
 
400 3 Kornelius Kalnbach
Updated command line interface and minor scanner fixes for the Diff, HTML, and RHTML scanners.
401 3 Kornelius Kalnbach
 
402 3 Kornelius Kalnbach
h3. @coderay@ executable
403 3 Kornelius Kalnbach
 
404 3 Kornelius Kalnbach
* *FIXED*: Partly rewritten, simplified, fixed.
405 3 Kornelius Kalnbach
  ("#244":http://redmine.rubychan.de/issues/244)
406 3 Kornelius Kalnbach
407 3 Kornelius Kalnbach
h3. @Scanners::Diff@
408 3 Kornelius Kalnbach
 
409 3 Kornelius Kalnbach
* *FIXED* handling of change headers with code on the same line as the @@ marker.
410 3 Kornelius Kalnbach
  ("#247":http://redmine.rubychan.de/issues/242)
411 3 Kornelius Kalnbach
412 3 Kornelius Kalnbach
h3. @Scanners::HTML@
413 3 Kornelius Kalnbach
 
414 3 Kornelius Kalnbach
* *FIXED* a missing regexp modifier that slowed down the scanning.
415 3 Kornelius Kalnbach
  ("#245":http://redmine.rubychan.de/issues/245)
416 3 Kornelius Kalnbach
417 3 Kornelius Kalnbach
h3. @Scanners::RHTML@
418 3 Kornelius Kalnbach
 
419 3 Kornelius Kalnbach
* *FIXED* highlighting of ERB comment blocks.
420 3 Kornelius Kalnbach
  ("#246":http://redmine.rubychan.de/issues/246)
421 3 Kornelius Kalnbach
422 3 Kornelius Kalnbach
423 3 Kornelius Kalnbach
h2. Changes in 0.9.3 "Eyjafjallajökull" [2010-04-18]
424 3 Kornelius Kalnbach
 
425 1 Kornelius Kalnbach
* *FIXED*: Documentation of Tokens.
426 1 Kornelius Kalnbach
  ("#218":http://redmine.rubychan.de/issues/218)
427 1 Kornelius Kalnbach
 
428 1 Kornelius Kalnbach
h3. @coderay@ executable
429 1 Kornelius Kalnbach
 
430 1 Kornelius Kalnbach
* *NEW*: automatic TTY detection (uses @Term@ encoder)
431 1 Kornelius Kalnbach
* *NEW*: optional 3rd parameter for the filename
432 1 Kornelius Kalnbach
* *FIXED*: Converted to UNIX format.
433 1 Kornelius Kalnbach
* *FIXED*: Warn about generated files.
434 1 Kornelius Kalnbach
* *FIXED*: Ensure line break after the output (especially for LoC counter).
435 1 Kornelius Kalnbach
436 1 Kornelius Kalnbach
h3. @Scanners::JavaScript@
437 1 Kornelius Kalnbach
 
438 1 Kornelius Kalnbach
* *FIXED*: Don't keep state of XML scanner between calls for E4X literals.
439 1 Kornelius Kalnbach
440 1 Kornelius Kalnbach
h3. @Scanners::Java@, @Scanners::JSON@
441 1 Kornelius Kalnbach
 
442 1 Kornelius Kalnbach
* *FIXED*: Close unfinished strings with the correct token kind.
443 1 Kornelius Kalnbach
444 1 Kornelius Kalnbach
445 3 Kornelius Kalnbach
h2. Changes in 0.9.2 "Flameeyes" [2010-03-14]
446 1 Kornelius Kalnbach
 
447 1 Kornelius Kalnbach
* *NEW* Basic tests and a _Rakefile_ are now included in the Gem. [Flameeyes]
448 1 Kornelius Kalnbach
  A @doc@ task is also included.
449 1 Kornelius Kalnbach
* *FIXED* Use @$CODERAY_DEBUG@ for debugging instead of @$DEBUG@. [Trans]
450 1 Kornelius Kalnbach
  ("#192":http://redmine.rubychan.de/issues/192)
451 1 Kornelius Kalnbach
* *REMOVED* @Term::Ansicolor@ was bundled under _lib/_, but not used. [Flameeyes]
452 1 Kornelius Kalnbach
  ("#205":http://redmine.rubychan.de/issues/205)
453 1 Kornelius Kalnbach
* *WORKAROUND* for Ruby bug 
454 1 Kornelius Kalnbach
  "#2745":http://redmine.ruby-lang.org/issues/show/2745
455 1 Kornelius Kalnbach
 
456 1 Kornelius Kalnbach
h3. @Encoders::Term@
457 1 Kornelius Kalnbach
 
458 1 Kornelius Kalnbach
* *FIXED* strings are closed correctly
459 1 Kornelius Kalnbach
  ("#138":http://redmine.rubychan.de/issues/138)
460 1 Kornelius Kalnbach
* *FIXED* several token kinds had no associated color
461 1 Kornelius Kalnbach
  ("#139":http://redmine.rubychan.de/issues/139)
462 1 Kornelius Kalnbach
* *NEW* alias @terminal@
463 1 Kornelius Kalnbach
  
464 1 Kornelius Kalnbach
  *NOTE:* This encoder will be renamed to @Encoders::Terminal@ in the next release.
465 1 Kornelius Kalnbach
466 1 Kornelius Kalnbach
h3. @Scanners::Debug@
467 1 Kornelius Kalnbach
 
468 1 Kornelius Kalnbach
* *FIXED* Don't close tokens that are not open. Send @:error@ token instead.
469 1 Kornelius Kalnbach
470 1 Kornelius Kalnbach
h3. @Scanners::Groovy@
471 1 Kornelius Kalnbach
 
472 1 Kornelius Kalnbach
* *FIXED* token kind of closing brackets is @:operator@ instead of @nil@
473 1 Kornelius Kalnbach
  ("#148":http://redmine.rubychan.de/issues/148)
474 1 Kornelius Kalnbach
475 1 Kornelius Kalnbach
h3. @Scanners::PHP@
476 1 Kornelius Kalnbach
 
477 1 Kornelius Kalnbach
* *FIXED* allow @\@ operator (namespace separator)
478 1 Kornelius Kalnbach
  ("#209":http://redmine.rubychan.de/issues/209)
479 1 Kornelius Kalnbach
480 1 Kornelius Kalnbach
h3. @Scanners::YAML@
481 1 Kornelius Kalnbach
 
482 1 Kornelius Kalnbach
* *FIXED* doesn't send debug tokens when @$DEBUG@ is true [Trans]
483 1 Kornelius Kalnbach
  ("#149":http://redmine.rubychan.de/issues/149)
484 1 Kornelius Kalnbach
485 1 Kornelius Kalnbach
486 3 Kornelius Kalnbach
h2. Changes in 0.9.1 [2009-12-31]
487 1 Kornelius Kalnbach
 
488 1 Kornelius Kalnbach
h3. Token classes
489 1 Kornelius Kalnbach
 
490 1 Kornelius Kalnbach
* *NEW* token classes @:complex@, @:decorator@, @:imaginary@
491 1 Kornelius Kalnbach
  (all for Python)
492 1 Kornelius Kalnbach
* *REMOVED* token class @:procedure@
493 1 Kornelius Kalnbach
  – use @:function@ or @:method@ instead.
494 1 Kornelius Kalnbach
495 1 Kornelius Kalnbach
h3. @Tokens@
496 1 Kornelius Kalnbach
 
497 1 Kornelius Kalnbach
* *NEW* method @#scanner@
498 1 Kornelius Kalnbach
  
499 1 Kornelius Kalnbach
  Stores the scanner.
500 1 Kornelius Kalnbach
* *REMOVED* methods @.write_token@, @.read_token@, @.escape@, @.unescape@
501 1 Kornelius Kalnbach
  
502 1 Kornelius Kalnbach
  They were only used by the @Tokens@ encoder, which was removed also.
503 1 Kornelius Kalnbach
504 1 Kornelius Kalnbach
h3. @Encoders::Encoder@
505 1 Kornelius Kalnbach
 
506 1 Kornelius Kalnbach
* *REMOVED* Don't require the _stringio_ library.
507 1 Kornelius Kalnbach
* *NEW* public methods @#open_token@, @#close_token@, @#begin_line@, @#end_line@
508 1 Kornelius Kalnbach
  These methods are called automatically, like @#text_token@.
509 1 Kornelius Kalnbach
* *NEW* proteced method @#append_encoded_token_to_output@
510 1 Kornelius Kalnbach
511 1 Kornelius Kalnbach
h3. @Encoders::Tokens@
512 1 Kornelius Kalnbach
 
513 1 Kornelius Kalnbach
* *REMOVED* – use @Tokens#dump@ and @Tokens.load@.
514 1 Kornelius Kalnbach
515 1 Kornelius Kalnbach
h3. @Encoders::Filter@
516 1 Kornelius Kalnbach
 
517 1 Kornelius Kalnbach
* *NEW*
518 1 Kornelius Kalnbach
  A @Filter@ encoder has another @Tokens@ instance as output.
519 1 Kornelius Kalnbach
520 1 Kornelius Kalnbach
h3. @Encoders::TokenClassFilter@
521 1 Kornelius Kalnbach
 
522 1 Kornelius Kalnbach
* *NEW*
523 1 Kornelius Kalnbach
  
524 1 Kornelius Kalnbach
  It takes 2 options, @:exclude@ and @:include@, that specify which token classes
525 1 Kornelius Kalnbach
  to include or exclude for the output. They can be a single token class,
526 1 Kornelius Kalnbach
  an @Array@ of classes, or the value @:all@.
527 1 Kornelius Kalnbach
528 1 Kornelius Kalnbach
h3. @Encoders::CommentFilter@
529 1 Kornelius Kalnbach
 
530 1 Kornelius Kalnbach
* *NEW*
531 1 Kornelius Kalnbach
  
532 1 Kornelius Kalnbach
  Removes tokens of the @:comment@ class.
533 1 Kornelius Kalnbach
534 1 Kornelius Kalnbach
h3. @Encoders::LinesOfCode@
535 1 Kornelius Kalnbach
 
536 1 Kornelius Kalnbach
* *NEW*
537 1 Kornelius Kalnbach
  
538 1 Kornelius Kalnbach
  Counts the lines of code according to the @KINDS_NOT_LOC@ token class list
539 1 Kornelius Kalnbach
  defined by the scanner. It uses the new @TokenClassFilter@.
540 1 Kornelius Kalnbach
  
541 1 Kornelius Kalnbach
  Alias: @:loc@, as in @tokens.loc@.
542 1 Kornelius Kalnbach
543 1 Kornelius Kalnbach
h3. @Encoders::JSON@
544 1 Kornelius Kalnbach
 
545 1 Kornelius Kalnbach
* *NEW*
546 1 Kornelius Kalnbach
  
547 1 Kornelius Kalnbach
  Outputs tokens in a simple JSON format.
548 1 Kornelius Kalnbach
549 1 Kornelius Kalnbach
h3. @Encoders::Term@
550 1 Kornelius Kalnbach
 
551 1 Kornelius Kalnbach
* *NEW* (beta, by Rob Aldred)
552 1 Kornelius Kalnbach
  
553 1 Kornelius Kalnbach
  Outputs code highlighted for a color terminal.
554 1 Kornelius Kalnbach
555 1 Kornelius Kalnbach
h3. @Encoders::HTML@
556 1 Kornelius Kalnbach
 
557 1 Kornelius Kalnbach
* *NEW* option @:title@ (default value is _CodeRay output_)
558 1 Kornelius Kalnbach
  
559 1 Kornelius Kalnbach
  Setting this changes the title of the HTML page.
560 1 Kornelius Kalnbach
* *NEW* option @:highlight_lines@ (default: @nil@)
561 1 Kornelius Kalnbach
  
562 1 Kornelius Kalnbach
  Highlights the given set of line numbers.
563 1 Kornelius Kalnbach
- *REMOVED* option @:level@
564 1 Kornelius Kalnbach
  
565 1 Kornelius Kalnbach
  It didn't do anything. CodeRay always outputs XHTML.
566 1 Kornelius Kalnbach
567 1 Kornelius Kalnbach
h3. @Encoders::Text@
568 1 Kornelius Kalnbach
 
569 1 Kornelius Kalnbach
* Uses @Encoder@ interface with @super@ and @#text_token@.
570 1 Kornelius Kalnbach
571 1 Kornelius Kalnbach
h3. @Encoders::XML@
572 1 Kornelius Kalnbach
 
573 1 Kornelius Kalnbach
* @FIXED@ ("#94":http://redmine.rubychan.de/issues/94)
574 1 Kornelius Kalnbach
  
575 1 Kornelius Kalnbach
  It didn't work at all.
576 1 Kornelius Kalnbach
577 1 Kornelius Kalnbach
h3. Scanners
578 1 Kornelius Kalnbach
 
579 1 Kornelius Kalnbach
* *NEW* Mapped @:h@ to @:c@, @:cplusplus@ and @:'c++'@ to @:cpp@,
580 1 Kornelius Kalnbach
  @:ecma@, @:ecmascript@, @:ecma_script@ to @:java_script@,
581 1 Kornelius Kalnbach
  @:pascal@ to @:delphi@, and @:plain@ to @:plaintext@.
582 1 Kornelius Kalnbach
583 1 Kornelius Kalnbach
h3. @Scanners::Scanner@
584 1 Kornelius Kalnbach
 
585 1 Kornelius Kalnbach
* *NEW* constant @KINDS_NOT_LOC@
586 1 Kornelius Kalnbach
  
587 1 Kornelius Kalnbach
  A list of all token classes not considered in LOC count.
588 1 Kornelius Kalnbach
  Added appropriate values for scanners.
589 1 Kornelius Kalnbach
* *NEW* method @#lang@ returns the scanner's lang, which is its @plugin_id@.
590 1 Kornelius Kalnbach
* *FIXED* automatic, safe UTF-8 detection _[Ruby 1.9]_
591 1 Kornelius Kalnbach
* *FIXED* column takes care of multibyte encodings _[Ruby 1.9]_
592 1 Kornelius Kalnbach
* *FIXED* is dumpable (@Tokens@ store their scanner in an @@scanner@ variable)
593 1 Kornelius Kalnbach
594 1 Kornelius Kalnbach
h3. @Scanners::Cpp@
595 1 Kornelius Kalnbach
 
596 1 Kornelius Kalnbach
* *NEW* (C++)
597 1 Kornelius Kalnbach
598 1 Kornelius Kalnbach
h3. @Scanners::Groovy@
599 1 Kornelius Kalnbach
 
600 1 Kornelius Kalnbach
* *NEW* (beta)
601 1 Kornelius Kalnbach
602 1 Kornelius Kalnbach
h3. @Scanners::Python@
603 1 Kornelius Kalnbach
 
604 1 Kornelius Kalnbach
* *NEW*
605 1 Kornelius Kalnbach
606 1 Kornelius Kalnbach
h3. @Scanners::PHP@
607 1 Kornelius Kalnbach
 
608 1 Kornelius Kalnbach
* *NEW* (based on Stefan Walk's work)
609 1 Kornelius Kalnbach
610 1 Kornelius Kalnbach
h3. @Scanners::SQL@
611 1 Kornelius Kalnbach
 
612 1 Kornelius Kalnbach
* *NEW* (based on code by Josh Goebel)
613 1 Kornelius Kalnbach
614 1 Kornelius Kalnbach
h3. @Scanners::C@
615 1 Kornelius Kalnbach
 
616 1 Kornelius Kalnbach
* *IMPROVED* added a list of @:directive@ tokens that were @:reserved@ before
617 1 Kornelius Kalnbach
* *IMPROVED* detection of labels
618 1 Kornelius Kalnbach
* *IMPROVED* allow @1L@ and @1LL@ style literals
619 1 Kornelius Kalnbach
620 1 Kornelius Kalnbach
h3. @Scanners::CSS@
621 1 Kornelius Kalnbach
 
622 1 Kornelius Kalnbach
* *IMPROVED* element selectors are highlighted as @:type@ instead of @:keyword@
623 1 Kornelius Kalnbach
624 1 Kornelius Kalnbach
h3. @Scanners::Delphi@
625 1 Kornelius Kalnbach
 
626 1 Kornelius Kalnbach
* *IMPROVED* Don't cache tokens in CaseIgnoringWordList.
627 1 Kornelius Kalnbach
628 1 Kornelius Kalnbach
h3. @Scanners::Java@
629 1 Kornelius Kalnbach
 
630 1 Kornelius Kalnbach
* *IMPROVED* @assert@ is highlighted as a @:keyword@ now
631 1 Kornelius Kalnbach
* *IMPROVED* @const@ and @goto@ are highlighted as @:reserved@
632 1 Kornelius Kalnbach
* *IMPROVED* @false@, @true@, and @null@ are highlighted as @:pre_constant@
633 1 Kornelius Kalnbach
* *IMPROVED* @threadsafe@ is no longer a @:directive@
634 1 Kornelius Kalnbach
* *IMPROVED* @String@ is highlighted as a @:pre_type@
635 1 Kornelius Kalnbach
* *IMPROVED* built-in classes ending with _Error_ or _Exception_ are
636 1 Kornelius Kalnbach
  highlighted as a @:exception@ instead of @:pre_type@
637 1 Kornelius Kalnbach
638 1 Kornelius Kalnbach
h3. @Scanners::JavaScript@
639 1 Kornelius Kalnbach
 
640 1 Kornelius Kalnbach
* *NEW* a list of @PREDEFINED_CONSTANTS@ to be highlighted as @:pre_constant@
641 1 Kornelius Kalnbach
* *NEW* XML literals are recognized and highlighted
642 1 Kornelius Kalnbach
* *NEW* function name highlighting
643 1 Kornelius Kalnbach
* *IMPROVED* @.1@ is highlighted a number
644 1 Kornelius Kalnbach
* *FIXED* strings close with the correct kind when terminated unexpectedly
645 1 Kornelius Kalnbach
646 1 Kornelius Kalnbach
h3. @Scanners::JSON@
647 1 Kornelius Kalnbach
 
648 1 Kornelius Kalnbach
* *IMPROVED* constants (@true@, @false@, @nil@) are highlighted as @:value@
649 1 Kornelius Kalnbach
650 1 Kornelius Kalnbach
h3. @Scanners::Ruby@
651 1 Kornelius Kalnbach
 
652 1 Kornelius Kalnbach
* *IMPROVED* @Patterns::KEYWORDS_EXPECTING_VALUE@ for more accurate
653 1 Kornelius Kalnbach
  @value_expected@ detection
654 1 Kornelius Kalnbach
* *IMPROVED* handling of @\@ as a string delimiter
655 1 Kornelius Kalnbach
* *IMPROVED* handling of unicode strings; automatic switching to unicode
656 1 Kornelius Kalnbach
* *IMPROVED* highlighting of @self.method@ definitions
657 1 Kornelius Kalnbach
* *REMOVED* @Patterns::FANCY_START_SAVE@ (obsolete)
658 1 Kornelius Kalnbach
* *FIXED* encoding issues _[Ruby 1.9]_
659 1 Kornelius Kalnbach
* *FIXED* a problem in early Ruby 1.8.6 patch versions with @Regexp.escape@
660 1 Kornelius Kalnbach
661 1 Kornelius Kalnbach
h3. @Scanners::YAML@
662 1 Kornelius Kalnbach
 
663 1 Kornelius Kalnbach
* *IMPROVED* indentation detection
664 1 Kornelius Kalnbach
665 1 Kornelius Kalnbach
h3. @Styles::Cycnus@
666 1 Kornelius Kalnbach
 
667 1 Kornelius Kalnbach
* changed a few colors (exceptions, inline strings, predefined types)
668 1 Kornelius Kalnbach
669 1 Kornelius Kalnbach
h3. @Plugin@
670 1 Kornelius Kalnbach
 
671 1 Kornelius Kalnbach
* *NEW* method @#title@
672 1 Kornelius Kalnbach
  
673 1 Kornelius Kalnbach
  Set and get the plugin's title. Titles can be arbitrary strings.
674 1 Kornelius Kalnbach
* *NEW* method @#helper@ loads helpers from different plugins
675 1 Kornelius Kalnbach
  
676 1 Kornelius Kalnbach
  Use this syntax: @helper 'other_plugin/helper_name'@
677 1 Kornelius Kalnbach
678 1 Kornelius Kalnbach
h3. @FileType@
679 1 Kornelius Kalnbach
 
680 1 Kornelius Kalnbach
* *NEW* @FileType[]@ takes @Pathname@ instances
681 1 Kornelius Kalnbach
* *NEW* regonizes @.cc@, @.cpp@, @.cp@, @.cxx@, @.c++@, @.C@, @.hh@, @.hpp@, @.h++@, @.cu@ extensions (C++)
682 1 Kornelius Kalnbach
  
683 1 Kornelius Kalnbach
  Thanks to Sander Cox and the TextMate C bundle.
684 1 Kornelius Kalnbach
* *NEW* regonizes @.pas@, @.dpr@ extensions (Delphi)
685 1 Kornelius Kalnbach
* *NEW* regonizes @.gvy@, @.groovy@ extensions (Groovy)
686 1 Kornelius Kalnbach
* *NEW* regonizes @.php@, @.php3@, @.php4@, @.php5@ extensions (PHP)
687 1 Kornelius Kalnbach
* *NEW* regonizes @.py@, @.py3@, @.pyw@ extensions (Python)
688 1 Kornelius Kalnbach
* *NEW* regonizes @.rxml@ extension (Ruby)
689 1 Kornelius Kalnbach
* *NEW* regonizes @.sql@ extension (SQL)
690 1 Kornelius Kalnbach
* File types list was sorted alphabetically.
691 1 Kornelius Kalnbach
692 1 Kornelius Kalnbach
h3. @CaseIgnoringWordList@
693 1 Kornelius Kalnbach
 
694 1 Kornelius Kalnbach
* *FIXED* ("#97":http://redmine.rubychan.de/issues/97)
695 1 Kornelius Kalnbach
  
696 1 Kornelius Kalnbach
  The default value is no longer ignored.
697 1 Kornelius Kalnbach
698 1 Kornelius Kalnbach
h3. @ForRedCloth@
699 1 Kornelius Kalnbach
 
700 1 Kornelius Kalnbach
* *FIXED* for RedCloth versions 4.2.0+ ("#119":http://redmine.rubychan.de/issues/119)
701 1 Kornelius Kalnbach
702 1 Kornelius Kalnbach
h3. Cleanups
703 1 Kornelius Kalnbach
 
704 1 Kornelius Kalnbach
* warnings about character classes _[Ruby 1.9]_
705 1 Kornelius Kalnbach
* encoding issues _[Ruby 1.9]_
706 1 Kornelius Kalnbach
* documentation, code