diff options
author | Kornelius Kalnbach <murphy@rubychan.de> | 2011-09-26 21:40:12 +0200 |
---|---|---|
committer | Kornelius Kalnbach <murphy@rubychan.de> | 2011-09-26 21:40:12 +0200 |
commit | fbf92d1366faf831a7eb51c97ed60f4df66f11da (patch) | |
tree | 81106f3ee0ff366f3deec25994df3e9d4e2c382f /Changes.textile | |
parent | ac4430a9042b2de80e7f82c661493c4a5de8c39d (diff) | |
download | coderay-fbf92d1366faf831a7eb51c97ed60f4df66f11da.tar.gz |
renaming changelogs
Diffstat (limited to 'Changes.textile')
-rw-r--r-- | Changes.textile | 556 |
1 files changed, 240 insertions, 316 deletions
diff --git a/Changes.textile b/Changes.textile index cdbfdd9..5448767 100644 --- a/Changes.textile +++ b/Changes.textile @@ -1,421 +1,345 @@ h1=. CodeRay Version History -p=. _This files lists all changes in the CodeRay library since the 0.8.4 release._ +p=. _This files lists all changes in the CodeRay library since the 0.9.8 release._ {{toc}} -h2. Changes in 0.9.8 "banister" [2011-05-01] +h2. Changes in 1.0 -Fixes for JRuby's 1.9 mode and minor issues. +CodeRay 1.0 is a major rewrite of the library, and incompatible to earlier versions. -h3. Rake tasks - -* *REMOVED* obsolete @has_rdoc@ gem specification, fixing a warning. +The command line and programmer interfaces are similar to 0.9, but the internals have completely changed. -h3. @Scanners::Scanner@ +h3. General changes -* *NEW* method @#scan_rest@ replaces @scan_until(/\z/)@, which is broken in JRuby 1.6 --1.9 mode. - See "#297":http://redmine.rubychan.de/issues/297. +* *NEW*: The new Diff scanner colorizes code inside of the diff, and highlights inline changes. +* *NEW*: Extended support and usage of HTML5 and CSS 3 features. +* *NEW*: Direct Streaming +* *NEW* scanners: Clojure and HAML +* *CHANGED*: Token classes (used as CSS classes) are readable names; breaks you stylesheet! +* *IMPROVED* documentation +* *IMPROVED* speed: faster startup (using @autoload@), scanning, and encoding +* *IMPROVED* Ruby 1.9 encodings support +* *IMPROVED* Tests: There are more of them now! -h3. @Scanners::CSS@ +h3. Direct Streaming -* *FIXED* LOC counting (should be 0). - See "#296":http://redmine.rubychan.de/issues/296. - -h3. @Scanners::Ruby@ +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. -* *FIXED* the @IDENT@ pattern not to use character properties, which are broken in JRuby 1.6 --1.9 mode. - See "#297":http://redmine.rubychan.de/issues/297, thanks to banister for reporting! - -h3. @Scanners::SQL@ +The main benefits of this change are: -* *ADDED* more keywords: @between@, @databases@, @distinct@, @fields@, @full@, @having@, @is@, @prompt@, @tables@. - See "#221":http://redmine.rubychan.de/issues/221, thanks to Etienne Massip again. - -h3. @FileType@ +* more speed (benchmarks show 10% to 50% more tokens per second compared to CodeRay 0.9) +* the ability to stream output into a pipe on the command line +* a simpler API +* less code -* *NEW* regonizes ColdFusion file type extensions @.cfm@ and @.cfc@ as XML. - See "#298":http://redmine.rubychan.de/issues/298, thanks to Emidio Stani. - +Changes related to the new tokens handling include: +* *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. +* *CHANGED*: The token actions (@text_token@, @begin_group@ etc.) are now public methods of @Encoder@ and @Tokens@. +* *REWRITE* of all Scanners, Encoders, Filters, and Tokens. +* *RENAMED* @:open@ and @:close@ actions to @:begin_group@ and @:end_group@. +* *RENAMED* @open_token@ and @close_token@ methods to @begin_group@ and @end_group@. +* *NEW* method @#tokens@ allows to add several tokens to the stream. @Tokens@ and @Encoders::Encoder@ define this + method. +* *CHANGED* The above name changes also affect the JSON, XML, and YAML encoders. CodeRay 1.0 output will be incompatible + with earlier versions. +* *REMOVED* @TokenStream@ and the @Streamable@ API and all related features like @NotStreamableError@ are now obsolete + and have been removed. -h2. Changes in 0.9.7 "Etienne" [2011-01-14] - -Fixes a dangerous JavaScript scanner bug, and a testing problem with Ruby 1.9.1. - -h3. Tests +h3. Command Line -* *FIXED* The functional tests now load the lib directory (instead of the gem) in Ruby 1.9.1. - -h3. @Scanners::JavaScript@ +The @coderay@ executable was rewritten and has a few new features: -* *FIXED* @KEY_CHECK_PATTERN@ regexp - See "#264":http://redmine.rubychan.de/issues/264, thanks to Etienne Massip! +* *NEW* Ability to stream into a pipe; try @coderay file | more -r@ +* *NEW* help +* *IMPROVED*: more consistent parameter handling +* *REMOVED* @coderay_stylesheet@ executable; use @coderay stylesheet [name]@. - -h2. Changes in 0.9.6 "WoNáDo" [2010-11-25] - -Minor improvements to the Ruby scanner and a fix for Ruby 1.9. - -h3. @Scanners::Ruby@ +h3. @Tokens@ -* *IMPROVED* handling of new hash syntax (keys are marked as @:key@ now, - colon is a separate @:operator@ token, all idents can be used as keys) - See "#257":http://code.licenser.net/issues/257, thanks to WoNáDo! -* *ADDED* @__ENCODING__@ magic constant (Ruby 1.9) -* *FIXED*: Scanner no longer tries to modify the input string on Ruby 1.9. - See "#260":http://code.licenser.net/issues/260, thanks to Jan Lelis! - +* *NEW* methods @count@, @begin_group@, @end_group@, @begin_line@, and @end_line@. +* *REMOVED* methods @#stream?@, @#each_text_token@. +* *REMOVED* methods @#optimize@, @#fix@, @#split_into_lines@ along with their bang! variants. +* *REMOVED* @#text@ and @#text_size@ methods. Use the @Text@ encoder instead. +* *REMOVED* special implementation of @#each@ taking a filter parameter. Use @TokenKindFilter@ instead. -h2. Changes in 0.9.5 "Germany.rb" [2010-09-28] +h3. *RENAMED*: @TokenKinds@ -Support for Rubinius ("#251":http://redmine.rubychan.de/issues/251), improved mutlibyte handling, Ruby 1.9 syntax, and valid HTML. +Renamed from @Tokens::ClassOfKind@ (was also @Tokens::AbbreviationForKind@ for a while). +The term "token class" is no longer used in CodeRay. Instead, tokens have _kinds_. +See "#122":http://redmine.rubychan.de/issues/122. -h3. @Encoders::HTML@ - -* *FIXED*: Line tokens use @span@ with @display: block@ instead of @div@, which was invalid HTML ("#255":http://redmine.rubychan.de/issues/255). +* *CHANGED* all token CSS classes to readable names. +* *ADDED* token kinds @:filename@, @:namespace@, and @:eyecatcher@. +* *RENAMED* @:pre_constant@ and @:pre_type@ to @:predefined_constant@ and @predefined_type@. +* *RENAMED* @:oct@ and @:bin@ to @:octal@ and @binary@. +* *REMOVED* token kinds @:attribute_name_fat@, @:attribute_value_fat@, @:operator_fat@, @interpreted@, + @:tag_fat@, @tag_special@, @:xml_text@, @:nesting_delimiter@, @:open@, and @:close@. +* *CHANGED*: Don't raise error for unknown token kinds unless in @$CODERAY_DEBUG@ mode. +* *CHANGED* the value for a token kind that is not highlighted from + @:NO_HIGHLIGHT@ to @false@. -h3. @Scanner::Scanner@ +h3. @Duo@ -* *IMPROVED* handling of encodings in Ruby 1.9: UTF-8 and Windows-1252 are checked. -* *NEW*: Invalid chars will be converted to @?@ in Ruby 1.9. -* *FIXED* @string=@ method for Rubinius. See "issue 481":http://github.com/evanphx/rubinius/issues/481 on their site. +* *NEW* method @call@ for allowing code like @CodeRay::Duo[:python => :yaml].(code)@ in Ruby 1.9. -h3. @Scanners::CSS@ +h3. @Encoders::CommentFilter@ -* *FIXED*: Don't use non-ASCII regexps. +* *NEW* alias @:remove_comments@ -h3. @Scanners::Diff@ +h3. @Encoders::Filter@ -* *FIXED*: Highlight unexpected lines as @:comment@. +* *NEW* option @tokens@. +* *CHANGED*: Now it simply delegates to the output. +* *REMOVED* @include_text_token?@ and @include_block_token?@ methods. -h3. @Scanners::PHP@ +h3. @Encoders::HTML@ -* *FIXED*: Use @ASCII-8BIT@ encoding for now. - -h3. @Scanners::Ruby@ +The HTML encoder was cleaned up and simplified. -* *ADDED* support for some Ruby 1.9 syntax ("#254":http://redmine.rubychan.de/issues/254): -** the @->@ lambda shortcut -** new Hash syntax using colons (@{ a: b }@) -* *FIXED*: Use @UTF-8@ encoding. -* *IMPROVED* unicode support on Ruby 1.8 ("#253":http://redmine.rubychan.de/issues/253). -* *FIXED* recognition of non-ASCII identifiers in Ruby 1.9, JRuby, and Rubinius ("#253":http://redmine.rubychan.de/issues/253). -* *CHANGED* heredoc recognition to ignore delimiters starting with a digit. This is incorrect, but causes less false positives. +* *NEW*: HTML5 and CSS 3 compatible. + See "#215":http://redmine.rubychan.de/issues/215. +* *ADDED* support for @:line_number_anchors@. + See "#208":http://redmine.rubychan.de/issues/208. +* *CHANGED* the default style to @:alpha@. +* *CHANGED*: Use double click to toggle line numbers in table mode (as single + click jumps to an anchor.) +* *REMOVED* support for @:line_numbers => :list@. +* *FIXED* splitting of lines for @:line_numbers => :inline@, so that the line + numbers don't get colored, too. +* *RENAMED* @Output#numerize@ to @#number@, which is an actual English word. -h3. @Scanners::SQL@ - -* *FIXED* scanning of comments; nice catch, Rubinius! - ("#252":http://redmine.rubychan.de/issues/252) - - -h2. Changes in 0.9.4 "Ramadan" [2010-08-31] - -Updated command line interface and minor scanner fixes for the Diff, HTML, and RHTML scanners. - -h3. @coderay@ executable +h3. @Encoders::LinesOfCode@ -* *FIXED*: Partly rewritten, simplified, fixed. - ("#244":http://redmine.rubychan.de/issues/244) +* *CHANGED*: @compile@ and @finish@ methods are now protected. -h3. @Scanners::Diff@ +h3. *Renamed*: @Encoders::Terminal@ (was @Encoders::Term@) -* *FIXED* handling of change headers with code on the same line as the @@ marker. - ("#247":http://redmine.rubychan.de/issues/242) +* *RENAMED* from @Encoders::Term@, added @:term@ alias. +* *CLEANUP*: Use @#setup@'s @super@, don't use @:procedure@ token class. +* *CHANGED*: @#token@'s second parameter is no longer optional. +* *REMOVED* colors for obsolete token kinds. +* *FIXED* handling of line tokens. -h3. @Scanners::HTML@ +h3. @Encoders::Text@ -* *FIXED* a missing regexp modifier that slowed down the scanning. - ("#245":http://redmine.rubychan.de/issues/245) +* *FIXED* default behavior of stripping the trailing newline. -h3. @Scanners::RHTML@ +h3. *RENAMED*: @Encoders::TokenKindFilter@ (was @Encoders::TokenClassFilter@) -* *FIXED* highlighting of ERB comment blocks. - ("#246":http://redmine.rubychan.de/issues/246) +* *NEW*: Handles token groups. + See "#223":http://redmine.rubychan.de/issues/223. +* *RENAMED* @include_block_token?@ to @include_group?@. - -h2. Changes in 0.9.3 "Eyjafjallajökull" [2010-04-18] - -* *FIXED*: Documentation of Tokens. - ("#218":http://redmine.rubychan.de/issues/218) +h3. @Encoders::Statistic@ -h3. @coderay@ executable - -* *NEW*: automatic TTY detection (uses @Term@ encoder) -* *NEW*: optional 3rd parameter for the filename -* *FIXED*: Converted to UNIX format. -* *FIXED*: Warn about generated files. -* *FIXED*: Ensure line break after the output (especially for LoC counter). +* *CHANGED*: Tokens actions are counted separately. -h3. @Scanners::JavaScript@ +h3. @Scanners::Scanner@ -* *FIXED*: Don't keep state of XML scanner between calls for E4X literals. +* *NEW* methods @#file_extension@ and @#encoding@. +* *NEW*: The @#tokenize@ method also takes an Array of Strings as source. The + code is highlighted as one and split into parts of the input lengths + after that using @Tokens#split_into_parts@. +* *NEW* method @#binary_string@ +* *REMOVED* helper method @String#to_unix@. +* *REMOVED* method @#streamable?@. +* *REMOVED* @#marshal_load@ and @#marshal_dump@. +* *RENAMED* class method @normify@ to @normalize@; it also deals with encoding now. +* *CHANGED*: @#column@ starts counting with 1 instead of 0 -h3. @Scanners::Java@, @Scanners::JSON@ +h3. *NEW*: @Scanners::Clojure@ -* *FIXED*: Close unfinished strings with the correct token kind. - +Thanks to Licenser, CodeRay now supports the Clojure language. -h2. Changes in 0.9.2 "Flameeyes" [2010-03-14] - -* *NEW* Basic tests and a _Rakefile_ are now included in the Gem. [Flameeyes] - A @doc@ task is also included. -* *FIXED* Use @$CODERAY_DEBUG@ for debugging instead of @$DEBUG@. [Trans] - ("#192":http://redmine.rubychan.de/issues/192) -* *REMOVED* @Term::Ansicolor@ was bundled under _lib/_, but not used. [Flameeyes] - ("#205":http://redmine.rubychan.de/issues/205) -* *WORKAROUND* for Ruby bug - "#2745":http://redmine.ruby-lang.org/issues/show/2745 - -h3. @Encoders::Term@ +h3. @Scanners::CSS@ -* *FIXED* strings are closed correctly - ("#138":http://redmine.rubychan.de/issues/138) -* *FIXED* several token kinds had no associated color - ("#139":http://redmine.rubychan.de/issues/139) -* *NEW* alias @terminal@ - - *NOTE:* This encoder will be renamed to @Encoders::Terminal@ in the next release. +* *NEW*: Rudimentary support for the @attr@, @counter@, and @counters@ functions. + See "#224":http://redmine.rubychan.de/issues/224. +* *NEW*: Rudimentary support for CSS 3 colors. +* *CHANGED*: Attribute selectors are highlighted as @:attribute_name@ instead of @:string@. +* *CHANGED*: Comments are scanned as one token instead of three. h3. @Scanners::Debug@ -* *FIXED* Don't close tokens that are not open. Send @:error@ token instead. - -h3. @Scanners::Groovy@ - -* *FIXED* token kind of closing brackets is @:operator@ instead of @nil@ - ("#148":http://redmine.rubychan.de/issues/148) - -h3. @Scanners::PHP@ - -* *FIXED* allow @\@ operator (namespace separator) - ("#209":http://redmine.rubychan.de/issues/209) +* *NEW*: Support for line tokens (@begin_line@ and @end_line@ represented by @[@ and @]@.) +* *FIXED*: Don't send @:error@ and @nil@ tokens for buggy input any more. +* *FIXED*: Closes unclosed tokens at the end of @scan_tokens@. +* *IMPROVED*: Highlight unknown tokens as @:error@. +* *CHANGED*: Raises an error when trying to end an invalid token group. -h3. @Scanners::YAML@ - -* *FIXED* doesn't send debug tokens when @$DEBUG@ is true [Trans] - ("#149":http://redmine.rubychan.de/issues/149) - - -h2. Changes in 0.9.1 [2009-12-31] - -h3. Token classes +h3. @Scanners::Delphi@ -* *NEW* token classes @:complex@, @:decorator@, @:imaginary@ - (all for Python) -* *REMOVED* token class @:procedure@ - – use @:function@ or @:method@ instead. +* *FIXED*: Closes open string groups. -h3. @Tokens@ +h3. @Scanners::Diff@ -* *NEW* method @#scanner@ +* *NEW*: Highlighting of code based on file names. + See ticket "#52":http://redmine.rubychan.de/issues/52. - Stores the scanner. -* *REMOVED* methods @.write_token@, @.read_token@, @.escape@, @.unescape@ + Use the @:highlight_code@ option to turn this feature off. It's enabled + by default. - They were only used by the @Tokens@ encoder, which was removed also. - -h3. @Encoders::Encoder@ - -* *REMOVED* Don't require the _stringio_ library. -* *NEW* public methods @#open_token@, @#close_token@, @#begin_line@, @#end_line@ - These methods are called automatically, like @#text_token@. -* *NEW* proteced method @#append_encoded_token_to_output@ - -h3. @Encoders::Tokens@ - -* *REMOVED* – use @Tokens#dump@ and @Tokens.load@. - -h3. @Encoders::Filter@ - -* *NEW* - A @Filter@ encoder has another @Tokens@ instance as output. - -h3. @Encoders::TokenClassFilter@ - -* *NEW* - - It takes 2 options, @:exclude@ and @:include@, that specify which token classes - to include or exclude for the output. They can be a single token class, - an @Array@ of classes, or the value @:all@. - -h3. @Encoders::CommentFilter@ - -* *NEW* + This is a very original feature. It enables multi-language highlighting for + diff files, which is especially helpful for CodeRay development itself. The + updated version of the scanner test suite generated .debug.diff.html files + using this. - Removes tokens of the @:comment@ class. - -h3. @Encoders::LinesOfCode@ - -* *NEW* + Note: This is still experimental. Tokens spanning more than one line + may get highlighted incorrectly. CodeRay tries to keep scanner states + between the lines and changes, but the quality of the results depend on + the scanner. +* *NEW*: Inline change highlighting, as suggested by Eric Thomas. + See ticket "#227":http://redmine.rubychan.de/issues/227 for details. - Counts the lines of code according to the @KINDS_NOT_LOC@ token class list - defined by the scanner. It uses the new @TokenClassFilter@. + Use the @:inline_diff@ option to turn this feature off. It's enabled by + default. - Alias: @:loc@, as in @tokens.loc@. + For single-line changes (that is, a single deleted line followed by a single + inserted line), this feature surrounds the changed parts with an + @:eyecatcher@ group which appears in a more saturated background color. + The implementation is quite complex, and highly experimental. The problem + with multi-layer tokenizing is that the tokens have to be split into parts. + If the inline change starts, say, in the middle of a string, then additional + @:end_group@ and @:begin_group@ tokens must be inserted to keep the group + nesting intact. The extended @Scanner#tokenize@ method and the new + @Tokens#split_into_parts@ method take care of this. +* *NEW*: Highlight the file name in the change headers as @:filename@. +* *CHANGED*: Highlight unknown lines as @:comment@ instead of @:head@. +* *IMPROVED*: Background colors for Diff output have been optimized. -h3. @Encoders::JSON@ - -* *NEW* - - Outputs tokens in a simple JSON format. +h3. *RENAMED*: @Scanners::ERB@ (was @Scanners::RHTML@) -h3. @Encoders::Term@ +h3. *NEW*: @Scanners::HAML@ -* *NEW* (beta, by Rob Aldred) - - Outputs code highlighted for a color terminal. - -h3. @Encoders::HTML@ +It uses the new :state options of the HTML and Ruby scanners. -* *NEW* option @:title@ (default value is _CodeRay output_) - - Setting this changes the title of the HTML page. -* *NEW* option @:highlight_lines@ (default: @nil@) - - Highlights the given set of line numbers. -- *REMOVED* option @:level@ - - It didn't do anything. CodeRay always outputs XHTML. +Some rare cases are not considered (like @#{...}@ snippets inside of :javascript blocks), +but it highlights pretty well. -h3. @Encoders::Text@ +h3. @Scanners::HTML@ -* Uses @Encoder@ interface with @super@ and @#text_token@. +* *FIXED*: Closes open string groups. -h3. @Encoders::XML@ +h3. @Scanners::JavaScript@ -* @FIXED@ ("#94":http://redmine.rubychan.de/issues/94) - - It didn't work at all. +* *IMPROVED*: Added @NaN@ and @Infinity@ to list of predefined constants. +* *IMPROVED* recognition of RegExp literals with leading spaces. -h3. Scanners +h3. @Scanners::Java@ -* *NEW* Mapped @:h@ to @:c@, @:cplusplus@ and @:'c++'@ to @:cpp@, - @:ecma@, @:ecmascript@, @:ecma_script@ to @:java_script@, - @:pascal@ to @:delphi@, and @:plain@ to @:plaintext@. +* *NEW*: Package names are highlighted as @:namespace@. + See "#210":http://redmine.rubychan.de/issues/210. -h3. @Scanners::Scanner@ +h3. *REMOVED*: @Scanners::NitroXHTML@ -* *NEW* constant @KINDS_NOT_LOC@ - - A list of all token classes not considered in LOC count. - Added appropriate values for scanners. -* *NEW* method @#lang@ returns the scanner's lang, which is its @plugin_id@. -* *FIXED* automatic, safe UTF-8 detection _[Ruby 1.9]_ -* *FIXED* column takes care of multibyte encodings _[Ruby 1.9]_ -* *FIXED* is dumpable (@Tokens@ store their scanner in an @@scanner@ variable) +Nitro is "dead":http://www.nitrohq.com/. -h3. @Scanners::Cpp@ +h3. *RENAMED*: @Scanners::Text@ (was @Scanners::Plaintext@) -* *NEW* (C++) - -h3. @Scanners::Groovy@ +* *IMPROVED*: Just returns the string without scanning (faster). -* *NEW* (beta) + This is much faster than scanning until @/\z/@ in Ruby 1.8. h3. @Scanners::Python@ -* *NEW* +* *CHANGED*: Docstrings are highlighted as @:comment@. + See "#190":http://redmine.rubychan.de/issues/190. -h3. @Scanners::PHP@ - -* *NEW* (based on Stefan Walk's work) +h3. *NEW*: @Scanners::Raydebug@ -h3. @Scanners::SQL@ - -* *NEW* (based on code by Josh Goebel) +Copied from @Scanners::Debug@, highlights the token dump instead of importing it. It also reacts to the @.raydebug@ file +name suffix now. -h3. @Scanners::C@ +h3. @Scanners::Ruby@ -* *IMPROVED* added a list of @:directive@ tokens that were @:reserved@ before -* *IMPROVED* detection of labels -* *IMPROVED* allow @1L@ and @1LL@ style literals +* *ADDED* more predefined keywords (see http://murfy.de/ruby-constants). +* *IMPROVED* support for singleton method definitions. + See "#147":http://redmine.rubychan.de/issues/147. +* *FIXED*: Don't highlight methods with a capital letter as constants + (eg. @GL.PushMatrix@). +* *NEW*: Highlight buggy floats (like .5) as @:error@. +* *CLEANUP* of documentation, names of constants and variables, state handling. + + Moved @StringState@ class from @patterns.rb@ into a separate file. +* *NEW*: Complicated rule for recognition of @foo=@ style method names. +* *NEW*: Handles @:keep_state@ option (a bit; experimental). + + Actually, Ruby checks if there is @[~>=]@, but not @=>@ following the name. + +* *REMOVED* @EncodingError@ -h3. @Scanners::CSS@ +h3. *REMOVED* @Scanners::Scheme@ -* *IMPROVED* element selectors are highlighted as @:type@ instead of @:keyword@ +* It is too buggy, and nobody was using it. To be added again when it's fixed. + See "#59":http://redmine.rubychan.de/issues/59. -h3. @Scanners::Delphi@ +h3. @Scanners::SQL@ -* *IMPROVED* Don't cache tokens in CaseIgnoringWordList. - -h3. @Scanners::Java@ +* *IMPROVED*: Extended list of keywords and functions (thanks to + Joshua Galvez, Etienne Massip, and others). -* *IMPROVED* @assert@ is highlighted as a @:keyword@ now -* *IMPROVED* @const@ and @goto@ are highlighted as @:reserved@ -* *IMPROVED* @false@, @true@, and @null@ are highlighted as @:pre_constant@ -* *IMPROVED* @threadsafe@ is no longer a @:directive@ -* *IMPROVED* @String@ is highlighted as a @:pre_type@ -* *IMPROVED* built-in classes ending with _Error_ or _Exception_ are - highlighted as a @:exception@ instead of @:pre_type@ + See "#221":http://redmine.rubychan.de/issues/221. +* *FIXED*: Closes open string groups. +* *FIXED*: Words after @.@ are always recognized as @:ident@. -h3. @Scanners::JavaScript@ +h3. @Scanners::YAML@ -* *NEW* a list of @PREDEFINED_CONSTANTS@ to be highlighted as @:pre_constant@ -* *NEW* XML literals are recognized and highlighted -* *NEW* function name highlighting -* *IMPROVED* @.1@ is highlighted a number -* *FIXED* strings close with the correct kind when terminated unexpectedly - -h3. @Scanners::JSON@ +* *FIXED*: Allow spaces before colon in mappings. -* *IMPROVED* constants (@true@, @false@, @nil@) are highlighted as @:value@ + See "#231":http://redmine.rubychan.de/issues/231. -h3. @Scanners::Ruby@ - -* *IMPROVED* @Patterns::KEYWORDS_EXPECTING_VALUE@ for more accurate - @value_expected@ detection -* *IMPROVED* handling of @\@ as a string delimiter -* *IMPROVED* handling of unicode strings; automatic switching to unicode -* *IMPROVED* highlighting of @self.method@ definitions -* *REMOVED* @Patterns::FANCY_START_SAVE@ (obsolete) -* *FIXED* encoding issues _[Ruby 1.9]_ -* *FIXED* a problem in early Ruby 1.8.6 patch versions with @Regexp.escape@ +h3. *NEW*: @Styles::Alpha@ -h3. @Scanners::YAML@ +A style that uses transparent HSLA colors as defined in CSS 3. See "#199":http://redmine.rubychan.de/issues/199. -* *IMPROVED* indentation detection +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. See "#226":http://redmine.rubychan.de/issues/226. -h3. @Styles::Cycnus@ +h3. @WordList@ -* changed a few colors (exceptions, inline strings, predefined types) +Stripped down to 19 LOC. -h3. @Plugin@ - -* *NEW* method @#title@ - - Set and get the plugin's title. Titles can be arbitrary strings. -* *NEW* method @#helper@ loads helpers from different plugins - - Use this syntax: @helper 'other_plugin/helper_name'@ +* *RENAMED* @CaseIgnoringWordList@ to @WordList::CaseIgnoring@. +* *REMOVED* caching option because it creates memory leaks. +* *REMOVED* block option. h3. @FileType@ -* *NEW* @FileType[]@ takes @Pathname@ instances -* *NEW* regonizes @.cc@, @.cpp@, @.cp@, @.cxx@, @.c++@, @.C@, @.hh@, @.hpp@, @.h++@, @.cu@ extensions (C++) +* *NEW*: Recognizes @.gemspec@, @.rjs@, @.rpdf@ extensions, @Gemfile@, and @Capfile@ as Ruby. - Thanks to Sander Cox and the TextMate C bundle. -* *NEW* regonizes @.pas@, @.dpr@ extensions (Delphi) -* *NEW* regonizes @.gvy@, @.groovy@ extensions (Groovy) -* *NEW* regonizes @.php@, @.php3@, @.php4@, @.php5@ extensions (PHP) -* *NEW* regonizes @.py@, @.py3@, @.pyw@ extensions (Python) -* *NEW* regonizes @.rxml@ extension (Ruby) -* *NEW* regonizes @.sql@ extension (SQL) -* File types list was sorted alphabetically. - -h3. @CaseIgnoringWordList@ - -* *FIXED* ("#97":http://redmine.rubychan.de/issues/97) - - The default value is no longer ignored. + Thanks to the authors of the TextMate Ruby bundle! +* *REMOVED* @FileType#shebang@ is a protected method now. + +h3. @Plugin@ + +* *IMPROVED*: @register_for@ sets the @plugin_id@; it can now be a @Symbol@. +* *ADDED* @PluginHost#const_missing@ method: Plugins are loaded automatically. + Using @Scanners::JavaScript@ in your code loads @scanners/java_script.rb@. +* *ADDED* @#all_plugins@ method to simplify getting + information about all available plugins (suggested by bnhymn). +* *CHANGED* the default plugin key from @nil@ to @:default@. -h3. @ForRedCloth@ +h3. @GZip@ -* *FIXED* for RedCloth versions 4.2.0+ ("#119":http://redmine.rubychan.de/issues/119) +* *MOVED* into @CodeRay@ namespace. +* *MOVED* file from @gzip_simple.rb@ to @gzip.rb@. +* *REMOVED* @String@ extensions. -h3. Cleanups +h3. More API changes -* warnings about character classes _[Ruby 1.9]_ -* encoding issues _[Ruby 1.9]_ -* documentation, code +* *FIXED* @Encoders::HTML#token@'s second parameter is no longer optional. +* *CHANGED* @Encoders::HTML::Output@'s API. +* *REMOVED* lots of unused methods. + +The helper classes were cleaned up; see above for details. + +* *CHANGED* @Plugin@ API was simplified and stripped of all unnecessary features. +* *CHANGED* Moved @GZip@ and @FileType@ libraries into @CodeRay@; cleaned them up. + |