Skip to content

Commit 567880f

Browse files
committed
support to generate Nushell completion script by --generate-completion-script
1 parent 1e608f9 commit 567880f

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

Cargo.lock

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ ansi_colours = { version = "1.2.2", default-features = false, optional = true }
7070
dirs-next = { version = "2.0.0", optional = true } # Using dirs-next because bat uses it
7171
mimalloc = { version = "0.1.37", default-features = false }
7272
clap_mangen = "0.2.12"
73+
clap_complete_nushell = "4.3.1"
7374

7475
[target."cfg(windows)".dependencies]
7576
nu-ansi-term = { version = "0.48.0", default-features = false }

src/main.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use hgrep::bat::BatPrinter;
1919
#[cfg(feature = "syntect-printer")]
2020
use hgrep::syntect::SyntectPrinter;
2121

22-
const COMPLETION_SHELLS: [&str; 5] = ["bash", "zsh", "powershell", "fish", "elvish"];
22+
const COMPLETION_SHELLS: [&str; 6] = ["bash", "zsh", "powershell", "fish", "elvish", "nushell"];
2323

2424
fn command() -> Command {
2525
#[cfg(feature = "syntect-printer")]
@@ -381,6 +381,7 @@ fn command() -> Command {
381381
fn generate_completion_script<W: io::Write>(shell: &str, out: &mut W) {
382382
use clap_complete::generate;
383383
use clap_complete::shells::*;
384+
use clap_complete_nushell::Nushell;
384385

385386
let mut cmd = command();
386387
if shell.eq_ignore_ascii_case("bash") {
@@ -393,6 +394,8 @@ fn generate_completion_script<W: io::Write>(shell: &str, out: &mut W) {
393394
generate(Fish, &mut cmd, "hgrep", out)
394395
} else if shell.eq_ignore_ascii_case("elvish") {
395396
generate(Elvish, &mut cmd, "hgrep", out)
397+
} else if shell.eq_ignore_ascii_case("nushell") {
398+
generate(Nushell, &mut cmd, "hgrep", out)
396399
} else {
397400
unreachable!() // SHELL argument was validated by clap
398401
}

0 commit comments

Comments
 (0)