summaryrefslogtreecommitdiff
path: root/lib/coderay/helpers
Commit message (Collapse)AuthorAgeFilesLines
...
* Documentation: Added warning about WordList caching.murphy2009-12-301-4/+18
|
* Documentation.murphy2009-12-301-2/+4
|
* Made FileType work with Pathname (closes #118).murphy2009-10-201-3/+14
|
* Fixing Ruby 1.9 warnings.murphy2009-10-181-2/+2
|
* Adding .dpr, .pas and .rxml to FileType::TypeFromExt list.murphy2009-07-081-0/+3
| | | | | Thanks to 0xf30fc7 for the patch.
* New: Plugin.title (closes #96)murphy2009-06-091-0/+8
| | | | | | | The title saves the real name for a language, like "C++"...something that can't be deduced from the class name. And a version fix in the README.
* FIXED: CaseIgnoringWordList respects default value (closes #97).murphy2009-04-201-0/+1
| | | | | * Test cases added.
* New: *PHP and SQL Scanners*murphy2009-04-201-0/+5
| | | | | | | | * Both not well tested yet, preview versions. * Some example code for both languages. * PHP scanner original by Stefan Walk. * SQL scanner using code by Keith Pitt and Josh Goebel.
* New: *Python Scanner* (feature #41)murphy2009-04-141-14/+17
| | | | | | | | | | | | | | | | * Based on pygment's implementation. * The goal is to highlight both Python 2 and 3. ** print and exec will need special treatment. * Still needs work; see TODOs in the code. * Example files: PLEAC, pygments. ** The pygments.unistring code has very long lines which bother TextMate, so I put this one in a separate file. * Rating: 1 / 5 stars, "Poor support", because of problems with numeric literals. * Added .py, .pyw and .py3 to FileType. Else: * Sorted lines in FileType::TypeFromExt.
* Removed subversion $Id$ lines.murphy2009-02-201-2/+0
|
* Updated version number (to 0.9.0) and gem information.murphy2009-02-061-1/+1
|
* Plugin.helper can be used to load helpers from other plugins using the ↵murphy2009-01-131-1/+9
| | | | 'plugin/helper' syntax.
* New: *Groovy Scanner* (feature #60)murphy2009-01-131-0/+2
| | | | | | | | | | | * It inherits from Java Scanner, re-using some constants. * Thanks to Stefan Weinmann for helping me with Groovy. * PLEAC code used for testing. * Some issues with remain with strings and regexps. * Rating: 2 / 5 stars, "Basic support" * Added .groovy and .gvy to FileType. * CodeRay now supports a language that pygments doesn't support ;-)
* Made plugin ids case-insensitive.murphy2009-01-011-1/+1
| | | | | With this change, upper case lang names are allowed like 'C'.
* New: *YAML* (#53). Preparing for version 0.8.1.murphy2008-10-201-0/+5
| | | | | | | | | | | | | | * Based on the YAML scanner from Jamis Buck's Syntax lib. * Some YAML examples from Ruby gems. * Doesn't handle string yet; alpha state. More changes: * coderay_suite: new parameter "fast" makes testing faster (for development). * Changed the title of HTML page output (Page Encoder). * FileType: Added new file types. * cYcnus style: simplified some token group styles. * Cleanup in CSS and HTML Scanners.
* New: *Java Scanner* (closes #42).murphy2008-09-212-4/+8
| | | | | | | | | | | | | | | | | | | * Based on JavaScript, does a good job, but may need more polish. * Java::BuiltinTypes::List is a helper constant that contains 2389 Java types. ** The list was generated from TextMate's Java bundle with the help of SimpleRegexpScanner. * I added the JRuby core classes as example code for testing (1.8 MB) JavaScript Scanner: * Fixed recognition of floats and algebraic signs. ** Still needs work - we need to distinguish i-1 from i+-1. More changes: * New: "SimpleRegexpScanner":http://murfy.de/simple-regexp-scanner * Added new token class :annotation along with CSS styles. ** Should be useful for Python, too. * coderay_suite warns if no scanner was found for this language. * PluginHost#default can be called without parameter (will return default id)
* New: *JavaScript Scanner* (closes #23).murphy2008-09-161-0/+1
| | | | | | | | | | | * It's quite good and fast, but still a beta. * I included Prototype and script.aculo.us as example code for testing. More changes: * Added two new token classes, :keyword and :key, along with CSS styles. ** Actually, we should use :keyword for most scanners that now use :reserved. * HTML Encoder: The CSS parser understands multiple selectors separated by commas.
* Fixed FileType: .html.erb is now recognized as rhtml.murphy2008-08-111-3/+5
|
* Lib:murphy2008-01-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Fixed FileType shebang recognition for empty files. [Jeremy Hinegardner]murphy2007-11-221-5/+24
|
* Benchmark, comparison: replaced SilverCity with pygmentsmurphy2007-04-241-4/+1
| | | | | | | A bit of code and documentation cleanup HTML encoder: fixed css class output for NO_HIGHLIGHT tokens when :info is set. Fixed Text encoder.
* New Scanner: Scheme (thanks closure!)murphy2007-01-011-0/+3
| | | | | | | | | | | | | | | Test and example added. Token changed: operator_fat instead of operator_name (for use with LISP-like parentheses). Added file_extension for Scanners. Improved CodeRay::Suite: - uses scanners file extension now - example parameter is now named "only" - only param overwrite MAX_CODE_SIZE_TO_HIGHLIGHT
* Done:murphy2007-01-014-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Renamed filetype.rb to file_type.rb.murphy2006-10-201-0/+0
|
* WordList:murphy2006-10-202-36/+51
| | | | | | | | | | - fixed a bad bug (CaseIgnoringWordList wasn't case ignoring!) - code and doc cleanup - optional caching added - interface minimized (no more WordList.for) FileType: - added raybedug type (see next commits)
* Declared Version 0.7.4!murphy2006-10-171-3/+3
| | | | | | Plugin#all_plugin_names is now called #list. Added some basic functional tests and adjusted statistic.rake.
* Tests:murphy2006-10-154-734/+734
| | | | | | | | | | | | | | | | - improved coderay_suite.rb (random and shuffled tests, max parameter, scannerlang->lang, sorted test cases...) - changed html output extension to .actual.html to svn:ignore them - fixed some tests (deleted $Id$ etc.) - made XHTML testcase work Scanners: - fixed HTML, Delphi and Nitro scanners thanks to new tests Engine: - Tokens#fix and #fix! added (yet to be tested) - improved Scanner#raise_inspect a bit Converted more files to UNIX format (go away, stinkin' \r!)
* Changed error handling of all scanners: :error tokens are OK now, even in ↵murphy2006-07-111-9/+9
| | | | | | | | | | | | | debug mode, but token kind is nil unless assigned. Small fixes for C and Ruby scanners. Renamed local variable type to kind in Ruby scanner. Improved RHTML scanner to recognize -%> as delimiter. HTML encoder: improved handling of malformed token strings. Fixed PluginHost#inspect including docu. Scanner#raise_inspect also shows state if given.
* Big re-indenting - no more tabs!murphy2006-07-104-564/+561
|
* Fix:murphy2006-06-281-1/+1
| | | | | | | | | | | | | | HTML Scanner: Fixed a nasty bug with invalid entities. Thanks to Daniel Bovensiepen. Scanner: added Scanner.normify. Plugin: small documentation fix. Code statistic: added lib root folder rake_helpers/code_statistics.rb: added ability to include non-Ruby code in the statistics used it to count the mountain of test data There is some mixed space/tab indentation now. Complete 2-space-re-indentation will follow.
* new version: 0.7.1murphy2006-05-111-1/+1
| | | | | | | improved bin/coderay and included it into package added gem:install task added Duo#highlight (alias for encode) fixed a Plugin bug
* New Version: 0.7.0!murphy2006-04-192-15/+51
| | | | | | | | | | | Adjusted gem.rake. HTML scanner fixed. Enhanced filetype.rb: .rake files, xml, yaml (preparing for YAML scanner.) Enhanced test/ruby/1.in.rb. Added XML scanner with example. plugin.rb: made all_plugin_names public.
* Re-indented everything. Sorry to break the blame chain.murphy2006-04-162-2/+2
|
* Large update: Scanners for HTML, RHTML and Nitro-XHTML added.murphy2006-04-101-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* WordList is now a first-class Class independent from CodeRay.murphy2006-02-201-95/+94
| | | | | I used it in my HTMLParser, so it became WordList instead of CodeRay::Scanners::Scanner::WordList. Some functionality was added and changed, too. Speed should be the same.
* plugin.rb: _map loading now without exceptions (doesn't produce rubygem ↵murphy2006-02-201-4/+5
| | | | | | warnings) test/ruby/quotes: second test case added
* Plugin documentation updated.murphy2005-12-131-0/+11
|
* scanners/ruby/patterns.rb:murphy2005-12-111-1/+1
| | | | | | | | Changed recognition of numerics + and - prefixes now belong to the number. tests and demos adjusted. helpers/plugin.rb: Typo in doc.
* Plugin System extended:murphy2005-12-101-55/+17
| | | | | | | | | | - helper method - path names are expanded encoders/html.rb, div.rb, span.rb, ruby.rb: - using new methods (fixes problems with rdoc and test tasks): renamed scanners/ruby/helper.rb to patterns.rb encoders/statistic.rb: sorting made deterministic (for unit testing)
* Some fixes for cYcnus style (capital Y makes problems)murphy2005-12-051-2/+2
| | | | | Fixes in the coderay_rdoc_template.
* plugin.rb cleanupmurphy2005-11-101-75/+82
| | | | | ROADMAP and TODO updated
* helpers/plugin.rb: New plugin mapping systemmurphy2005-11-061-2/+36
| | | | | | _maps added; demos adjusted TODO updated
* bench/bench.rb: Added SilverCity benchmarkingmurphy2005-11-052-3/+13
| | | | | | | | | | | | | | | | | 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
* helpers/word_list.rb: enhanced doc a bit.murphy2005-11-051-0/+8
|
* helpers/word_list.rb:murphy2005-11-051-35/+27
| | | | | | | | new CaseIgnoringWordList class simplified implementation Performance gain should be small. Adjusted scanner.rb and scanners/delphi.rb
* scanner_helper.rb --> word_list.rbmurphy2005-11-051-0/+0
|
* scanner_helper.rb: more doc, re-indentedmurphy2005-11-051-59/+103
|
* encoder.rb: Added Encoder#file_extensionmurphy2005-10-291-3/+3
| | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | 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
* Demos updated, rewritten, enhanced, tested.murphy2005-10-011-110/+109
| | | | | | | | | | | | | | | | | Some code cleanups. Bugs fixed, scanner and encoder improved: count.rb: marked Streamable html_css.rb: style for inline numbers html.rb: changed options; :line_numbers_offset is now :line_number_start html_output.rb: offset for inline numbers fixed html.rb: token text no longer changed by gsub! while highlighting (this is even faster!) text.rb, plugin.rb: reindented ruby.rb: eleminated multiple assignments for speed tokens.rb: reindented, Tokens#to_s added, #<< returns self Plugin system: bugs fixed, error messages improved.