Merge pull request #8049 from MLH-Fellowship/cask-commands
commands: Print cask commands
This commit is contained in:
commit
2100335441
@ -87,6 +87,10 @@ module Cask
|
||||
@lookup.fetch(command_name, nil)
|
||||
end
|
||||
|
||||
def self.aliases
|
||||
ALIASES
|
||||
end
|
||||
|
||||
def self.run(*args)
|
||||
new(*args).run
|
||||
end
|
||||
|
||||
@ -31,14 +31,21 @@ 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)
|
||||
prepend_separator = false
|
||||
|
||||
external_commands = Commands.external_commands
|
||||
return if external_commands.blank?
|
||||
{
|
||||
"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 do |title, commands|
|
||||
next if commands.blank?
|
||||
|
||||
puts
|
||||
ohai "External commands", Formatter.columns(external_commands)
|
||||
puts if prepend_separator
|
||||
ohai title, Formatter.columns(commands)
|
||||
|
||||
prepend_separator ||= true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "cask/cmd"
|
||||
|
||||
module Commands
|
||||
module_function
|
||||
|
||||
@ -89,6 +91,7 @@ module Commands
|
||||
cmds += internal_developer_commands
|
||||
cmds += external_commands
|
||||
cmds += internal_commands_aliases if aliases
|
||||
cmds += cask_commands(aliases: aliases).map { |cmd| "cask #{cmd}" }
|
||||
cmds.sort
|
||||
end
|
||||
|
||||
@ -129,11 +132,39 @@ module Commands
|
||||
Tap.cmd_directories.flat_map do |path|
|
||||
find_commands(path).select(&:executable?)
|
||||
.map(&method(:basename_without_extension))
|
||||
.map { |p| p.to_s.sub(/^brew(cask)?-/, '\1 ').strip }
|
||||
.map { |p| p.to_s.delete_prefix("brew-").strip }
|
||||
end.map(&:to_s)
|
||||
.sort
|
||||
end
|
||||
|
||||
def cask_commands(aliases: false)
|
||||
cmds = cask_internal_commands
|
||||
cmds += cask_internal_command_aliases if aliases
|
||||
cmds += cask_external_commands
|
||||
cmds
|
||||
end
|
||||
|
||||
def cask_internal_commands
|
||||
Cask::Cmd.commands
|
||||
end
|
||||
|
||||
def cask_internal_command_aliases
|
||||
Cask::Cmd.aliases.keys
|
||||
end
|
||||
|
||||
def cask_external_commands
|
||||
PATH.new(Tap.cmd_directories, ENV["HOMEBREW_PATH"]).flat_map do |search_path|
|
||||
find_commands(search_path).map do |possible_command|
|
||||
path = possible_command.to_path
|
||||
command_name = path.match(/brewcask-(.*)\.rb/) { |data| data[1].delete_suffix(".rb") }
|
||||
if command_name.blank? && possible_command.executable?
|
||||
command_name = path.match(/brewcask-(.*)/) { |data| data[1] }
|
||||
end
|
||||
command_name
|
||||
end.compact
|
||||
end
|
||||
end
|
||||
|
||||
def basename_without_extension(path)
|
||||
path.basename(path.extname)
|
||||
end
|
||||
|
||||
@ -4,6 +4,7 @@ require "keg_relocate"
|
||||
require "language/python"
|
||||
require "lock_file"
|
||||
require "ostruct"
|
||||
require "extend/cachable"
|
||||
|
||||
class Keg
|
||||
extend Cachable
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user