summaryrefslogtreecommitdiff
path: root/plugins/cp
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2016-10-09 11:18:56 -0600
committerTuowen Zhao <ztuowen@gmail.com>2016-10-09 11:18:56 -0600
commita2baf45bce6bb8b501512233441af8f65f90a775 (patch)
tree3c0b773ed3b77c37ee1d609277a0e8f44d8899f9 /plugins/cp
parent4af1cb74ad3c3275d3352febf9e14e19f368d65a (diff)
parentcd37d19ddaf9cc5acbf443f93f88ca355f74090d (diff)
downloadzsh-a2baf45bce6bb8b501512233441af8f65f90a775.tar.gz
zsh-a2baf45bce6bb8b501512233441af8f65f90a775.tar.bz2
zsh-a2baf45bce6bb8b501512233441af8f65f90a775.zip
Merge branch 'master' of https://github.com/robbyrussell/oh-my-zsh
Diffstat (limited to 'plugins/cp')
-rw-r--r--plugins/cp/README.md32
-rw-r--r--plugins/cp/cp.plugin.zsh18
2 files changed, 36 insertions, 14 deletions
diff --git a/plugins/cp/README.md b/plugins/cp/README.md
new file mode 100644
index 000000000..e8a9b6ccc
--- /dev/null
+++ b/plugins/cp/README.md
@@ -0,0 +1,32 @@
+# cp plugin
+
+This plugin defines a `cpv` function that uses `rsync` so that you
+get the features and security of this command.
+
+To enable, add `cp` to your `plugins` array in your zshrc file:
+
+```zsh
+plugins=(... cp)
+```
+
+## Description
+
+The enabled options for rsync are:
+
+- `-p`: preserves permissions.
+
+- `-o`: preserves owner.
+
+* `-g`: preserves group.
+
+* `-b`: make a backup of the original file instead of overwriting it, if it exists.
+
+* `-r`: recurse directories.
+
+* `-hhh`: outputs numbers in human-readable format, in units of 1024 (K, M, G, T).
+
+* `--backup-dir=/tmp/rsync`: move backup copies to "/tmp/rsync".
+
+* `-e /dev/null`: only work on local files (disable remote shells).
+
+* `--progress`: display progress.
diff --git a/plugins/cp/cp.plugin.zsh b/plugins/cp/cp.plugin.zsh
index 7355a9990..fe6ea87a8 100644
--- a/plugins/cp/cp.plugin.zsh
+++ b/plugins/cp/cp.plugin.zsh
@@ -1,14 +1,4 @@
-#Show progress while file is copying
-
-# Rsync options are:
-# -p - preserve permissions
-# -o - preserve owner
-# -g - preserve group
-# -h - output in human-readable format
-# --progress - display progress
-# -b - instead of just overwriting an existing file, save the original
-# --backup-dir=/tmp/rsync - move backup copies to "/tmp/rsync"
-# -e /dev/null - only work on local files
-# -- - everything after this is an argument, even if it looks like an option
-
-alias cpv="rsync -poghb --backup-dir=/tmp/rsync -e /dev/null --progress --"
+cpv() {
+ rsync -pogbr -hhh --backup-dir=/tmp/rsync -e /dev/null --progress "$@"
+}
+compdef _files cpv