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:
parent
8e4566e536
commit
9b267ff1eb
|
@ -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.
|
||||
|
||||
|
|
|
@ -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*)
|
||||
|
|
|
@ -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'
|
||||
|
|
Loading…
Reference in New Issue