mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-04 10:41:11 +02:00
42 lines
2 KiB
Text
42 lines
2 KiB
Text
#compdef mv gmv
|
|
|
|
local args
|
|
if _pick_variant gnu=GNU unix --version; then
|
|
args=(
|
|
'(-b --backup -n --no-clobber)--backup=[make a backup of each existing destination file]: : _values "backup type"
|
|
{none,off}"[never make backups]"
|
|
{numbered,t}"[make numbered backups]"
|
|
{existing,nil}"[numbered backups, if they already exist]"
|
|
{simple,never}"[always make simple backups]"'
|
|
'(-b --backup -n --no-clobber)-b[make a backup of each existing destination file]'
|
|
'(-f --force -i --interactive -n --no-clobber)'{-f,--force}"[don't prompt before overwriting]"
|
|
'(-f --force -i --interactive -n --no-clobber)'{-i,--interactive}'[prompt before overwriting existing file]'
|
|
'--strip-trailing-slashes[remove any trailing slashes from each source argument]'
|
|
'(-S --suffix)'{-S+,--suffix=}'[specify the backup suffix]:backup suffix [~]'
|
|
'(-t --target-directory)'{-t+,--target-directory=}'[move all source arguments into specified directory]:directory:_directories'
|
|
'(-T --no-target-directory)'{-T,--no-target-directory}'[treat final argument as a normal file]'
|
|
'(-u --update)'{-u,--update}'[move only when destination file is older or missing]'
|
|
'(-v --verbose)'{-v,--verbose}'[show file names after they are moved]'
|
|
'(- *)--help[display usage information]'
|
|
'(- *)--version[display version information]'
|
|
)
|
|
[[ $OSTYPE = linux* ]] && args+=(
|
|
'(-Z --context)'{-Z,--context}'[set SELinux security context of destination file to default type]'
|
|
)
|
|
else
|
|
local pattern arg
|
|
args=(
|
|
"(-i -n)-f[don't prompt before overwriting]"
|
|
'(-f -n)-i[prompt before overwriting existing file]'
|
|
)
|
|
for pattern arg in \
|
|
'(darwin|dragonfly|freebsd)*' "(-f -i)-n[don't overwrite existing file]" \
|
|
'(darwin|dragonfly|*bsd)*' '-v[show file names after they are moved]' \
|
|
'(dragonfly|freebsd)*' "-h[if target is a symlink to a directory, don't follow it]"
|
|
do
|
|
[[ $OSTYPE = $~pattern ]] && args+=( $arg )
|
|
done
|
|
fi
|
|
|
|
_arguments -s -S $args \
|
|
'*:file:_files'
|