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 } => {