summary refs log tree commit diff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
authordana <dana@dana.is>2018-01-05 14:26:17 -0600
committerOliver Kiddle <opk@zsh.org>2018-01-06 00:13:51 +0100
commit0f0b602415961aa9ca069c9719a0fbb4bbb9941f (patch)
tree03001cfaf7ed12c26a354a996f52c4920d08cb76 /Completion/Unix/Command
parent0c5f851021b3aacea96d9ca446282b8dab9f260d (diff)
downloadzsh-0f0b602415961aa9ca069c9719a0fbb4bbb9941f.tar.gz
zsh-0f0b602415961aa9ca069c9719a0fbb4bbb9941f.tar.xz
zsh-0f0b602415961aa9ca069c9719a0fbb4bbb9941f.zip
42231: new completion functions for simple utilities belonging to the 'Darwin' and 'Linux' groups.
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_attr21
1 files changed, 20 insertions, 1 deletions
diff --git a/Completion/Unix/Command/_attr b/Completion/Unix/Command/_attr
index df1fb7da4..2030064dc 100644
--- a/Completion/Unix/Command/_attr
+++ b/Completion/Unix/Command/_attr
@@ -1,4 +1,4 @@
-#compdef attr getfattr setfattr
+#compdef attr getfattr setfattr xattr
 
 case $service in
   attr)
@@ -45,4 +45,23 @@ case $service in
       '*:file:_files'
     return
   ;;
+  # The Python xattr module ships with a utility called xattr which might appear
+  # on some systems; it is not entirely compatible with the Darwin variant, but
+  # does seem inspired by it, to the degree that this is probably close enough
+  xattr)
+    _arguments -s -S -A '-*' : \
+      '(: -)'{-h,--help}'[display help information]' \
+      '(-c -d -w)-l[display in long format]' \
+      '-r[act recursively]' \
+      '-s[act on symbolic links]' \
+      '(-w)-v[always display file name]' \
+      '(-c -d)-x[use hexademical format for value input and output]' \
+      '*: :_files' \
+      + '(op)' \
+      '(-l -x)-c[remove all attributes]' \
+      '(-l -x)-d[remove specified attribute]:attribute name' \
+      '-p[display value of specified attribute]:attribute name' \
+      '(-l -v)-w[set value of specified attribute]:attribute name: :attribute value'
+    return
+    ;;
 esac