From b185446cfa08d4d6e2552db53937762a3c38d4db Mon Sep 17 00:00:00 2001 From: Devin Christensen Date: Tue, 15 Aug 2023 01:48:25 -0600 Subject: [PATCH] fix: panic on completions (#1010) * fix(#1006): panic on completions as far as i can tell, this was broken by the clap upgrade (#991). * fix: add smoke test for completions * skip test on windows * Create dull-bottles-try.md --------- Co-authored-by: Gal Schlezinger --- .changeset/dull-bottles-try.md | 5 +++++ src/commands/completions.rs | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 .changeset/dull-bottles-try.md diff --git a/.changeset/dull-bottles-try.md b/.changeset/dull-bottles-try.md new file mode 100644 index 0000000..5e3cab6 --- /dev/null +++ b/.changeset/dull-bottles-try.md @@ -0,0 +1,5 @@ +--- +"fnm": patch +--- + +fix: panic on `fnm completions` diff --git a/src/commands/completions.rs b/src/commands/completions.rs index 9f4a335..e4726ee 100644 --- a/src/commands/completions.rs +++ b/src/commands/completions.rs @@ -24,7 +24,8 @@ impl Command for Completions { .or_else(|| infer_shell().map(Into::into)) .ok_or(Error::CantInferShell)?; let shell: ClapShell = shell.into(); - let app = Cli::command(); + let mut app = Cli::command(); + app.build(); shell.generate(&app, &mut stdio); Ok(()) } @@ -49,3 +50,18 @@ fn shells_as_string() -> String { .collect::>() .join("\n") } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + #[cfg(not(windows))] + fn test_smoke() { + let config = FnmConfig::default(); + Completions { + shell: Some(Shells::Bash), + } + .call(config); + } +}