diff options
Diffstat (limited to 'Library/Homebrew/utils.rb')
| -rw-r--r-- | Library/Homebrew/utils.rb | 97 |
1 files changed, 12 insertions, 85 deletions
diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 58083fe1b..8d91c15c0 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -1,6 +1,7 @@ require "pathname" require "emoji" require "exceptions" +require "utils/formatter" require "utils/hash" require "utils/json" require "utils/inreplace" @@ -10,85 +11,11 @@ require "utils/git" require "utils/analytics" require "utils/github" require "utils/curl" - -class Tty - class << self - def strip_ansi(string) - string.gsub(/\033\[\d+(;\d+)*m/, "") - end - - def blue - bold 34 - end - - def white - bold 39 - end - - def magenta - bold 35 - end - - def red - underline 31 - end - - def yellow - underline 33 - end - - def reset - escape 0 - end - - def em - underline 39 - end - - def green - bold 32 - end - - def gray - bold 30 - end - - def highlight - bold 39 - end - - def width - `/usr/bin/tput cols`.strip.to_i - end - - def truncate(str) - w = width - w > 10 ? str.to_s[0, w - 4] : str - end - - private - - def color(n) - escape "0;#{n}" - end - - def bold(n) - escape "1;#{n}" - end - - def underline(n) - escape "4;#{n}" - end - - def escape(n) - "\033[#{n}m" if $stdout.tty? - end - end -end +require "utils/tty" def ohai(title, *sput) title = Tty.truncate(title) if $stdout.tty? && !ARGV.verbose? - puts "#{Tty.blue}==>#{Tty.white} #{title}#{Tty.reset}" + puts Formatter.headline(title, color: :blue) puts sput end @@ -96,16 +23,16 @@ def oh1(title, options = {}) if $stdout.tty? && !ARGV.verbose? && options.fetch(:truncate, :auto) == :auto title = Tty.truncate(title) end - puts "#{Tty.green}==>#{Tty.white} #{title}#{Tty.reset}" + puts Formatter.headline(title, color: :green) end # Print a warning (do this rarely) -def opoo(warning) - $stderr.puts "#{Tty.yellow}Warning#{Tty.reset}: #{warning}" +def opoo(message) + $stderr.puts Formatter.warning(message, label: "Warning") end -def onoe(error) - $stderr.puts "#{Tty.red}Error#{Tty.reset}: #{error}" +def onoe(message) + $stderr.puts Formatter.error(message, label: "Error") end def ofail(error) @@ -171,9 +98,9 @@ def pretty_installed(f) if !$stdout.tty? f.to_s elsif Emoji.enabled? - "#{Tty.highlight}#{f} #{Tty.green}#{Emoji.tick}#{Tty.reset}" + "#{Tty.bold}#{f} #{Formatter.success(Emoji.tick)}#{Tty.reset}" else - "#{Tty.highlight}#{Tty.green}#{f} (installed)#{Tty.reset}" + Formatter.success("#{Tty.bold}#{f} (installed)#{Tty.reset}") end end @@ -181,9 +108,9 @@ def pretty_uninstalled(f) if !$stdout.tty? f.to_s elsif Emoji.enabled? - "#{f} #{Tty.red}#{Emoji.cross}#{Tty.reset}" + "#{Tty.bold}#{f} #{Formatter.error(Emoji.cross)}#{Tty.reset}" else - "#{Tty.red}#{f} (uninstalled)#{Tty.reset}" + Formatter.error("#{Tty.bold}#{f} (uninstalled)#{Tty.reset}") end end |
