diff options
| author | Mike McQuaid | 2017-04-24 08:49:11 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2017-04-24 08:49:11 +0100 |
| commit | 3e40059f8d6cace0a2b8fa0c98e8f05bf13a3811 (patch) | |
| tree | 7825e3d651caabc1b7f9f60855b545e7a1a84187 /Library/Homebrew | |
| parent | cfe2c3c9007ae919267eb0767ef84c27748829c4 (diff) | |
| download | brew-3e40059f8d6cace0a2b8fa0c98e8f05bf13a3811.tar.bz2 | |
utils: make which_editor handle editor args.
Handle cases like e.g. `EDITOR="subl -w"`.
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/test/utils_spec.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/utils.rb | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/Library/Homebrew/test/utils_spec.rb b/Library/Homebrew/test/utils_spec.rb index 5f370a040..ffaa1f493 100644 --- a/Library/Homebrew/test/utils_spec.rb +++ b/Library/Homebrew/test/utils_spec.rb @@ -191,7 +191,7 @@ describe "globally-scoped helper methods" do ENV["HOMEBREW_EDITOR"] = "vemate" ENV["HOMEBREW_PATH"] = dir - editor = dir/"vemate" + editor = "#{dir}/vemate" FileUtils.touch editor FileUtils.chmod 0755, editor diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 82bc38895..5e0ad5916 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -321,7 +321,16 @@ end def which_editor editor = ENV.values_at("HOMEBREW_EDITOR", "VISUAL").compact.reject(&:empty?).first - return which(editor, ENV["HOMEBREW_PATH"]) unless editor.nil? + if editor + editor_name, _, editor_args = editor.partition " " + editor_path = which(editor_name, ENV["HOMEBREW_PATH"]) + editor = if editor_args.to_s.empty? + editor_path.to_s + else + "#{editor_path} #{editor_args}" + end + return editor + end # Find Textmate editor = which("mate", ENV["HOMEBREW_PATH"]) @@ -338,7 +347,7 @@ def which_editor or HOMEBREW_EDITOR to your preferred text editor. EOS - editor + editor.to_s end def exec_editor(*args) |
