diff options
| author | scoates | 2009-09-05 14:03:41 -0400 |
|---|---|---|
| committer | Max Howell | 2009-09-05 19:10:56 +0100 |
| commit | e23a612c4d3d4771e43873fef4bb4281ea6cc7da (patch) | |
| tree | 12e6c3dbbfa1eaa608d77cab18f722def214207a | |
| parent | 4d25f7bd13f3b4a4c527593e73de61b531756d28 (diff) | |
| download | homebrew-e23a612c4d3d4771e43873fef4bb4281ea6cc7da.tar.bz2 | |
Use ENV[EDITOR] if possible
Defaulting to EDITOR, then checking for the mate command, and then using
vim as a last resort.
Signed Off By: Max Howell <max@methylblue.com>
Plain brew edit still uses Textmate though because a client that
supported a project concept is required for that particular feature.
Patches for that welcome.
| -rw-r--r-- | Library/Homebrew/utils.rb | 12 | ||||
| -rwxr-xr-x | bin/brew | 11 |
2 files changed, 19 insertions, 4 deletions
diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 8bd2537e5..0dd26d49b 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -80,3 +80,15 @@ def puts_columns items, cols = 4 width=`stty size`.chomp.split(" ").last IO.popen("pr -#{cols} -t", "w"){|io| io.write(items) } end + +def exec_editor *args + editor=ENV['EDITOR'] + if editor.nil? + if system "which -s mate" and $?.success? + editor='mate' + else + editor='vim' + end + end + exec editor, *args +end @@ -34,7 +34,7 @@ end if Hardware.cpu_type == :ppc or Hardware.cpu_type == :dunno abort "Sorry, Homebrew does not support your computer's CPU architecture." end -unless system "which gcc-4.2 &> /dev/null" and $?.success? +unless system "which -s gcc-4.2" and $?.success? abort "Sorry, Homebrew requires gcc 4.2, which is provided by Xcode 3.1" end @@ -66,11 +66,14 @@ begin when 'edit' if ARGV.named_empty? - exec "mate", *Dir["#{HOMEBREW_PREFIX}/Library/*"]<< + # EDITOR isn't a good fit here, we need a GUI client that actually has + # a UI for projects, so apologies if this wasn't what you expected, + # please improve it! :) + exec 'mate', *Dir["#{HOMEBREW_PREFIX}/Library/*"]<< "#{HOMEBREW_PREFIX}/bin/brew"<< "#{HOMEBREW_PREFIX}/README" else - exec "mate", *ARGV.formulae.collect {|f| f.path} + exec_editor *ARGV.formulae.collect {|f| f.path} end when 'install' @@ -179,7 +182,7 @@ begin if ARGV.include? '--macports' exec "open", "http://www.macports.org/ports.php?by=name&substr=#{ARGV.next}" else - exec "mate", *ARGV.collect {|name| make name} + exec_editor *ARGV.collect {|name| make name} end when 'diy', 'configure' |
