Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix cp plugin completion and refactor (#5427)
* cp plugin: change cpv to function so that completion works * cp plugin: show numbers in units of 1024 (K,M,G,T) Use `-h` level (3): output numbers in units of 1024. See the manpage of rsync for more information. * cp plugin: add a README file * cp plugin: recurse directories * cp plugin: remove `--` to separate files from options This has some undesired effects, like having `cpv --help` be a file not found error. Use `--` yourself if you need it (which you generally don't): ```zsh cpv -- -some-file-with-hyphens.txt /tmp ``` Added this same info to the README.
- Loading branch information
Showing
2 changed files
with
36 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |