Module: Rouge

Defined in:
lib/rouge.rb,
lib/rouge/cli.rb,
lib/rouge/util.rb,
lib/rouge/lexer.rb,
lib/rouge/theme.rb,
lib/rouge/token.rb,
lib/rouge/version.rb,
lib/rouge/lexers/c.rb,
lib/rouge/lexers/r.rb,
lib/rouge/formatter.rb,
lib/rouge/lexers/go.rb,
lib/rouge/lexers/io.rb,
lib/rouge/lexers/vb.rb,
lib/rouge/lexers/cpp.rb,
lib/rouge/lexers/css.rb,
lib/rouge/lexers/erb.rb,
lib/rouge/lexers/ini.rb,
lib/rouge/lexers/lua.rb,
lib/rouge/lexers/php.rb,
lib/rouge/lexers/qml.rb,
lib/rouge/lexers/sed.rb,
lib/rouge/lexers/sml.rb,
lib/rouge/lexers/sql.rb,
lib/rouge/lexers/tcl.rb,
lib/rouge/lexers/tex.rb,
lib/rouge/lexers/xml.rb,
lib/rouge/lexers/conf.rb,
lib/rouge/lexers/diff.rb,
lib/rouge/lexers/haml.rb,
lib/rouge/lexers/html.rb,
lib/rouge/lexers/http.rb,
lib/rouge/lexers/java.rb,
lib/rouge/lexers/llvm.rb,
lib/rouge/lexers/make.rb,
lib/rouge/lexers/perl.rb,
lib/rouge/lexers/ruby.rb,
lib/rouge/lexers/rust.rb,
lib/rouge/lexers/sass.rb,
lib/rouge/lexers/scss.rb,
lib/rouge/lexers/toml.rb,
lib/rouge/lexers/viml.rb,
lib/rouge/lexers/yaml.rb,
lib/rouge/regex_lexer.rb,
lib/rouge/lexers/nginx.rb,
lib/rouge/lexers/ocaml.rb,
lib/rouge/lexers/scala.rb,
lib/rouge/lexers/shell.rb,
lib/rouge/lexers/swift.rb,
lib/rouge/lexers/csharp.rb,
lib/rouge/lexers/elixir.rb,
lib/rouge/lexers/erlang.rb,
lib/rouge/lexers/factor.rb,
lib/rouge/lexers/groovy.rb,
lib/rouge/lexers/matlab.rb,
lib/rouge/lexers/prolog.rb,
lib/rouge/lexers/puppet.rb,
lib/rouge/lexers/python.rb,
lib/rouge/lexers/racket.rb,
lib/rouge/lexers/scheme.rb,
lib/rouge/text_analyzer.rb,
lib/rouge/themes/base16.rb,
lib/rouge/themes/github.rb,
lib/rouge/lexers/clojure.rb,
lib/rouge/lexers/gherkin.rb,
lib/rouge/lexers/haskell.rb,
lib/rouge/template_lexer.rb,
lib/rouge/themes/monokai.rb,
lib/rouge/formatters/html.rb,
lib/rouge/formatters/null.rb,
lib/rouge/lexers/markdown.rb,
lib/rouge/themes/colorful.rb,
lib/rouge/lexers/smalltalk.rb,
lib/rouge/lexers/handlebars.rb,
lib/rouge/lexers/javascript.rb,
lib/rouge/lexers/moonscript.rb,
lib/rouge/lexers/plain_text.rb,
lib/rouge/lexers/properties.rb,
lib/rouge/plugins/redcarpet.rb,
lib/rouge/lexers/common_lisp.rb,
lib/rouge/lexers/objective_c.rb,
lib/rouge/lexers/sass/common.rb,
lib/rouge/lexers/apple_script.rb,
lib/rouge/lexers/coffeescript.rb,
lib/rouge/lexers/lua/builtins.rb,
lib/rouge/lexers/php/builtins.rb,
lib/rouge/lexers/viml/keywords.rb,
lib/rouge/themes/thankful_eyes.rb,
lib/rouge/formatters/terminal256.rb,
lib/rouge/lexers/matlab/builtins.rb,
lib/rouge/themes/monokai_sublime.rb,
lib/rouge/lexers/gherkin/keywords.rb,
lib/rouge/lexers/literate_haskell.rb,
lib/rouge/lexers/literate_coffeescript.rb

Overview

automatically generated by ‘rake builtins:gherkin`

Defined Under Namespace

Modules: Formatters, HasModes, Indentation, Lexers, Plugins, Themes Classes: CLI, CSSTheme, FileReader, Formatter, InheritableHash, InheritableList, Lexer, RegexLexer, TemplateLexer, TextAnalyzer, Theme, Token

Class Method Summary collapse

Class Method Details

.highlight(text, lexer, formatter, &b) ⇒ Object

Highlight some text with a given lexer and formatter.

Examples:

Rouge.highlight('@foo = 1', 'ruby', 'html')
Rouge.highlight('var foo = 1;', 'js', 'terminal256')

# streaming - chunks become available as they are lexed
Rouge.highlight(large_string, 'ruby', 'html') do |chunk|
  $stdout.print chunk
end


19
20
21
22
23
24
25
26
27
# File 'lib/rouge.rb', line 19

def highlight(text, lexer, formatter, &b)
  lexer = Lexer.find(lexer) unless lexer.respond_to? :lex
  raise "unknown lexer #{lexer}" unless lexer

  formatter = Formatter.find(formatter) unless formatter.respond_to? :format
  raise "unknown formatter #{formatter}" unless formatter

  formatter.format(lexer.lex(text), &b)
end

.versionObject



4
5
6
# File 'lib/rouge/version.rb', line 4

def self.version
  "1.5.1"
end