commands: Print cask commands
This commit is contained in:
parent
84e4e1b449
commit
3bbffdd1d7
@ -88,6 +88,10 @@ module Cask
|
||||
@lookup.fetch(command_name, nil)
|
||||
end
|
||||
|
||||
def self.aliases
|
||||
ALIASES
|
||||
end
|
||||
|
||||
def self.run(*args)
|
||||
new(*args).run
|
||||
end
|
||||
|
||||
@ -36,9 +36,18 @@ module Homebrew
|
||||
ohai "Built-in developer commands", Formatter.columns(Commands.internal_developer_commands)
|
||||
|
||||
external_commands = Commands.external_commands
|
||||
return if external_commands.blank?
|
||||
|
||||
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)
|
||||
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,49 @@ 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_unstable_internal_commands
|
||||
cmds += cask_external_commands
|
||||
cmds
|
||||
end
|
||||
|
||||
def cask_internal_commands
|
||||
Cask::Cmd.commands - cask_unstable_internal_commands
|
||||
end
|
||||
|
||||
def cask_unstable_internal_commands
|
||||
Cask::Cmd.commands.select do |command|
|
||||
command.start_with? "_"
|
||||
end
|
||||
end
|
||||
|
||||
def cask_internal_command_aliases
|
||||
Cask::Cmd.aliases.keys
|
||||
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|
|
||||
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") }
|
||||
if command_name.blank? && possible_command.executable?
|
||||
command_name = p.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