summaryrefslogtreecommitdiff
path: root/lib/coderay/encoder.rb
Commit message (Collapse)AuthorAgeFilesLines
* cleanups, documentation for TokensProxyKornelius Kalnbach2011-09-211-1/+1
|
* Major rewrite of encoders to support IO output; fixed some minor scanner ↵Kornelius Kalnbach2011-08-191-1/+11
| | | | bugs; cleanups; dropped NitroXHTML scanner; improved tests
* coderay list subcommand and cleanups/fixes in Plugin helper (issue #45)murphy2011-06-251-3/+8
|
* Encoder refactoring to fix LOC and Statistic encodersmurphy2011-04-201-4/+4
|
* Code cleanup.murphy2010-11-211-30/+29
|
* Encoder changes: The base class now serves as a complete to_s encoder, ↵murphy2010-06-291-3/+2
| | | | | | concatenating all text tokens together. The Text encoder inherits this. Use Tokens#to_s to use this encoder. Also fixed an issue with automatically calculated FILE_EXTENSION being a symbol.
* Added Encoder#tokens, improved some error messages.murphy2010-06-011-3/+5
|
* Improved error message for unknown token content type.murphy2010-05-181-1/+1
|
* Got rid of the old streaming system (see #142).murphy2010-05-011-21/+7
|
* Direct Streaming! See #142 and Changes.textile.murphy2010-05-011-65/+52
|
* Cleanup, documentation.murphy2009-12-301-9/+13
|
* Minor speedup for Ruby 1.9.murphy2009-10-181-1/+3
|
* Added a Filter class; filters inherit from it and yield tokens.murphy2009-06-201-6/+7
| | | | | | | You can write something like this now: @CodeRay.scan('puts "Hello, world"! # secret', :ruby).token_filter(:exclude => [:comment]).div@
* * Improved implementation of Encoder *token callbacks.murphy2009-06-201-3/+22
| | | | | | | | * Documentation for these methods. * Added two new encoders: CommentFilter < TokenFilter. * Simplified Text encoder. * Code cleanup in HTML encoder subclasses.
* Fixes for Ruby 1.9.murphy2008-12-251-4/+9
|
* New: *Simple Diff Scanner* (closes #22).murphy2008-09-301-1/+5
| | | | | | | | | | | | | | * Highlights unified diffs, especially like the ones svn diff outputs. * Changes to make highlighting of whole lines were necessary. * I added two example files. More changes: * Added token classes :head, :delete, :insert, and :change along with styles. * Added two new special token types: :begin_line and :end_line. They mark token groups that explicitly span whole lines and should be highlighted as such. * The HTML encoder converts these new tokens to DIVs. May need more work. * The Debug Encoder uses square brackets for line tokens. * Some cleanups.
* Lib:murphy2008-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Encoder: removed a warning - Encoders::HTML: don't shadow outer variable - Plugin: move require_plugin into class namespace - Ruby Scanner: - "alias" keyword recognition - better regexp/division distinction - recognize ~, !, !=, and !~ as method names (partly Ruby 1.9 only) - reordered states for speed Tests: - updated coderay-suite to use gem instead of require_gem - general improvements (more colors!, new parameter: new, new syntax lang.test for only and new) - fixed ruby suite - adjusted a lot of Ruby tests (alias uses methods now) - new tests: ruby/operators, ruby/regexp Samples: - fixed/updated ('bout time) Rake tasks: - updated to use new rubygems API
* - Ruby 1.9 fixesmurphy2007-11-221-1/+2
| | | | | | - rake commands for jruby and rubinius - absolutized CodeRay::Tokens::ClassOfKind
* Benchmark, comparison: replaced SilverCity with pygmentsmurphy2007-04-241-8/+9
| | | | | | | A bit of code and documentation cleanup HTML encoder: fixed css class output for NO_HIGHLIGHT tokens when :info is set. Fixed Text encoder.
* Done:murphy2007-01-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | General: - Declared version 0.7.6. - Moved WordList, CaseIgnoringWordList, Plugin, PluginHost and FileType into CodeRay namespace. CodeRay should be "clean" now, except for the String#to_unix helper function. - Fixed a bit of documentation. - CodeRay binary: Prepare for streaming switch. Scanners: - Added code= alias for string=. - Added streaming? method: Is this Scanner in streaming mode? - Enhanced error info a bit. - Ruby scanner: - Highlights Regexp heredocs now. They may be added to Ruby 1.9. - Speedups with better support for Ruby 1.9. - Change in whitespace handling (faster and cleaner now.) - Speed up some operator recognition (saving two string comparisons). - Declared C and Plaintext Scanners as Streamable. Tokens: - Changed Text/Block token recognition (#is_a? ::String for Ruby 1.9 support). - New method: Tokens#text yields the code string. - text_size fixed. - Token kind shortcuts (like r for reserved) are now defined in token_classes.rb (instead of encoders/html/classes.rb). Encoders: - Debug Scanner added. - Base encoder class adds to @out when encoding (if @out is set). - A little Tokens scanner speedup. - Text encoder uses text_token. - Statistic encoder counts block tokens. - Smaller changes in XML and HTML encoders. Styles: - cYcnus style defines a debug class now. Duo: - scanner and encoder are now methods. Scanner and Encoder are created (and cached) when needed, not earlier. - Documented. Tests: - Disabled encoder and scanner list check (breaks too often). - Added identity test, which checks if tokens#text matches the input. - Added nocolor switch. Developer tools: - Benchmark uses Encoder#file_extension for output now. - Rakefile: Support for 19, 18, yarv and ruby switches for easy comparing different Ruby versions. - Statistic: Demos are no longer tests.
* Made CodeRay ready Ruby 1.9:murphy2006-10-171-1/+1
| | | | | | - tests failed because :symbol.is_a? String. - ...and Array#shuffle! is already built into Ruby 1.9
* rake test now runs in debug mode.murphy2006-07-111-173/+173
| | | | All .rb files converted to UNIX format (where did the \r come from?)
* Big re-indenting - no more tabs!murphy2006-07-101-170/+170
|
* Re-indented everything. Sorry to break the blame chain.murphy2006-04-161-2/+0
|
* Large update: Scanners for HTML, RHTML and Nitro-XHTML added.murphy2006-04-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | CSS style changes/enhancments (mainly the new background color for inline code, affects all Ruby code.) Demos and tests adjusted. Plugin: new PluginHost::default method. Scanner: - New setup method - ability to re-use a scanner - ability to keep the tokens - minor changes to token caching and string flattening Encoder: Error if token content is neither String nor Symbol. HTML encoder: - more warnings for unclosed tokens - output now UTF-8 Ruby Scanner: - bug: symbols before => now do not include =; {:foo=>bar} is valid Ruby code - try to close all open tokens - constants now all with specific namespace (for speed, I hope) Styles: new :entity/en class. Test suite now gives hinted HTML output.
* bench/bench.rb: Added SilverCity benchmarkingmurphy2005-11-051-1/+1
| | | | | | | | | | | | | | | | | demo/demo_load_encoder.rb enhanced demo/demo_load_scanner.rb added .outs added plugin.rb: Fixed load_all encoder.rb, scanner.rb adjusted helpers/word_list.rb: Fixed a bug in CaseIgnoringWordList.new TODO: Updated new ROADMAP coderay.rb: increased Version number added Version System documentation
* encoder.rb: Added Encoder#file_extensionmurphy2005-10-291-0/+5
| | | | | | | | | plugin.rb: #load_plugin --> #load; no more debug messages encoders/html.rb: Documentation; hint system; moved NUMERIZABLE_WRAPPINGS to html_output.rb encoders/helpers/html_output.rb: made stylesheet a method; disabled code cell hint; fixed inline numerizing encoders/debug.rb: changed extension to 'raydebug' etc folder added included etc/raydebug.vim for cool vim highlighting
* Two new encoders: debug and xml.murphy2005-10-041-4/+21
| | | | | | | | | | | | | | | | encoder.rb: new token handling encoders/statistic.rb: using new handling ruby_helper.rb: small improvements ruby.rb: - escapes in subtoken - Float detection changed - some multi-char operators are now scanned as one token - def and module definition handling changed bin/coderay: improved, new interface (still in progress) plugin.rb: more expressive load error message
* After merge with Plugin branch.murphy2005-09-291-82/+15
|
* Re-indented encoder.rb and scanner.rb.murphy2005-09-291-212/+214
|
* Still working on Documentation.murphy2005-09-281-2/+2
| | | | Rakefile: fixed a status message.
* refactoring: encoder.rb: using get_scanner_optionsmurphy2005-09-281-1/+1
|
* enhanced CodeRay interfacemurphy2005-09-281-1/+1
| | | | | updated demo_css.rb Rakefile: rdoc_small task added
* Added $Id$ keyword.no author2005-09-261-17/+23
|
* New Repository, initial importno author2005-09-261-0/+210