diff --git a/Library/Homebrew/cask/lib/hbc/cli/info.rb b/Library/Homebrew/cask/lib/hbc/cli/info.rb index 0957ba4fd02937726181496e6fa5e4dcb6b70c2b..be6feb63b2fefb867238bcada1ec0f64c36aa692 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/info.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/info.rb @@ -20,7 +20,7 @@ module Hbc puts "#{cask.token}: #{cask.version}" puts Formatter.url(cask.homepage) if cask.homepage installation_info(cask) - puts "From: #{Formatter.url(github_info(cask))}" if github_info(cask) + puts "From: #{Formatter.url(repo_info(cask))}" if repo_info(cask) name_info(cask) artifact_info(cask) Installer.print_caveats(cask) @@ -50,9 +50,11 @@ module Hbc puts cask.name.empty? ? Formatter.error("None") : cask.name end - def self.github_info(cask) + def self.repo_info(cask) user, repo, token = QualifiedToken.parse(Hbc.all_tokens.detect { |t| t.split("/").last == cask.token }) - "#{Tap.fetch(user, repo).default_remote}/blob/master/Casks/#{token}.rb" + remote_tap = Tap.fetch(user, repo) + return "#{remote_tap.remote}" if remote_tap.custom_remote? + "#{remote_tap.default_remote}/blob/master/Casks/#{token}.rb" end def self.artifact_info(cask) diff --git a/Library/Homebrew/cask/lib/hbc/qualified_token.rb b/Library/Homebrew/cask/lib/hbc/qualified_token.rb index adf22b533e766e3d7bb561abdd1d7fdd76c22c52..7b2e93dcfbaca9b26f53da7622201e2c258f43d2 100644 --- a/Library/Homebrew/cask/lib/hbc/qualified_token.rb +++ b/Library/Homebrew/cask/lib/hbc/qualified_token.rb @@ -3,7 +3,7 @@ module Hbc REPO_PREFIX = "homebrew-".freeze # per https://github.com/Homebrew/homebrew/blob/4c7bc9ec3bca729c898ee347b6135ba692ee0274/Library/Homebrew/cmd/tap.rb#L121 - USER_REGEX = %r{[a-z_\-]+} + USER_REGEX = %r{[a-z0-9_\-]+} # per https://github.com/Homebrew/homebrew/blob/4c7bc9ec3bca729c898ee347b6135ba692ee0274/Library/Homebrew/cmd/tap.rb#L121 REPO_REGEX = %r{(?:#{REPO_PREFIX})?\w+}