1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-06-01 21:06:04 +02:00

44149: _mkdir, _stat: Use _pick_variant -b

This commit is contained in:
Matthew Martin 2019-03-19 22:09:25 -05:00
parent 8e4566e536
commit 9b267ff1eb
3 changed files with 9 additions and 26 deletions

View File

@ -7,6 +7,9 @@
2019-03-21 Matthew Martin <phy1729@gmail.com>
* 44149: Completion/Unix/Command/_mkdir,
Completion/Unix/Command/_stat: Use _pick_variant -b.
* 44144: Completion/Zsh/Command/_builtin: Append "builtin" to
precommands.

View File

@ -9,21 +9,7 @@ args=(
'(-)*: :->directories'
)
# It can still happen that there is a precommand command or builtin in the line.
# In such cases, the variant has to be modified suitably, after further checking
# the variant of the _command_ mkdir.
#
# $precommands is defined in _main_complete
if (( ${+precommands[(r)command]} )); then
_mkdir_command () { command mkdir "$@" }
_pick_variant -c _mkdir_command -r variant gnu=gnu unix --help
unfunction _mkdir_command
elif (( ${+precommands[(r)builtin]} )) || (( ${+builtins[mkdir]} )) || [[ "$(type -w mkdir)" == "*: builtin" ]]; then
variant=zsh
else
_pick_variant -r variant gnu=gnu zsh='\(eval\)' $OSTYPE --help
fi
# Now $variant is set.
_pick_variant -r variant -b zsh gnu=gnu $OSTYPE --help
case $variant in
gnu|freebsd*|dragonfly*|darwin*)

View File

@ -6,20 +6,14 @@
# Dragonfly by parsing the output of `lsof -N`, but it's not available by
# default — is there another way?
local expl variant precmd ret=1
local expl variant ret=1
local -a context line state state_descr args aopts=( -A '-*' )
local -A opt_args
if [[ $service == zstat ]] || [[ $precommands[-1] == builtin ]]; then
variant=zsh
else
[[ $precommands[-1] == command ]] && precmd=command
_pick_variant -c "${precmd:+$precmd }${words[1]}" -r variant \
gnu='Free Soft' zsh='no files given' unix --version
fi
_pick_variant -r variant -b zsh gnu='Free Soft' $OSTYPE --version
case $OSTYPE-$variant in
*-zsh)
case $variant in
zsh)
args=(
"(-H)-A[assign the results to array, don't print]:array variable:_parameters -g '*array*'"
- set1
@ -43,7 +37,7 @@ case $OSTYPE-$variant in
'-l[list stat types]'
)
;;
*-gnu)
gnu)
aopts=( )
args=(
'*: :_files'