Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: [PATCH 0/6] Update coreutils command completions
- X-seq: zsh-workers 52037
- From: "Jun. T" <takimoto-j@xxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: Re: [PATCH 0/6] Update coreutils command completions
- Date: Wed, 9 Aug 2023 23:09:02 +0900
- Archived-at: <https://zsh.org/workers/52037>
- In-reply-to: <CAH+w=7a7-D+EnRayBLuEMKq+F1U0s=SgPcO28wRVbG1RYGJAmw@mail.gmail.com>
- List-id: <zsh-workers.zsh.org>
- References: <20230802062128.125238-1-syohex@gmail.com> <CAH+w=7a7-D+EnRayBLuEMKq+F1U0s=SgPcO28wRVbG1RYGJAmw@mail.gmail.com>
> 2023/08/07 5:26、Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>のメール:
>
> if someone who is more familiar with the
> implementations he's patching would like to step in, please do.
The second hunks in the patches for _env and _watch below are (possible)
fix for a problem that existed before his patch.
_env and _watch call _normal to complete a command and args, but since
they are passed to execve() or 'sh -c', it would make no sense to complete
zsh bultins or functions etc. I replaced
_normal
by
_normal -p env/watch
so that only external commands are offered. Is this a correct use of the
option -p?
Other hunks are just minor fixes.
Completion/Unix/Command/_date | 2 +-
Completion/Unix/Command/_env | 4 ++--
Completion/Unix/Command/_watch | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Completion/Unix/Command/_date b/Completion/Unix/Command/_date
index 6be34ffcd..9add1a9bc 100644
--- a/Completion/Unix/Command/_date
+++ b/Completion/Unix/Command/_date
@@ -19,7 +19,7 @@ if _pick_variant gnu="Free Software Foundation" unix --version; then
$f{-R,--rfc-email}'[display in RFC5322 format]'
$f'--rfc-3339=-[display in RFC 3339 format]:precision:(date seconds ns)'
'(-u --utc --universal)'{-u,--utc,--universal}'[display or set time in UTC]'
- '--resolution[output the available resolution of timestamps]'
+ $d'--resolution[output the available resolution of timestamps]'
'(- :)--help[output help and exit]'
'(- :)--version[output version info and exit]'
)
diff --git a/Completion/Unix/Command/_env b/Completion/Unix/Command/_env
index f7283e132..bdab71bbe 100644
--- a/Completion/Unix/Command/_env
+++ b/Completion/Unix/Command/_env
@@ -9,7 +9,7 @@ case $variant in
(( $#words > 2 )) && ign='!'
args=(
'(-)'{-i,--ignore-environment}'[start with empty environment]'
- '(-0 --null)'{-0,--null}'[end each output line with NUL, not newline]'
+ '(* -0 --null)'{-0,--null}'[end each output line with NUL, not newline]'
'(--ignore-environment -i --help --version)*'{-u+,--unset=}'[remove variable from the environment]:env var to remove:_parameters -g "*export*"'
'(-C --chdir)'{-C+,--chdir=}'[change working directory]:directory:_directories'
'(-S --split-string)'{-S+,--split-string=}'[perform word splitting]:string to split'
@@ -59,7 +59,7 @@ if [[ -n $state ]]; then
shift words
(( CURRENT-- ))
done
- _normal && ret=0
+ _normal -p env && ret=0
;;
user-class)
if compset -P 1 '*/'; then
diff --git a/Completion/Unix/Command/_watch b/Completion/Unix/Command/_watch
index 91244abe7..e12add520 100644
--- a/Completion/Unix/Command/_watch
+++ b/Completion/Unix/Command/_watch
@@ -18,7 +18,7 @@ case $variant in
'(-g --chgexit)'{-g,--chgexit}'[exit on command output change]' \
'(-n --interval)'{-n+,--interval=}'[specify update interval]:update interval (seconds) [2]' \
'(-p --precise)'{-p,--precise}'[run command at precise intervals]' \
- '(-q --equexit)'{-q,--equexit}'[exit when output of command does not change for the given cycles]:cycles' \
+ '(-q --equexit)'{-q+,--equexit=}'[exit when output of command does not change for the given cycles]:cycles' \
'(-r --no-rerun)'{-r,--no-rerun}'[do not run the program on terminal resize]' \
'(-t --no-title)'{-t,--no-title}'[disable header]' \
'(-w --no-wrap)'{-w,--no-wrap}'[disable line wrapping]' \
@@ -34,7 +34,7 @@ case $variant in
then
_cmdstring && ret=0
else
- _normal && ret=0
+ _normal -p watch && ret=0
fi
;;
# watch(1) has completely different semantics on freebsd compared to linux, hence:
Messages sorted by:
Reverse Date,
Date,
Thread,
Author