diff --git a/src/gen/zsh.rs b/src/gen/zsh.rs index 4fc397c..0c220f4 100644 --- a/src/gen/zsh.rs +++ b/src/gen/zsh.rs @@ -69,9 +69,9 @@ fn generate_fn(cmd: &CommandInfo, out: &mut Output, fn_name: &str) { out.indent(); for flag in &cmd.flags { let desc = if let Some(desc) = &flag.desc { - desc + desc.replace("[", "\\[").replace("]", "\\]") } else { - "" + "".to_string() }; for form in &flag.forms { let text = util::quote_bash(format!("{form}[{desc}]")); diff --git a/tests/resources/expected/_test1.zsh b/tests/resources/expected/_test1.zsh index 5056fea..e7902cc 100644 --- a/tests/resources/expected/_test1.zsh +++ b/tests/resources/expected/_test1.zsh @@ -19,7 +19,7 @@ function _test1 { function _test1_sub1 { local line _arguments -C \ - '--foobar[Something something]' \ + '--foobar[Something something \[brackets\]]' \ ': :(nested)' \ '*::arg:->args' case $line[1] in diff --git a/tests/resources/expected/test1-completions.nu b/tests/resources/expected/test1-completions.nu index 7b9e73f..a72b750 100644 --- a/tests/resources/expected/test1-completions.nu +++ b/tests/resources/expected/test1-completions.nu @@ -5,7 +5,7 @@ export extern "test1" [ ] export extern "test1 sub1" [ - --foobar # Something something + --foobar # Something something [brackets] ] export extern "test1 sub1 nested" [ diff --git a/tests/resources/in/man1/test1-sub1.1 b/tests/resources/in/man1/test1-sub1.1 index 632ee18..6e2dc18 100644 --- a/tests/resources/in/man1/test1-sub1.1 +++ b/tests/resources/in/man1/test1-sub1.1 @@ -9,5 +9,5 @@ test1 sub1 <- Need that for this to be picked up as a subcommand This should not be added .TP \-\-foobar -Something something +Something something [brackets] .UNINDENT