From 46d344c0d10d8668d1c3cd41baa19daf3f96034f Mon Sep 17 00:00:00 2001 From: William Ma Date: Fri, 19 Jun 2020 11:46:33 -0400 Subject: [PATCH] home: print message when formula is not found --- Library/Homebrew/cmd/home.rb | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/cmd/home.rb b/Library/Homebrew/cmd/home.rb index 4cdfa68d9a..cc6f2a780d 100644 --- a/Library/Homebrew/cmd/home.rb +++ b/Library/Homebrew/cmd/home.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true require "cli/parser" +require "cask/cask_loader" +require "cask/exceptions" module Homebrew module_function @@ -23,7 +25,21 @@ module Homebrew if args.no_named? exec_browser HOMEBREW_WWW else - exec_browser(*args.formulae_and_casks.map(&:homepage)) + homepages = args.named.flat_map do |name| + begin + [Formulary.factory(name).homepage] + rescue FormulaUnavailableError => e + puts e.message + begin + cask = Cask::CaskLoader.load(name) + puts "Found a cask named \"#{name}\" instead." + [cask.homepage] + rescue Cask::CaskUnavailableError + [] + end + end + end + exec_browser *homepages end end end