Project

General

Profile

Changelog » History » Version 4

Kornelius Kalnbach, 07/04/2011 02:39 AM

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 4 Kornelius Kalnbach
h3. *RENAMED*: @Scanners::Text@ (was @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 4 Kornelius Kalnbach
h3. @WordList@
267 4 Kornelius Kalnbach
 
268 4 Kornelius Kalnbach
Stripped down to 19 LOC.
269 4 Kornelius Kalnbach
270 4 Kornelius Kalnbach
* *REMOVED* caching option because it creates memory leaks.
271 4 Kornelius Kalnbach
* *REMOVED* block option.
272 4 Kornelius Kalnbach
273 1 Kornelius Kalnbach
h3. @FileType@
274 1 Kornelius Kalnbach
 
275 1 Kornelius Kalnbach
* *REMOVED* @FileType#shebang@ is a protected method now.
276 4 Kornelius Kalnbach
* *NEW*: Recognizes @.gemspec@, @.rjs@, @.rpdf@ extensions, @Gemfile@, and @Capfile@ as Ruby.
277 1 Kornelius Kalnbach
  
278 1 Kornelius Kalnbach
  Thanks to the authors of the TextMate Ruby bundle!
279 1 Kornelius Kalnbach
280 1 Kornelius Kalnbach
h3. @Plugin@
281 1 Kornelius Kalnbach
 
282 1 Kornelius Kalnbach
* *IMPROVED*: @register_for@ sets the @plugin_id@; it can now be a @Symbol@.
283 3 Kornelius Kalnbach
* *ADDED* @PluginHost#const_missing@ method: Plugins are loaded automatically.
284 3 Kornelius Kalnbach
  Using @Scanners::JavaScript@ in your code loads @scanners/java_script.rb@.
285 4 Kornelius Kalnbach
* *ADDED* @#all_plugins@ method to simplify getting 
286 3 Kornelius Kalnbach
  information about all available plugins (suggested by bnhymn).
287 1 Kornelius Kalnbach
288 3 Kornelius Kalnbach
h3. @GZip@
289 3 Kornelius Kalnbach
 
290 3 Kornelius Kalnbach
* *MOVED* into @CodeRay@ namespace.
291 3 Kornelius Kalnbach
* *MOVED* file from @gzip_simple.rb@ to @gzip.rb@.
292 3 Kornelius Kalnbach
* *REMOVED* @String@ extensions.
293 3 Kornelius Kalnbach
294 1 Kornelius Kalnbach
h3. Internal API changes
295 1 Kornelius Kalnbach
 
296 1 Kornelius Kalnbach
* *FIXED* @Encoders::HTML#token@'s second parameter is no longer optional.
297 3 Kornelius Kalnbach
* *CHANGED* @Encoders::HTML::Output@'s API.
298 3 Kornelius Kalnbach
* *REMOVED* lots of unused methods.
299 1 Kornelius Kalnbach
300 1 Kornelius Kalnbach
301 3 Kornelius Kalnbach
h2. Changes in 0.9.8 "banister" [2011-05-01]
302 1 Kornelius Kalnbach
 
303 3 Kornelius Kalnbach
Fixes for JRuby's 1.9 mode and minor issues.
304 3 Kornelius Kalnbach
 
305 3 Kornelius Kalnbach
h3. Rake tasks
306 3 Kornelius Kalnbach
 
307 3 Kornelius Kalnbach
* *REMOVED* obsolete @has_rdoc@ gem specification, fixing a warning.
308 3 Kornelius Kalnbach
309 3 Kornelius Kalnbach
h3. @Scanners::Scanner@
310 3 Kornelius Kalnbach
 
311 3 Kornelius Kalnbach
* *NEW* method @#scan_rest@ replaces @scan_until(/\z/)@, which is broken in JRuby 1.6 --1.9 mode.
312 3 Kornelius Kalnbach
  See "#297":http://redmine.rubychan.de/issues/297.
313 3 Kornelius Kalnbach
314 3 Kornelius Kalnbach
h3. @Scanners::CSS@
315 3 Kornelius Kalnbach
 
316 3 Kornelius Kalnbach
* *FIXED* LOC counting (should be 0).
317 3 Kornelius Kalnbach
  See "#296":http://redmine.rubychan.de/issues/296.
318 3 Kornelius Kalnbach
319 3 Kornelius Kalnbach
h3. @Scanners::Ruby@
320 3 Kornelius Kalnbach
 
321 3 Kornelius Kalnbach
* *FIXED* the @IDENT@ pattern not to use character properties, which are broken in JRuby 1.6 --1.9 mode.
322 3 Kornelius Kalnbach
  See "#297":http://redmine.rubychan.de/issues/297, thanks to banister for reporting!
323 3 Kornelius Kalnbach
324 3 Kornelius Kalnbach
h3. @Scanners::SQL@
325 3 Kornelius Kalnbach
 
326 3 Kornelius Kalnbach
* *ADDED* more keywords: @between@, @databases@, @distinct@, @fields@, @full@, @having@, @is@, @prompt@, @tables@.
327 3 Kornelius Kalnbach
  See "#221":http://redmine.rubychan.de/issues/221, thanks to Etienne Massip again.
328 3 Kornelius Kalnbach
329 3 Kornelius Kalnbach
h3. @FileType@
330 3 Kornelius Kalnbach
 
331 3 Kornelius Kalnbach
* *NEW* regonizes ColdFusion file type extensions @.cfm@ and @.cfc@ as XML.
332 3 Kornelius Kalnbach
  See "#298":http://redmine.rubychan.de/issues/298, thanks to Emidio Stani.
333 3 Kornelius Kalnbach
334 3 Kornelius Kalnbach
335 3 Kornelius Kalnbach
h2. Changes in 0.9.7 "Etienne" [2011-01-14]
336 3 Kornelius Kalnbach
 
337 3 Kornelius Kalnbach
Fixes a dangerous JavaScript scanner bug, and a testing problem with Ruby 1.9.1.
338 3 Kornelius Kalnbach
 
339 3 Kornelius Kalnbach
h3. Tests
340 3 Kornelius Kalnbach
 
341 3 Kornelius Kalnbach
* *FIXED* The functional tests now load the lib directory (instead of the gem) in Ruby 1.9.1.
342 3 Kornelius Kalnbach
343 3 Kornelius Kalnbach
h3. @Scanners::JavaScript@
344 3 Kornelius Kalnbach
 
345 3 Kornelius Kalnbach
* *FIXED* @KEY_CHECK_PATTERN@ regexp
346 3 Kornelius Kalnbach
  See "#264":http://redmine.rubychan.de/issues/264, thanks to Etienne Massip!
347 3 Kornelius Kalnbach
348 3 Kornelius Kalnbach
349 3 Kornelius Kalnbach
h2. Changes in 0.9.6 "WoNáDo" [2010-11-25]
350 3 Kornelius Kalnbach
 
351 3 Kornelius Kalnbach
Minor improvements to the Ruby scanner and a fix for Ruby 1.9.
352 3 Kornelius Kalnbach
 
353 3 Kornelius Kalnbach
h3. @Scanners::Ruby@
354 3 Kornelius Kalnbach
 
355 3 Kornelius Kalnbach
* *IMPROVED* handling of new hash syntax (keys are marked as @:key@ now,
356 3 Kornelius Kalnbach
  colon is a separate @:operator@ token, all idents can be used as keys)
357 3 Kornelius Kalnbach
  See "#257":http://code.licenser.net/issues/257, thanks to WoNáDo!
358 3 Kornelius Kalnbach
* *ADDED* @__ENCODING__@ magic constant (Ruby 1.9)
359 3 Kornelius Kalnbach
* *FIXED*: Scanner no longer tries to modify the input string on Ruby 1.9.
360 3 Kornelius Kalnbach
  See "#260":http://code.licenser.net/issues/260, thanks to Jan Lelis!
361 3 Kornelius Kalnbach
362 3 Kornelius Kalnbach
363 3 Kornelius Kalnbach
h2. Changes in 0.9.5 "Germany.rb" [2010-09-28]
364 3 Kornelius Kalnbach
 
365 3 Kornelius Kalnbach
Support for Rubinius ("#251":http://redmine.rubychan.de/issues/251), improved mutlibyte handling, Ruby 1.9 syntax, and valid HTML.
366 3 Kornelius Kalnbach
 
367 3 Kornelius Kalnbach
h3. @Encoders::HTML@
368 3 Kornelius Kalnbach
 
369 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).
370 3 Kornelius Kalnbach
371 3 Kornelius Kalnbach
h3. @Scanner::Scanner@
372 3 Kornelius Kalnbach
 
373 3 Kornelius Kalnbach
* *IMPROVED* handling of encodings in Ruby 1.9: UTF-8 and Windows-1252 are checked.
374 3 Kornelius Kalnbach
* *NEW*: Invalid chars will be converted to @?@ in Ruby 1.9.
375 3 Kornelius Kalnbach
* *FIXED* @string=@ method for Rubinius. See "issue 481":http://github.com/evanphx/rubinius/issues/481 on their site.
376 3 Kornelius Kalnbach
377 3 Kornelius Kalnbach
h3. @Scanners::CSS@
378 3 Kornelius Kalnbach
 
379 3 Kornelius Kalnbach
* *FIXED*: Don't use non-ASCII regexps.
380 3 Kornelius Kalnbach
381 3 Kornelius Kalnbach
h3. @Scanners::Diff@
382 3 Kornelius Kalnbach
 
383 3 Kornelius Kalnbach
* *FIXED*: Highlight unexpected lines as @:comment@.
384 3 Kornelius Kalnbach
385 3 Kornelius Kalnbach
h3. @Scanners::PHP@
386 3 Kornelius Kalnbach
 
387 3 Kornelius Kalnbach
* *FIXED*: Use @ASCII-8BIT@ encoding for now.
388 3 Kornelius Kalnbach
389 3 Kornelius Kalnbach
h3. @Scanners::Ruby@
390 3 Kornelius Kalnbach
 
391 3 Kornelius Kalnbach
* *ADDED* support for some Ruby 1.9 syntax ("#254":http://redmine.rubychan.de/issues/254):
392 3 Kornelius Kalnbach
** the @->@ lambda shortcut
393 3 Kornelius Kalnbach
** new Hash syntax using colons (@{ a: b }@)
394 3 Kornelius Kalnbach
* *FIXED*: Use @UTF-8@ encoding.
395 3 Kornelius Kalnbach
* *IMPROVED* unicode support on Ruby 1.8 ("#253":http://redmine.rubychan.de/issues/253).
396 3 Kornelius Kalnbach
* *FIXED* recognition of non-ASCII identifiers in Ruby 1.9, JRuby, and Rubinius ("#253":http://redmine.rubychan.de/issues/253).
397 3 Kornelius Kalnbach
* *CHANGED* heredoc recognition to ignore delimiters starting with a digit. This is incorrect, but causes less false positives.
398 3 Kornelius Kalnbach
399 3 Kornelius Kalnbach
h3. @Scanners::SQL@
400 3 Kornelius Kalnbach
 
401 3 Kornelius Kalnbach
* *FIXED* scanning of comments; nice catch, Rubinius!
402 3 Kornelius Kalnbach
  ("#252":http://redmine.rubychan.de/issues/252)
403 3 Kornelius Kalnbach
404 3 Kornelius Kalnbach
405 3 Kornelius Kalnbach
h2. Changes in 0.9.4 "Ramadan" [2010-08-31]
406 3 Kornelius Kalnbach
 
407 3 Kornelius Kalnbach
Updated command line interface and minor scanner fixes for the Diff, HTML, and RHTML scanners.
408 3 Kornelius Kalnbach
 
409 3 Kornelius Kalnbach
h3. @coderay@ executable
410 3 Kornelius Kalnbach
 
411 3 Kornelius Kalnbach
* *FIXED*: Partly rewritten, simplified, fixed.
412 3 Kornelius Kalnbach
  ("#244":http://redmine.rubychan.de/issues/244)
413 3 Kornelius Kalnbach
414 3 Kornelius Kalnbach
h3. @Scanners::Diff@
415 3 Kornelius Kalnbach
 
416 3 Kornelius Kalnbach
* *FIXED* handling of change headers with code on the same line as the @@ marker.
417 3 Kornelius Kalnbach
  ("#247":http://redmine.rubychan.de/issues/242)
418 3 Kornelius Kalnbach
419 3 Kornelius Kalnbach
h3. @Scanners::HTML@
420 3 Kornelius Kalnbach
 
421 3 Kornelius Kalnbach
* *FIXED* a missing regexp modifier that slowed down the scanning.
422 3 Kornelius Kalnbach
  ("#245":http://redmine.rubychan.de/issues/245)
423 3 Kornelius Kalnbach
424 3 Kornelius Kalnbach
h3. @Scanners::RHTML@
425 3 Kornelius Kalnbach
 
426 3 Kornelius Kalnbach
* *FIXED* highlighting of ERB comment blocks.
427 3 Kornelius Kalnbach
  ("#246":http://redmine.rubychan.de/issues/246)
428 3 Kornelius Kalnbach
429 3 Kornelius Kalnbach
430 3 Kornelius Kalnbach
h2. Changes in 0.9.3 "Eyjafjallajökull" [2010-04-18]
431 3 Kornelius Kalnbach
 
432 1 Kornelius Kalnbach
* *FIXED*: Documentation of Tokens.
433 1 Kornelius Kalnbach
  ("#218":http://redmine.rubychan.de/issues/218)
434 1 Kornelius Kalnbach
 
435 1 Kornelius Kalnbach
h3. @coderay@ executable
436 1 Kornelius Kalnbach
 
437 1 Kornelius Kalnbach
* *NEW*: automatic TTY detection (uses @Term@ encoder)
438 1 Kornelius Kalnbach
* *NEW*: optional 3rd parameter for the filename
439 1 Kornelius Kalnbach
* *FIXED*: Converted to UNIX format.
440 1 Kornelius Kalnbach
* *FIXED*: Warn about generated files.
441 1 Kornelius Kalnbach
* *FIXED*: Ensure line break after the output (especially for LoC counter).
442 1 Kornelius Kalnbach
443 1 Kornelius Kalnbach
h3. @Scanners::JavaScript@
444 1 Kornelius Kalnbach
 
445 1 Kornelius Kalnbach
* *FIXED*: Don't keep state of XML scanner between calls for E4X literals.
446 1 Kornelius Kalnbach
447 1 Kornelius Kalnbach
h3. @Scanners::Java@, @Scanners::JSON@
448 1 Kornelius Kalnbach
 
449 1 Kornelius Kalnbach
* *FIXED*: Close unfinished strings with the correct token kind.
450 1 Kornelius Kalnbach
451 1 Kornelius Kalnbach
452 3 Kornelius Kalnbach
h2. Changes in 0.9.2 "Flameeyes" [2010-03-14]
453 1 Kornelius Kalnbach
 
454 1 Kornelius Kalnbach
* *NEW* Basic tests and a _Rakefile_ are now included in the Gem. [Flameeyes]
455 1 Kornelius Kalnbach
  A @doc@ task is also included.
456 1 Kornelius Kalnbach
* *FIXED* Use @$CODERAY_DEBUG@ for debugging instead of @$DEBUG@. [Trans]
457 1 Kornelius Kalnbach
  ("#192":http://redmine.rubychan.de/issues/192)
458 1 Kornelius Kalnbach
* *REMOVED* @Term::Ansicolor@ was bundled under _lib/_, but not used. [Flameeyes]
459 1 Kornelius Kalnbach
  ("#205":http://redmine.rubychan.de/issues/205)
460 1 Kornelius Kalnbach
* *WORKAROUND* for Ruby bug 
461 1 Kornelius Kalnbach
  "#2745":http://redmine.ruby-lang.org/issues/show/2745
462 1 Kornelius Kalnbach
 
463 1 Kornelius Kalnbach
h3. @Encoders::Term@
464 1 Kornelius Kalnbach
 
465 1 Kornelius Kalnbach
* *FIXED* strings are closed correctly
466 1 Kornelius Kalnbach
  ("#138":http://redmine.rubychan.de/issues/138)
467 1 Kornelius Kalnbach
* *FIXED* several token kinds had no associated color
468 1 Kornelius Kalnbach
  ("#139":http://redmine.rubychan.de/issues/139)
469 1 Kornelius Kalnbach
* *NEW* alias @terminal@
470 1 Kornelius Kalnbach
  
471 1 Kornelius Kalnbach
  *NOTE:* This encoder will be renamed to @Encoders::Terminal@ in the next release.
472 1 Kornelius Kalnbach
473 1 Kornelius Kalnbach
h3. @Scanners::Debug@
474 1 Kornelius Kalnbach
 
475 1 Kornelius Kalnbach
* *FIXED* Don't close tokens that are not open. Send @:error@ token instead.
476 1 Kornelius Kalnbach
477 1 Kornelius Kalnbach
h3. @Scanners::Groovy@
478 1 Kornelius Kalnbach
 
479 1 Kornelius Kalnbach
* *FIXED* token kind of closing brackets is @:operator@ instead of @nil@
480 1 Kornelius Kalnbach
  ("#148":http://redmine.rubychan.de/issues/148)
481 1 Kornelius Kalnbach
482 1 Kornelius Kalnbach
h3. @Scanners::PHP@
483 1 Kornelius Kalnbach
 
484 1 Kornelius Kalnbach
* *FIXED* allow @\@ operator (namespace separator)
485 1 Kornelius Kalnbach
  ("#209":http://redmine.rubychan.de/issues/209)
486 1 Kornelius Kalnbach
487 1 Kornelius Kalnbach
h3. @Scanners::YAML@
488 1 Kornelius Kalnbach
 
489 1 Kornelius Kalnbach
* *FIXED* doesn't send debug tokens when @$DEBUG@ is true [Trans]
490 1 Kornelius Kalnbach
  ("#149":http://redmine.rubychan.de/issues/149)
491 1 Kornelius Kalnbach
492 1 Kornelius Kalnbach
493 3 Kornelius Kalnbach
h2. Changes in 0.9.1 [2009-12-31]
494 1 Kornelius Kalnbach
 
495 1 Kornelius Kalnbach
h3. Token classes
496 1 Kornelius Kalnbach
 
497 1 Kornelius Kalnbach
* *NEW* token classes @:complex@, @:decorator@, @:imaginary@
498 1 Kornelius Kalnbach
  (all for Python)
499 1 Kornelius Kalnbach
* *REMOVED* token class @:procedure@
500 1 Kornelius Kalnbach
  – use @:function@ or @:method@ instead.
501 1 Kornelius Kalnbach
502 1 Kornelius Kalnbach
h3. @Tokens@
503 1 Kornelius Kalnbach
 
504 1 Kornelius Kalnbach
* *NEW* method @#scanner@
505 1 Kornelius Kalnbach
  
506 1 Kornelius Kalnbach
  Stores the scanner.
507 1 Kornelius Kalnbach
* *REMOVED* methods @.write_token@, @.read_token@, @.escape@, @.unescape@
508 1 Kornelius Kalnbach
  
509 1 Kornelius Kalnbach
  They were only used by the @Tokens@ encoder, which was removed also.
510 1 Kornelius Kalnbach
511 1 Kornelius Kalnbach
h3. @Encoders::Encoder@
512 1 Kornelius Kalnbach
 
513 1 Kornelius Kalnbach
* *REMOVED* Don't require the _stringio_ library.
514 1 Kornelius Kalnbach
* *NEW* public methods @#open_token@, @#close_token@, @#begin_line@, @#end_line@
515 1 Kornelius Kalnbach
  These methods are called automatically, like @#text_token@.
516 1 Kornelius Kalnbach
* *NEW* proteced method @#append_encoded_token_to_output@
517 1 Kornelius Kalnbach
518 1 Kornelius Kalnbach
h3. @Encoders::Tokens@
519 1 Kornelius Kalnbach
 
520 1 Kornelius Kalnbach
* *REMOVED* – use @Tokens#dump@ and @Tokens.load@.
521 1 Kornelius Kalnbach
522 1 Kornelius Kalnbach
h3. @Encoders::Filter@
523 1 Kornelius Kalnbach
 
524 1 Kornelius Kalnbach
* *NEW*
525 1 Kornelius Kalnbach
  A @Filter@ encoder has another @Tokens@ instance as output.
526 1 Kornelius Kalnbach
527 1 Kornelius Kalnbach
h3. @Encoders::TokenClassFilter@
528 1 Kornelius Kalnbach
 
529 1 Kornelius Kalnbach
* *NEW*
530 1 Kornelius Kalnbach
  
531 1 Kornelius Kalnbach
  It takes 2 options, @:exclude@ and @:include@, that specify which token classes
532 1 Kornelius Kalnbach
  to include or exclude for the output. They can be a single token class,
533 1 Kornelius Kalnbach
  an @Array@ of classes, or the value @:all@.
534 1 Kornelius Kalnbach
535 1 Kornelius Kalnbach
h3. @Encoders::CommentFilter@
536 1 Kornelius Kalnbach
 
537 1 Kornelius Kalnbach
* *NEW*
538 1 Kornelius Kalnbach
  
539 1 Kornelius Kalnbach
  Removes tokens of the @:comment@ class.
540 1 Kornelius Kalnbach
541 1 Kornelius Kalnbach
h3. @Encoders::LinesOfCode@
542 1 Kornelius Kalnbach
 
543 1 Kornelius Kalnbach
* *NEW*
544 1 Kornelius Kalnbach
  
545 1 Kornelius Kalnbach
  Counts the lines of code according to the @KINDS_NOT_LOC@ token class list
546 1 Kornelius Kalnbach
  defined by the scanner. It uses the new @TokenClassFilter@.
547 1 Kornelius Kalnbach
  
548 1 Kornelius Kalnbach
  Alias: @:loc@, as in @tokens.loc@.
549 1 Kornelius Kalnbach
550 1 Kornelius Kalnbach
h3. @Encoders::JSON@
551 1 Kornelius Kalnbach
 
552 1 Kornelius Kalnbach
* *NEW*
553 1 Kornelius Kalnbach
  
554 1 Kornelius Kalnbach
  Outputs tokens in a simple JSON format.
555 1 Kornelius Kalnbach
556 1 Kornelius Kalnbach
h3. @Encoders::Term@
557 1 Kornelius Kalnbach
 
558 1 Kornelius Kalnbach
* *NEW* (beta, by Rob Aldred)
559 1 Kornelius Kalnbach
  
560 1 Kornelius Kalnbach
  Outputs code highlighted for a color terminal.
561 1 Kornelius Kalnbach
562 1 Kornelius Kalnbach
h3. @Encoders::HTML@
563 1 Kornelius Kalnbach
 
564 1 Kornelius Kalnbach
* *NEW* option @:title@ (default value is _CodeRay output_)
565 1 Kornelius Kalnbach
  
566 1 Kornelius Kalnbach
  Setting this changes the title of the HTML page.
567 1 Kornelius Kalnbach
* *NEW* option @:highlight_lines@ (default: @nil@)
568 1 Kornelius Kalnbach
  
569 1 Kornelius Kalnbach
  Highlights the given set of line numbers.
570 1 Kornelius Kalnbach
- *REMOVED* option @:level@
571 1 Kornelius Kalnbach
  
572 1 Kornelius Kalnbach
  It didn't do anything. CodeRay always outputs XHTML.
573 1 Kornelius Kalnbach
574 1 Kornelius Kalnbach
h3. @Encoders::Text@
575 1 Kornelius Kalnbach
 
576 1 Kornelius Kalnbach
* Uses @Encoder@ interface with @super@ and @#text_token@.
577 1 Kornelius Kalnbach
578 1 Kornelius Kalnbach
h3. @Encoders::XML@
579 1 Kornelius Kalnbach
 
580 1 Kornelius Kalnbach
* @FIXED@ ("#94":http://redmine.rubychan.de/issues/94)
581 1 Kornelius Kalnbach
  
582 1 Kornelius Kalnbach
  It didn't work at all.
583 1 Kornelius Kalnbach
584 1 Kornelius Kalnbach
h3. Scanners
585 1 Kornelius Kalnbach
 
586 1 Kornelius Kalnbach
* *NEW* Mapped @:h@ to @:c@, @:cplusplus@ and @:'c++'@ to @:cpp@,
587 1 Kornelius Kalnbach
  @:ecma@, @:ecmascript@, @:ecma_script@ to @:java_script@,
588 1 Kornelius Kalnbach
  @:pascal@ to @:delphi@, and @:plain@ to @:plaintext@.
589 1 Kornelius Kalnbach
590 1 Kornelius Kalnbach
h3. @Scanners::Scanner@
591 1 Kornelius Kalnbach
 
592 1 Kornelius Kalnbach
* *NEW* constant @KINDS_NOT_LOC@
593 1 Kornelius Kalnbach
  
594 1 Kornelius Kalnbach
  A list of all token classes not considered in LOC count.
595 1 Kornelius Kalnbach
  Added appropriate values for scanners.
596 1 Kornelius Kalnbach
* *NEW* method @#lang@ returns the scanner's lang, which is its @plugin_id@.
597 1 Kornelius Kalnbach
* *FIXED* automatic, safe UTF-8 detection _[Ruby 1.9]_
598 1 Kornelius Kalnbach
* *FIXED* column takes care of multibyte encodings _[Ruby 1.9]_
599 1 Kornelius Kalnbach
* *FIXED* is dumpable (@Tokens@ store their scanner in an @@scanner@ variable)
600 1 Kornelius Kalnbach
601 1 Kornelius Kalnbach
h3. @Scanners::Cpp@
602 1 Kornelius Kalnbach
 
603 1 Kornelius Kalnbach
* *NEW* (C++)
604 1 Kornelius Kalnbach
605 1 Kornelius Kalnbach
h3. @Scanners::Groovy@
606 1 Kornelius Kalnbach
 
607 1 Kornelius Kalnbach
* *NEW* (beta)
608 1 Kornelius Kalnbach
609 1 Kornelius Kalnbach
h3. @Scanners::Python@
610 1 Kornelius Kalnbach
 
611 1 Kornelius Kalnbach
* *NEW*
612 1 Kornelius Kalnbach
613 1 Kornelius Kalnbach
h3. @Scanners::PHP@
614 1 Kornelius Kalnbach
 
615 1 Kornelius Kalnbach
* *NEW* (based on Stefan Walk's work)
616 1 Kornelius Kalnbach
617 1 Kornelius Kalnbach
h3. @Scanners::SQL@
618 1 Kornelius Kalnbach
 
619 1 Kornelius Kalnbach
* *NEW* (based on code by Josh Goebel)
620 1 Kornelius Kalnbach
621 1 Kornelius Kalnbach
h3. @Scanners::C@
622 1 Kornelius Kalnbach
 
623 1 Kornelius Kalnbach
* *IMPROVED* added a list of @:directive@ tokens that were @:reserved@ before
624 1 Kornelius Kalnbach
* *IMPROVED* detection of labels
625 1 Kornelius Kalnbach
* *IMPROVED* allow @1L@ and @1LL@ style literals
626 1 Kornelius Kalnbach
627 1 Kornelius Kalnbach
h3. @Scanners::CSS@
628 1 Kornelius Kalnbach
 
629 1 Kornelius Kalnbach
* *IMPROVED* element selectors are highlighted as @:type@ instead of @:keyword@
630 1 Kornelius Kalnbach
631 1 Kornelius Kalnbach
h3. @Scanners::Delphi@
632 1 Kornelius Kalnbach
 
633 1 Kornelius Kalnbach
* *IMPROVED* Don't cache tokens in CaseIgnoringWordList.
634 1 Kornelius Kalnbach
635 1 Kornelius Kalnbach
h3. @Scanners::Java@
636 1 Kornelius Kalnbach
 
637 1 Kornelius Kalnbach
* *IMPROVED* @assert@ is highlighted as a @:keyword@ now
638 1 Kornelius Kalnbach
* *IMPROVED* @const@ and @goto@ are highlighted as @:reserved@
639 1 Kornelius Kalnbach
* *IMPROVED* @false@, @true@, and @null@ are highlighted as @:pre_constant@
640 1 Kornelius Kalnbach
* *IMPROVED* @threadsafe@ is no longer a @:directive@
641 1 Kornelius Kalnbach
* *IMPROVED* @String@ is highlighted as a @:pre_type@
642 1 Kornelius Kalnbach
* *IMPROVED* built-in classes ending with _Error_ or _Exception_ are
643 1 Kornelius Kalnbach
  highlighted as a @:exception@ instead of @:pre_type@
644 1 Kornelius Kalnbach
645 1 Kornelius Kalnbach
h3. @Scanners::JavaScript@
646 1 Kornelius Kalnbach
 
647 1 Kornelius Kalnbach
* *NEW* a list of @PREDEFINED_CONSTANTS@ to be highlighted as @:pre_constant@
648 1 Kornelius Kalnbach
* *NEW* XML literals are recognized and highlighted
649 1 Kornelius Kalnbach
* *NEW* function name highlighting
650 1 Kornelius Kalnbach
* *IMPROVED* @.1@ is highlighted a number
651 1 Kornelius Kalnbach
* *FIXED* strings close with the correct kind when terminated unexpectedly
652 1 Kornelius Kalnbach
653 1 Kornelius Kalnbach
h3. @Scanners::JSON@
654 1 Kornelius Kalnbach
 
655 1 Kornelius Kalnbach
* *IMPROVED* constants (@true@, @false@, @nil@) are highlighted as @:value@
656 1 Kornelius Kalnbach
657 1 Kornelius Kalnbach
h3. @Scanners::Ruby@
658 1 Kornelius Kalnbach
 
659 1 Kornelius Kalnbach
* *IMPROVED* @Patterns::KEYWORDS_EXPECTING_VALUE@ for more accurate
660 1 Kornelius Kalnbach
  @value_expected@ detection
661 1 Kornelius Kalnbach
* *IMPROVED* handling of @\@ as a string delimiter
662 1 Kornelius Kalnbach
* *IMPROVED* handling of unicode strings; automatic switching to unicode
663 1 Kornelius Kalnbach
* *IMPROVED* highlighting of @self.method@ definitions
664 1 Kornelius Kalnbach
* *REMOVED* @Patterns::FANCY_START_SAVE@ (obsolete)
665 1 Kornelius Kalnbach
* *FIXED* encoding issues _[Ruby 1.9]_
666 1 Kornelius Kalnbach
* *FIXED* a problem in early Ruby 1.8.6 patch versions with @Regexp.escape@
667 1 Kornelius Kalnbach
668 1 Kornelius Kalnbach
h3. @Scanners::YAML@
669 1 Kornelius Kalnbach
 
670 1 Kornelius Kalnbach
* *IMPROVED* indentation detection
671 1 Kornelius Kalnbach
672 1 Kornelius Kalnbach
h3. @Styles::Cycnus@
673 1 Kornelius Kalnbach
 
674 1 Kornelius Kalnbach
* changed a few colors (exceptions, inline strings, predefined types)
675 1 Kornelius Kalnbach
676 1 Kornelius Kalnbach
h3. @Plugin@
677 1 Kornelius Kalnbach
 
678 1 Kornelius Kalnbach
* *NEW* method @#title@
679 1 Kornelius Kalnbach
  
680 1 Kornelius Kalnbach
  Set and get the plugin's title. Titles can be arbitrary strings.
681 1 Kornelius Kalnbach
* *NEW* method @#helper@ loads helpers from different plugins
682 1 Kornelius Kalnbach
  
683 1 Kornelius Kalnbach
  Use this syntax: @helper 'other_plugin/helper_name'@
684 1 Kornelius Kalnbach
685 1 Kornelius Kalnbach
h3. @FileType@
686 1 Kornelius Kalnbach
 
687 1 Kornelius Kalnbach
* *NEW* @FileType[]@ takes @Pathname@ instances
688 1 Kornelius Kalnbach
* *NEW* regonizes @.cc@, @.cpp@, @.cp@, @.cxx@, @.c++@, @.C@, @.hh@, @.hpp@, @.h++@, @.cu@ extensions (C++)
689 1 Kornelius Kalnbach
  
690 1 Kornelius Kalnbach
  Thanks to Sander Cox and the TextMate C bundle.
691 1 Kornelius Kalnbach
* *NEW* regonizes @.pas@, @.dpr@ extensions (Delphi)
692 1 Kornelius Kalnbach
* *NEW* regonizes @.gvy@, @.groovy@ extensions (Groovy)
693 1 Kornelius Kalnbach
* *NEW* regonizes @.php@, @.php3@, @.php4@, @.php5@ extensions (PHP)
694 1 Kornelius Kalnbach
* *NEW* regonizes @.py@, @.py3@, @.pyw@ extensions (Python)
695 1 Kornelius Kalnbach
* *NEW* regonizes @.rxml@ extension (Ruby)
696 1 Kornelius Kalnbach
* *NEW* regonizes @.sql@ extension (SQL)
697 1 Kornelius Kalnbach
* File types list was sorted alphabetically.
698 1 Kornelius Kalnbach
699 1 Kornelius Kalnbach
h3. @CaseIgnoringWordList@
700 1 Kornelius Kalnbach
 
701 1 Kornelius Kalnbach
* *FIXED* ("#97":http://redmine.rubychan.de/issues/97)
702 1 Kornelius Kalnbach
  
703 1 Kornelius Kalnbach
  The default value is no longer ignored.
704 1 Kornelius Kalnbach
705 1 Kornelius Kalnbach
h3. @ForRedCloth@
706 1 Kornelius Kalnbach
 
707 1 Kornelius Kalnbach
* *FIXED* for RedCloth versions 4.2.0+ ("#119":http://redmine.rubychan.de/issues/119)
708 1 Kornelius Kalnbach
709 1 Kornelius Kalnbach
h3. Cleanups
710 1 Kornelius Kalnbach
 
711 1 Kornelius Kalnbach
* warnings about character classes _[Ruby 1.9]_
712 1 Kornelius Kalnbach
* encoding issues _[Ruby 1.9]_
713 1 Kornelius Kalnbach
* documentation, code