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 |