bug-parallel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]


From: Wu Zhenyu
Date: Mon, 9 Jan 2023 18:20:00 +0800

From: Wu Zhenyu <wuzhenyu@ustc.edu>
To: bug-parallel@gnu.org
Subject: [PATCH] Improve zsh shell completion
Date: Mon,  9 Jan 2023 18:19:59 +0800
Message-Id: <20230109101959.162606-1-wuzhenyu@ustc.edu>
X-Mailer: git-send-email 2.39.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add shell completion for `--shell-completion`.
Add `{}` for `_command_names -e` because it contains space,
just like original `{...; _normal}`.

> _comp_priv_prefix
>       Completion functions such as _sudo can set the _comp_priv_prefix array 
> to a command prefix that may then be used by _call_program to match the 
> privileges when  calling  programs
>       to generate matches.

So `_comp_priv_prefix` is unnecessary. Remove it.
---
 src/parallel | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/parallel b/src/parallel
index 34fe1fc..be341c1 100755
--- a/src/parallel
+++ b/src/parallel
@@ -1647,7 +1647,6 @@ sub zsh_competion() {
     my @zsh_completion =
        ("compdef _comp_parallel parallel; ",
         "setopt localoptions extended_glob; ",
-        "local -a _comp_priv_prefix; ",
         "_comp_parallel() { ",
         "_arguments ");
     my @och = options_completion_hash();
@@ -1680,8 +1679,8 @@ sub zsh_competion() {
        shift @och;
     }
     push @zsh_completion,
-       q{'(-)1:command: _command_names -e' },
-       q{'*::arguments:{ _comp_priv_prefix=( '$words[1]' -n 
${(kv)opt_args[(I)(-[ugHEP]|--(user|group|set-home|preserve-env|preserve-groups))]}
 ) ; _normal }'},
+       q{'(-)1:command:{_command_names -e}' },
+       q{'*::arguments:_normal'},
        "};\n";
     print @zsh_completion;
 }
@@ -2102,7 +2101,7 @@ sub options_completion_hash() {
          => \@opt::filter),
         "_parset=s[Generate shell code for parset]" => \$opt::_parset,
         ("shell-completion|shellcompletion=s".
-         "[Generate shell code for shell completion]"
+         "[Generate shell code for shell completion]:shell:(bash zsh)"
          => \$opt::shellcompletion),
         # Parameter for testing optimal values
         "_test=s" => \$opt::_test,
-- 
2.39.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]