module Gemdiff::Colorize

Constants

COLORS

Public Instance Methods

colorize(string, color) click to toggle source
# File lib/gemdiff/colorize.rb, line 34
def colorize(string, color)
  "\e[#{to_color_code(color)}m#{string}\e[0m"
end
colorize_git_output(lines) click to toggle source

works with ‘git show` and `git diff`

# File lib/gemdiff/colorize.rb, line 15
def colorize_git_output(lines)
  out = lines.split("\n").map do |line|
    if line.start_with?("---", "+++", "diff", "index")
      colorize line, :blue
    elsif line.start_with?("@@")
      colorize line, :magenta
    elsif line.start_with?("commit")
      colorize line, :yellow
    elsif line.start_with?("-")
      colorize line, :red
    elsif line.start_with?("+")
      colorize line, :green
    else
      line
    end
  end
  out.join("\n")
end

Private Instance Methods

to_color_code(color) click to toggle source
# File lib/gemdiff/colorize.rb, line 40
def to_color_code(color)
  COLORS[color] || 30
end