summaryrefslogtreecommitdiffstats
path: root/completions/complete
diff options
context:
space:
mode:
Diffstat (limited to 'completions/complete')
-rw-r--r--completions/complete49
1 files changed, 49 insertions, 0 deletions
diff --git a/completions/complete b/completions/complete
new file mode 100644
index 0000000..a57f366
--- /dev/null
+++ b/completions/complete
@@ -0,0 +1,49 @@
+# bash complete completion -*- shell-script -*-
+
+_complete()
+{
+ local cur prev words cword
+ _init_completion || return
+
+ case $prev in
+ -*o)
+ COMPREPLY=($(compgen -W 'bashdefault default dirnames filenames
+ nospace plusdirs' -- "$cur"))
+ return
+ ;;
+
+ -*A)
+ COMPREPLY=($(compgen -W 'alias arrayvar binding builtin command
+ directory disabled enabled export file function group helptopic
+ hostname job keyword running service setopt shopt signal
+ stopped user variable' -- "$cur"))
+ return
+ ;;
+
+ -*C)
+ COMPREPLY=($(compgen -A command -- "$cur"))
+ return
+ ;;
+ -*F)
+ COMPREPLY=($(compgen -A function -- "$cur"))
+ return
+ ;;
+ -*p | -*r)
+ COMPREPLY=($(complete -p | command sed -e 's|.* ||'))
+ COMPREPLY=($(compgen -W '${COMPREPLY[@]}' -- "$cur"))
+ return
+ ;;
+ esac
+
+ if [[ $cur == -* ]]; then
+ # relevant options completion
+ local opts="-a -b -c -d -e -f -g -j -k -o -s -u -v -A -G -W -P -S -X"
+ [[ $1 != compgen ]] && opts+=" -F -C"
+ COMPREPLY=($(compgen -W "$opts" -- "$cur"))
+ else
+ COMPREPLY=($(compgen -A command -- "$cur"))
+ fi
+} &&
+ complete -F _complete compgen complete
+
+# ex: filetype=sh