summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_chmod13
1 files changed, 11 insertions, 2 deletions
diff --git a/Completion/Unix/Command/_chmod b/Completion/Unix/Command/_chmod
index 6a44a4ef1..43c515485 100644
--- a/Completion/Unix/Command/_chmod
+++ b/Completion/Unix/Command/_chmod
@@ -1,12 +1,21 @@
-#compdef chmod gchmod
+#compdef chmod gchmod zf_chmod
local curcontext="$curcontext" state line expl ret=1 variant
local -a args privs
args=( '*: :->files' '1: :_file_modes' )
-_pick_variant -r variant gnu=Free\ Soft $OSTYPE --version
+_pick_variant -r variant -b zsh gnu=Free\ Soft $OSTYPE --version
case "$variant" in
+ zsh)
+ # Assign, not append because zf_chmod only supports octal modes.
+ args=(
+ '-R[change files and directories recursively]'
+ '-s[enable paranoid behavior]'
+ '1:octal mode:'
+ '*: :->files'
+ )
+ ;;
gnu)
args+=(
'(-v --verbose -c --changes)'{-c,--changes}'[report changes made]'