diff --git a/Library/Homebrew/cmd/commands.rb b/Library/Homebrew/cmd/commands.rb index 5741a8b34a..877dd59d36 100644 --- a/Library/Homebrew/cmd/commands.rb +++ b/Library/Homebrew/cmd/commands.rb @@ -31,23 +31,18 @@ module Homebrew return end - ohai "Built-in commands", Formatter.columns(Commands.internal_commands) - puts - ohai "Built-in developer commands", Formatter.columns(Commands.internal_developer_commands) - - external_commands = Commands.external_commands - if external_commands.present? - puts - ohai "External commands", Formatter.columns(external_commands) - end - - puts - ohai "Cask commands", Formatter.columns(Commands.cask_internal_commands) - - cask_external_commands = Commands.cask_external_commands - if cask_external_commands.present? - puts - ohai "External cask commands", Formatter.columns(cask_external_commands) + [["Built-in commands", -> { Commands.internal_commands }], + ["Built-in developer commands", -> { Commands.internal_developer_commands }], + ["External commands", -> { Commands.external_commands }], + ["Cask commands", -> { Commands.cask_internal_commands }], + ["External cask commands", -> { Commands.cask_external_commands }]] + .each_with_index do |title_and_proc, index| + title, proc = title_and_proc + cmds = proc.call + if cmds.present? + puts unless index.zero? + ohai title, Formatter.columns(cmds) + end end end end diff --git a/Library/Homebrew/commands.rb b/Library/Homebrew/commands.rb index 4a9b00d1b2..902988fea0 100644 --- a/Library/Homebrew/commands.rb +++ b/Library/Homebrew/commands.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'cask/cmd' +require "cask/cmd" module Commands module_function @@ -160,10 +160,7 @@ module Commands end def cask_external_commands - tap_cmd_directories = Tap.cmd_directories - path = PATH.new(tap_cmd_directories, ENV["HOMEBREW_PATH"]) - - path.flat_map do |search_path| + PATH.new(Tap.cmd_directories, ENV["HOMEBREW_PATH"]).flat_map do |search_path| find_commands(search_path).map do |possible_command| p = possible_command.to_path command_name = p.match(/brewcask-(.*)\.rb/) { |data| data[1].delete_suffix(".rb") }