module Rabbit::Parser::Ext::Rouge

Public Instance Methods

highlight(lang, text, logger) click to toggle source
# File lib/rabbit/parser/ext/rouge.rb, line 29
def highlight(lang, text, logger)
  lexer = ::Rouge::Lexer.find(lang).new
  formatter = RabbitFormatter.new
  block = Element::SyntaxHighlightingBlock.new
  text_container = Element::TextContainer.new
  formatter.format(lexer.lex(text.strip)) do |element|
    text_container << element
  end
  block << text_container
  block
end