summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_rm
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_rm')
-rw-r--r--Completion/Unix/Command/_rm22
1 files changed, 15 insertions, 7 deletions
diff --git a/Completion/Unix/Command/_rm b/Completion/Unix/Command/_rm
index 4d0dbdb3f..6d728b157 100644
--- a/Completion/Unix/Command/_rm
+++ b/Completion/Unix/Command/_rm
@@ -22,16 +22,24 @@ if _pick_variant gnu=gnu unix --help; then
'(- *)--version[output version information and exit]'
)
else
- args=(${args:#*--(force|recursive)\[*})
+ args=(${args:#*)--*\[*})
case $OSTYPE in
- freebsd*)
+ dragonfly*|freebsd*|netbsd*|openbsd*)
args+=(
'-d[remove directories as well]'
- '(-i)-I[prompt when removing many files]'
- '-P[overwrite files before deleting them]'
- '-v[explain what is being done]'
- '-W[attempt to undelete named files]'
- "-x[don't cross file systems when removing a hierarchy]"
+ '-P[overwrite files before deleting them]'
+ )
+ ;|
+ dragonfly*|freebsd*|netbsd*)
+ args+=(
+ '-v[explain what is being done]'
+ '-W[attempt to undelete named files]'
+ "-x[don't cross file systems when removing a hierarchy]"
+ )
+ ;|
+ dragonfly*|freebsd*)
+ args+=(
+ '(-i)-I[prompt when removing many files]'
)
;;
esac