commands: Print cask commands
This commit is contained in:
parent
84e4e1b449
commit
3bbffdd1d7
@ -88,6 +88,10 @@ module Cask
|
|||||||
@lookup.fetch(command_name, nil)
|
@lookup.fetch(command_name, nil)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.aliases
|
||||||
|
ALIASES
|
||||||
|
end
|
||||||
|
|
||||||
def self.run(*args)
|
def self.run(*args)
|
||||||
new(*args).run
|
new(*args).run
|
||||||
end
|
end
|
||||||
|
|||||||
@ -36,9 +36,18 @@ module Homebrew
|
|||||||
ohai "Built-in developer commands", Formatter.columns(Commands.internal_developer_commands)
|
ohai "Built-in developer commands", Formatter.columns(Commands.internal_developer_commands)
|
||||||
|
|
||||||
external_commands = Commands.external_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
|
puts
|
||||||
ohai "External commands", Formatter.columns(external_commands)
|
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
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'cask/cmd'
|
||||||
|
|
||||||
module Commands
|
module Commands
|
||||||
module_function
|
module_function
|
||||||
|
|
||||||
@ -89,6 +91,7 @@ module Commands
|
|||||||
cmds += internal_developer_commands
|
cmds += internal_developer_commands
|
||||||
cmds += external_commands
|
cmds += external_commands
|
||||||
cmds += internal_commands_aliases if aliases
|
cmds += internal_commands_aliases if aliases
|
||||||
|
cmds += cask_commands(aliases: aliases).map { |cmd| "cask #{cmd}" }
|
||||||
cmds.sort
|
cmds.sort
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -129,11 +132,49 @@ module Commands
|
|||||||
Tap.cmd_directories.flat_map do |path|
|
Tap.cmd_directories.flat_map do |path|
|
||||||
find_commands(path).select(&:executable?)
|
find_commands(path).select(&:executable?)
|
||||||
.map(&method(:basename_without_extension))
|
.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)
|
end.map(&:to_s)
|
||||||
.sort
|
.sort
|
||||||
end
|
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)
|
def basename_without_extension(path)
|
||||||
path.basename(path.extname)
|
path.basename(path.extname)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -4,6 +4,7 @@ require "keg_relocate"
|
|||||||
require "language/python"
|
require "language/python"
|
||||||
require "lock_file"
|
require "lock_file"
|
||||||
require "ostruct"
|
require "ostruct"
|
||||||
|
require "extend/cachable"
|
||||||
|
|
||||||
class Keg
|
class Keg
|
||||||
extend Cachable
|
extend Cachable
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user