From c2c21edae4f71dbc64eef6e4d0b53991248f1aab Mon Sep 17 00:00:00 2001 From: Jonas Pfenniger Date: Sat, 1 Jan 2011 00:49:05 +0000 Subject: [PATCH] brew up: star installed formulae When running `brew up`, if a mentioned formulae is also installed, it will get a wildcard start at the end. It makes it easier to see if any installed formulae is impacted. Signed-off-by: Adam Vandenberg --- Library/Homebrew/cmd/update.rb | 12 ++++++++---- Library/Homebrew/utils.rb | 6 +++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb index 32f144c8ee..b5492e9c10 100644 --- a/Library/Homebrew/cmd/update.rb +++ b/Library/Homebrew/cmd/update.rb @@ -29,11 +29,12 @@ class RefreshBrew UPDATED_EXAMPLE = %r{^\s+#{example_regexp}} DELETED_EXAMPLE = %r{^\s+delete mode \d+ #{example_regexp}$} - attr_reader :added_formulae, :updated_formulae, :deleted_formulae, :initial_revision + attr_reader :added_formulae, :updated_formulae, :deleted_formulae, :installed_formulae attr_reader :added_examples, :updated_examples, :deleted_examples + attr_reader :initial_revision def initialize - @added_formulae, @updated_formulae, @deleted_formulae = [], [], [] + @added_formulae, @updated_formulae, @deleted_formulae, @installed_formulae = [], [], [], [] @added_examples, @updated_examples, @deleted_examples = [], [], [] @initial_revision = self.current_revision end @@ -73,6 +74,9 @@ class RefreshBrew @added_examples.sort! @updated_examples.sort! @deleted_examples.sort! + @installed_formulae = HOMEBREW_CELLAR.children. + select{ |pn| pn.directory? }. + map{ |pn| pn.basename.to_s }.sort output.strip != GIT_UP_TO_DATE end @@ -117,12 +121,12 @@ class RefreshBrew ## Deleted Formulae if deleted_formulae? ohai "The following formulae were removed:" - puts_columns deleted_formulae + puts_columns deleted_formulae, installed_formulae end ## Updated Formulae if pending_formulae_changes? ohai "The following formulae were updated:" - puts_columns updated_formulae + puts_columns updated_formulae, installed_formulae else puts "No formulae were updated." end diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 8a297f0530..ca633c5218 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -97,9 +97,13 @@ def curl *args safe_system '/usr/bin/curl', '-f#LA', HOMEBREW_USER_AGENT, *args unless args.empty? end -def puts_columns items +def puts_columns items, star_items=[] return if items.empty? + if star_items && star_items.any? + items = items.map{|item| star_items.include?(item) ? "#{item}*" : item} + end + if $stdout.tty? # determine the best width to display for different console sizes console_width = `/bin/stty size`.chomp.split(" ").last.to_i