feat: add parser support for completion
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing

This commit is contained in:
Glenn Y. Rolland 2024-08-04 22:19:36 +02:00
parent b1567a1aa0
commit 093c9d2fa1
2 changed files with 7 additions and 1 deletions

View file

@ -4,6 +4,7 @@ module GX::Parsers
class CompletionParser < AbstractParser
def build(parser, ancestors, config)
breadcrumbs = ancestors + "completion"
# config.mode = Types::Mode::CompletionAutodetect
parser.banner = Utils.usage_line(
breadcrumbs,
@ -13,10 +14,12 @@ module GX::Parsers
parser.separator("\nCompletion commands:")
parser.on("--bash", "Generate bash completion") do |_|
config.mode = Types::Mode::CompletionBash
Log.info { "Set bash completion" }
end
parser.on("--zsh", "Generate zsh completion") do |_|
config.mode = Types::Mode::CompletionZsh
Log.info { "Set zsh completion" }
end

View file

@ -69,7 +69,10 @@ module GX::Parsers
# end
parser.on("completion", "Manage completion") do
config.mode = Types::Mode::GlobalCompletion
config.mode = Types::Mode::GlobalHelp
config.help_options = Parsers::Options::HelpOptions.new
config.help_options.try(&.parser_snapshot=(parser.dup))
Parsers::CompletionParser.new.build(parser, breadcrumbs, config)
end