about summary refs log tree commit diff
path: root/Completion/Unix/Command/_mv
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2017-10-07 22:26:51 +0200
committerOliver Kiddle <opk@zsh.org>2017-10-07 22:26:51 +0200
commit69fcc22dc84e8411870ba8f2a4c876e223ad2a08 (patch)
tree1ccdeb6677938ae9f23ec0a55ed59f5045a26a56 /Completion/Unix/Command/_mv
parente49aabc13a858c636146f6744ac25b3e741763ff (diff)
downloadzsh-69fcc22dc84e8411870ba8f2a4c876e223ad2a08.tar.gz
zsh-69fcc22dc84e8411870ba8f2a4c876e223ad2a08.tar.xz
zsh-69fcc22dc84e8411870ba8f2a4c876e223ad2a08.zip
41823: new completions for some GNU coreutils utilities
Diffstat (limited to 'Completion/Unix/Command/_mv')
-rw-r--r--Completion/Unix/Command/_mv42
1 files changed, 42 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_mv b/Completion/Unix/Command/_mv
new file mode 100644
index 000000000..3592efee6
--- /dev/null
+++ b/Completion/Unix/Command/_mv
@@ -0,0 +1,42 @@
+#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'