about summary refs log tree commit diff
path: root/Completion/Unix/Command/_basename
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2017-03-14 16:13:05 +0100
committerOliver Kiddle <opk@zsh.org>2017-03-14 16:13:05 +0100
commit45d910356ad6b75d47e56ed5cef2f43bffc12fca (patch)
treed9ad7ef4e55a28c4bb0024cb0100f567944b52f4 /Completion/Unix/Command/_basename
parente869952200852a414debc6475a652e04e3b03641 (diff)
downloadzsh-45d910356ad6b75d47e56ed5cef2f43bffc12fca.tar.gz
zsh-45d910356ad6b75d47e56ed5cef2f43bffc12fca.tar.xz
zsh-45d910356ad6b75d47e56ed5cef2f43bffc12fca.zip
40842: update completions for coreutils and similar utilities, also improving BSD and Solaris support
Diffstat (limited to 'Completion/Unix/Command/_basename')
-rw-r--r--Completion/Unix/Command/_basename27
1 files changed, 27 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_basename b/Completion/Unix/Command/_basename
new file mode 100644
index 000000000..a826b56b0
--- /dev/null
+++ b/Completion/Unix/Command/_basename
@@ -0,0 +1,27 @@
+#compdef basename gbasename
+
+local args variant
+_pick_variant -r variant gnu=GNU $OSTYPE --version
+
+case $variant in
+  gnu)
+    args=( -s -S -A "-*"
+      '(2 -a --multiple)'{-a,--multiple}'[support multiple arguments, handling each]'
+      '(2 -a --multiple -s --suffix)'{-s+,--suffix=}'[remove a trailing suffix]:suffix'
+      '(-z --zero)'{-z,--zero}'[separate output with NUL rather than newline]'
+      '(- *)--version[display version information]'
+      '(- *)--help[display help information]'
+    )
+  ;;
+  darwin*|dragonfly*|freebsd*)
+    args=( -s -S -A "-*"
+      '(2)-a[support multiple arguments, handling each]'
+      '(-a 2)-s+[remove a trailing suffix]:suffix'
+    )
+  ;;
+esac
+
+_arguments $args \
+  '1:file:_files' \
+  '(*)2:suffix' \
+  '*:file:_files'