class Chef::Knife::EnvironmentCompare

def matrix_output(cookbooks, constraints)

def matrix_output(cookbooks, constraints)
  rows = [ "" ]
  environments = []
  constraints.each_key { |e| environments << e.to_s }
  columns = environments.count + 1
  environments.each { |env| rows << ui.color(env, :bold) }
  cookbooks.each_key do |c|
    total = []
    environments.each { |n| total << constraints[n][c] }
    if total.uniq.count == 1
      next if config[:mismatch]
      color = :white
    else
      color = :yellow
    end
    rows << ui.color(c, :bold)
    environments.each do |e|
      tag = constraints[e][c] || "latest"
      rows << ui.color(tag, color)
    end
  end
  ui.list(rows, :uneven_columns_across, columns)
end