class Nanoc::Filters::ColorizeSyntax::Colorizers::SimonHighlightColorizer

Constants

SIMON_HIGHLIGHT_OPT_MAP

Public Instance Methods

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

  cmd = ['highlight', '--syntax', language, '--fragment']
  params.each_key do |key|
    if SIMON_HIGHLIGHT_OPT_MAP[key]
      cmd << SIMON_HIGHLIGHT_OPT_MAP[key]
    else
      # TODO: allow passing other options
      case key
      when :style
        cmd << '--style' << params[:style]
      end
    end
  end

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