diff options
author | murphy <murphy@rubychan.de> | 2010-06-01 21:53:10 +0000 |
---|---|---|
committer | murphy <murphy@rubychan.de> | 2010-06-01 21:53:10 +0000 |
commit | c30346cfa5d85d3c2f8903962322a07d695493d9 (patch) | |
tree | c7a137252eb825d0dc5b45dba2e89166116d3d74 /Changes.textile | |
parent | 39eb4c9f60e296f9f6c51784ef7e0a234966755d (diff) | |
download | coderay-c30346cfa5d85d3c2f8903962322a07d695493d9.tar.gz |
Issue #227: Inline Diff Highlighting and improved intelligent diff
highlighting for multi-line tokens. These are one of the most complex features
of CodeRay now, and quite unique, I think.
Of course, all of this is highly experimental, and not ready for production
use.
Diffstat (limited to 'Changes.textile')
-rw-r--r-- | Changes.textile | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/Changes.textile b/Changes.textile index 44daa5f..a8af808 100644 --- a/Changes.textile +++ b/Changes.textile @@ -132,12 +132,33 @@ h3. @Scanners::Diff@ * *NEW*: Highlighting of code based on file names. See ticket "#52":http://redmine.rubychan.de/issues/52. + Use the @:highlight_code@ option to turn this feature off. It's enabled + by default. + 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. - Note: This is still buggy for multi-line tokens. + 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. + + Use the @:inline_diff@ option to turn this feature off. It's enabled by + default. + + 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@. |