From c5ecb78fd46e629b2161ef707f18124bb58c5bb2 Mon Sep 17 00:00:00 2001 From: godsfryingpan Date: Mon, 23 Mar 2026 15:34:36 -0600 Subject: [PATCH] implement nushell completions (#24) closes #19 Reviewed-on: http://192.168.1.227:3000/sfrembling/pallet/pulls/24 Co-authored-by: godsfryingpan Co-committed-by: godsfryingpan --- Cargo.lock | 11 +++++++++++ Cargo.toml | 1 + src/app.rs | 7 +++++++ 3 files changed, 19 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 866368d..e27ac29 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -115,6 +115,16 @@ dependencies = [ "clap", ] +[[package]] +name = "clap_complete_nushell" +version = "4.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbb9e9715d29a754b468591be588f6b926f5b0a1eb6a8b62acabeb66ff84d897" +dependencies = [ + "clap", + "clap_complete", +] + [[package]] name = "clap_derive" version = "4.6.0" @@ -263,6 +273,7 @@ version = "1.0.6" dependencies = [ "clap", "clap_complete", + "clap_complete_nushell", "colored", "glob", "serde", diff --git a/Cargo.toml b/Cargo.toml index bb865a3..a8e016f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,6 +7,7 @@ description = "A project manager and build system for C inspired by Rust's Cargo [dependencies] clap = { version = "4.6.0", features = ["derive"] } clap_complete = "4.6.0" +clap_complete_nushell = "4.6.0" colored = "3.1.1" glob = "0.3.3" serde = { version = "1.0.228", features = ["derive"] } diff --git a/src/app.rs b/src/app.rs index e996456..bdc6e06 100644 --- a/src/app.rs +++ b/src/app.rs @@ -83,6 +83,7 @@ enum ShellCompletions { Fish, PowerShell, Zsh, + Nushell, } impl App { @@ -158,6 +159,12 @@ impl App { name, &mut std::io::stdout(), ), + ShellCompletions::Nushell => clap_complete::generate( + clap_complete_nushell::Nushell, + &mut command, + name, + &mut std::io::stdout(), + ), } } UtilSubcommand::GenCompileCommands { mode } => {