CodeRay is a Ruby library for syntax highlighting.
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 wants to have on their website
- solves all your problems and makes the girls run after you
gem install coderay
CodeRay needs Ruby 1.8.7+ or 1.9.2+. It also runs on Rubinius and JRuby.
require 'coderay'
html = CodeRay.scan("puts 'Hello, world!'", :ruby).div(:line_numbers => :table)
See http://coderay.rubychan.de/doc/.
- 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.
- Caleb Clausen for writing 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 — 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 http://www.rubyforen.de and http://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 http://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
- 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?
- Ruby
- Chihiro (my Sony VAIO laptop); Henrietta (my old MacBook); Triella, born Rico (my new MacBook); as well as Seras and Hikari (my PCs)
- RDE, VIM and TextMate
- Subversion
- Redmine
- Firefox, Firebug, Safari, and Thunderbird
- RubyGems and Rake
- TortoiseSVN using Apache via XAMPP
- RDoc (though I’m quite unsatisfied with it)
- Microsoft Windows (yes, I confess!) and MacOS X
- GNUWin32, MinGW and some other tools to make the shell under windows a bit less useless
- Term::ANSIColor
- PLEAC code examples
- Github
- Travis CI
- 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 :)