commands: Deduplicate command print logic

This commit is contained in:
William Ma 2020-07-20 13:45:55 -04:00
parent 3bbffdd1d7
commit 0b613d2fe3
2 changed files with 14 additions and 22 deletions

View File

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

View File

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