README

Path: lib/README
Last Update: Sun Apr 15 18:18:21 +0000 2018

CodeRay

[- Tired of blue‘n‘gray? Try the original version of this documentation on coderay.rubychan.de (use Ctrl+Click to open it in its own frame.) -]

About

CodeRay is a Ruby library for syntax highlighting.

Syntax highlighting means: You put your code in, and you get it back colored; Keywords, strings, floats, comments - all in different colors. And with line numbers.

Syntax Highlighting

  • makes code easier to read and maintain
  • lets you detect syntax errors faster
  • helps you to understand the syntax of a language
  • looks nice
  • is what everybody should have on their website
  • solves all your problems and makes the girls run after you

Version: 0.9.8

Author:murphy (Kornelius Kalnbach)
Contact:murphy rubychan de
Website:coderay.rubychan.de
License:GNU LGPL; see LICENSE file in the main directory.

Installation

You need RubyGems.

 % gem install coderay

Dependencies

CodeRay needs Ruby 1.8.6 or later. It also runs with Ruby 1.9.1+ and JRuby 1.1+.

Example Usage

(Forgive me, but this is not highlighted.)

 require 'coderay'

 tokens = CodeRay.scan "puts 'Hello, world!'", :ruby
 page = tokens.html :line_numbers => :inline, :wrap => :page
 puts page

Documentation

See CodeRay.

Please report errors in this documentation to <murphy rubychan de>.

Credits

Special Thanks to

  • licenser (Heinz N. Gies) for ending my QBasic career, inventing the Coder project and the input/output plugin system. CodeRay would not exist without him.
  • bovi (Daniel Bovensiepen) for helping me out on various occasions.

Thanks to

  • Caleb Clausen for writing RubyLexer (see rubyforge.org/projects/rubylexer) and lots of very interesting mail traffic
  • birkenfeld (Georg Brandl) and mitsuhiku (Arnim Ronacher) for PyKleur, now pygments. You guys rock!
  • Jamis Buck for writing Syntax (see rubyforge.org/projects/syntax) I got some useful ideas from it.
  • Doug Kearns and everyone else who worked on ruby.vim - it not only helped me coding CodeRay, but also gave me a wonderful target to reach for the Ruby scanner.
  • everyone who uses CodeBB on www.rubyforen.de and www.python-forum.de
  • iGEL, magichisoka, manveru, WoNáDo and everyone I forgot from rubyforen.de
  • Dethix from ruby-mine.de
  • zickzackw
  • Dookie (who is no longer with us…) and Leonidas from www.python-forum.de
  • Andreas Schwarz for finding out that CaseIgnoringWordList was not case ignoring! Such things really make you write tests.
  • closure for the first version of the Scheme scanner.
  • Stefan Walk for the first version of the JavaScript and PHP scanners.
  • Josh Goebel for another version of the JavaScript scanner, a SQL and a Diff scanner.
  • Jonathan Younger for pointing out the licence confusion caused by wrong LICENSE file.
  • Jeremy Hinegardner for finding the shebang-on-empty-file bug in FileType.
  • Charles Oliver Nutter and Yehuda Katz for helping me benchmark CodeRay on JRuby.
  • Andreas Neuhaus for pointing out a markup bug in coderay/for_redcloth.
  • 0xf30fc7 for the FileType patch concerning Delphi file extensions.
  • The folks at redmine.org - thank you for using and fixing CodeRay!
  • Keith Pitt for his SQL scanners
  • Rob Aldred for the terminal encoder
  • Trans for pointing out $DEBUG dependencies
  • Flameeyes for finding that Term::ANSIColor was obsolete
  • Etienne Massip for reporting a serious bug in JavaScript scanner
  • matz and all Ruby gods and gurus
  • The inventors of: the computer, the internet, the true color display, HTML & CSS, VIM, Ruby, pizza, microwaves, guitars, scouting, programming, anime, manga, coke and green ice tea.

Where would we be without all those people?

Created using

Free

  • As you can see, CodeRay was created under heavy use of free software.
  • So CodeRay is also free.
  • If you use CodeRay to create software, think about making this software free, too.
  • Thanks :)

[Validate]