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

View File

@ -1,7 +1,8 @@
# frozen_string_literal: true # frozen_string_literal: true
require "cmd/shared_examples/args_parse" 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" it_behaves_like "parseable arguments"
end end