utils: make which_editor handle editor args.

Handle cases like e.g. `EDITOR="subl -w"`.
This commit is contained in:
Mike McQuaid 2017-04-24 08:49:11 +01:00
parent cfe2c3c900
commit 3e40059f8d
2 changed files with 12 additions and 3 deletions

View File

@ -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

View File

@ -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)