about summary refs log tree commit diff
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2006-01-21 03:02:53 +0000
committerClint Adams <clint@users.sourceforge.net>2006-01-21 03:02:53 +0000
commitf852bf2e0dd4b507370880d456ce40dbe00a0b2e (patch)
tree66bbe893a6e03a6f11453a2b00c20228c4262592
parent9d01560ff158af25ae65fd89d4f4c2627a997630 (diff)
downloadzsh-f852bf2e0dd4b507370880d456ce40dbe00a0b2e.tar.gz
zsh-f852bf2e0dd4b507370880d456ce40dbe00a0b2e.tar.xz
zsh-f852bf2e0dd4b507370880d456ce40dbe00a0b2e.zip
22167: completion for GNU cp.
-rw-r--r--ChangeLog3
-rw-r--r--Completion/Unix/Command/_cp32
2 files changed, 35 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6dbeb49ea..d5b955e34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2006-01-21  Clint Adams  <clint@zsh.org>
 
+	* 22167: Completion/Unix/Command/_cp: completion for
+	GNU cp.
+
 	* 22166: Completion/Debian/Command/_bts: add new
 	subcommands (clone, submitter, found, notfound, block, unblock,
 	user, usertag, package, owner, noowner, reportspam, cache,
diff --git a/Completion/Unix/Command/_cp b/Completion/Unix/Command/_cp
new file mode 100644
index 000000000..8305c57a5
--- /dev/null
+++ b/Completion/Unix/Command/_cp
@@ -0,0 +1,32 @@
+#compdef cp
+
+_arguments -s \
+  '(-a --archive)'{-a,--archive}'[same as -dpR]' \
+  '(-b --backup)-b[backup]' \
+  '(-b --backup)--backup=:method:(none off numbered t existing nil simple never)' \
+  '--copy-contents[copy contents of special files when recursive]' \
+  '-d[same as --no-dereference --preserve=link]' \
+  '(-f --force)'{-f,--force}'[remove and retry for destinations that cannot be opened]' \
+  '(-i --interactive)'{-i,--interactive}'[prompt before overwrite]' \
+  '-H[follow command-line symbolic links]' \
+  '(-l --link)'{-l,--link}'[link files instead of copying]' \
+  '(-L --dereference)'{-L,--dereference}'[always follow symbolic links]' \
+  '-p[same as --preserve=mode,ownership,timestamps]' \
+  '--preserve=:attributes to preserve:_values -s , mode ownership timestamps links all' \
+  '--no-preserve=:attributes not to preserve:_values -s , mode ownership timestamps links all' \
+  '--parents[append source path to target directory]' \
+  '-P[same as --no-dereference]' \
+  '(-R -r --recursive)'{-R,-r,--recursive}'[copy directories recursively]' \
+  '--remove-destination[remove each existing destination file before attempting to open it]' \
+  '--reply=:how to handle the prompt about an existing destination file:(yes no query)' \
+  '--sparse=:when to create sparse files:(auto always never)' \
+  '--strip-trailing-slashes[remove any trailing slashes from each source argument]' \
+  '(-s --symbolic-link)'{-s,--symbolic-link}'[make symbolic links instead of copies of non-directories]' \
+  '(-S --suffix)'{-S,--suffix=}':backup suffix:' \
+  '--target-directory=:target directory:_files -/' \
+  '(-u --update)'{-u,--update}'[copy only when source is newer than destination or destination is missing]' \
+  '(-v --verbose)'{-v,--verbose}'[explain what is being done]' \
+  '(-x --one-file-system)'{-x,--one-file-system}'[stay on this file system]' \
+  '--help' \
+  '--version' \
+  '*:file or directory:_files'