# frozen_string_literal: true module Mina module Helpers module Output def print_line(line) case line when /^-+> (.*?)$/ print_status Regexp.last_match[1] when /^! (.*?)$/ print_error Regexp.last_match[1] when /^\$ (.*?)$/ print_command Regexp.last_match[1] else print_stdout line end end def print_status(msg) puts "#{color('----->', 32)} #{msg}" end def print_error(msg) puts " #{color('!', 33)} #{color(msg, 31)}" end def print_stderr(msg) if msg =~ /I, \[/ # fix for asset precompile print_stdout msg else puts " #{color(msg, 31)}" end end def print_command(msg) puts " #{color('$', 36)} #{color(msg, 36)}" end def print_info(msg) puts " #{color(msg, 96)}" end def print_stdout(msg) puts " #{msg}" end def color(str, color) ENV['NO_COLOR'] ? str : "\033[#{color}m#{str}\033[0m" end end end end