Port Homebrew::DevCmd::GenerateManCompletions

This commit is contained in:
Douglas Eichelberger 2024-03-21 10:22:45 -07:00
parent 7fc20640f2
commit 485574ac98
2 changed files with 27 additions and 26 deletions

View File

@ -1,27 +1,25 @@
# typed: true
# typed: strict
# frozen_string_literal: true
require "abstract_command"
require "formula"
require "completions"
require "manpages"
require "system_command"
module Homebrew
extend SystemCommand::Mixin
sig { returns(CLI::Parser) }
def self.generate_man_completions_args
Homebrew::CLI::Parser.new do
module DevCmd
class GenerateManCompletions < AbstractCommand
include SystemCommand::Mixin
cmd_args do
description <<~EOS
Generate Homebrew's manpages and shell completions.
EOS
named_args :none
end
end
def self.generate_man_completions
args = generate_man_completions_args.parse
sig { override.void }
def run
Commands.rebuild_internal_commands_completion_list
Manpages.regenerate_man_pages(quiet: args.quiet?)
Completions.update_shell_completions!
@ -35,4 +33,6 @@ module Homebrew
puts "Manpage and completions updated."
end
end
end
end
end

View File

@ -1,7 +1,8 @@
# frozen_string_literal: true
require "cmd/shared_examples/args_parse"
require "dev-cmd/generate-man-completions"
RSpec.describe "brew generate-man-completions" do
RSpec.describe Homebrew::DevCmd::GenerateManCompletions do
it_behaves_like "parseable arguments"
end