summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_dd
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_dd')
-rw-r--r--Completion/Unix/Command/_dd30
1 files changed, 12 insertions, 18 deletions
diff --git a/Completion/Unix/Command/_dd b/Completion/Unix/Command/_dd
index 419fc1a7a..27cff1198 100644
--- a/Completion/Unix/Command/_dd
+++ b/Completion/Unix/Command/_dd
@@ -1,20 +1,14 @@
#compdef dd
-local expl
-
-if compset -P 1 'conv='; then
- # If there's a comma present, ignore up to the last one. The
- # test alone will have that effect.
- compset -p '*,'
- _wanted values expl conversion \
- compadd -qS, ascii ebcdic ibm block unblock lcase ucase swab noerror sync
-elif compset -P 1 'if='; then
- _description files expl 'input file'
- _tilde_files "$expl[@]"
-elif compset -P 1 'of='; then
- _description files expl 'output file'
- _tilde_files "$expl[@]"
-else
- _wanted values expl option \
- compadd -S '=' if of ibs obs bs cbs skip files seek count conv
-fi
+_values -S '=' 'option' \
+ 'if[specify input file]:input file:_tilde_files' \
+ 'of[specify output file]:output file:_tilde_files' \
+ 'ibs[input block size]:block size (bytes)' \
+ 'obs[output block size]:block size (bytes)' \
+ 'bs[block size]:block size (bytes)' \
+ 'cbs[conversion buffer size]:buffer size (bytes)' \
+ 'skip[input blocks initially skipped]:blocks' \
+ 'seek[output blocks initially skipped]:blocks' \
+ 'files[specify number of input files to copy and concatenate]:number of files' \
+ 'count[number of input blocks to copy]:blocks' \
+ 'conv[specify conversions to apply]:conversion:_values -s , "conversion" ascii ebcdic ibm block unblock lcase ucase swab noerror sync'