summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_basename
diff options
context:
space:
mode:
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'