class Nanoc::Filters::ColorizeSyntax::Colorizers::PygmentizeColorizer

Public Instance Methods

process(code, language, params = {}) click to toggle source
# File lib/nanoc/filters/colorize_syntax/colorizers.rb, line 59
def process(code, language, params = {})
  check_availability('pygmentize', '-V')

  params[:encoding] ||= 'utf-8'
  params[:nowrap] ||= 'True'

  cmd = ['pygmentize', '-l', language, '-f', 'html']
  cmd << '-O' << params.map { |k, v| "#{k}=#{v}" }.join(',') unless params.empty?

  TTY::Command.new(printer: :null).run(*cmd, input: code).out
end