summaryrefslogtreecommitdiffstats
path: root/completions/inotifywait
diff options
context:
space:
mode:
Diffstat (limited to 'completions/inotifywait')
-rw-r--r--completions/inotifywait47
1 files changed, 47 insertions, 0 deletions
diff --git a/completions/inotifywait b/completions/inotifywait
new file mode 100644
index 0000000..e5608fc
--- /dev/null
+++ b/completions/inotifywait
@@ -0,0 +1,47 @@
+# bash completion for inotifywait(1) and inotifywatch(1) -*- shell-script -*-
+
+_inotifywait_events()
+{
+ # Expecting line with "Events:", followed by ones starting with one
+ # tab. Word following the tab is event name, others are line
+ # wrapped explanations.
+ COMPREPLY+=($(compgen -W "$($1 --help 2>/dev/null |
+ command sed -e '/^Events:/,/^[^'$'\t'']/!d' \
+ -ne 's/^'$'\t''\([^ '$'\t'']\{1,\}\)[ '$'\t''].*/\1/p')" \
+ -- "$cur"))
+}
+
+_inotifywait()
+{
+ local cur prev words cword
+ _init_completion || return
+
+ case $prev in
+ --help | --exclude | --excludei | --format | --timefmt | --timeout | -!(-*)[ht])
+ return
+ ;;
+ --fromfile | --outfile | -!(-*)o)
+ _filedir
+ return
+ ;;
+ --event | -!(-*)e)
+ _inotifywait_events "$1"
+ return
+ ;;
+ --ascending | --descending)
+ COMPREPLY=($(compgen -W 'total' -- "$cur"))
+ _inotifywait_events "$1"
+ return
+ ;;
+ esac
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ return
+ fi
+
+ _filedir
+} &&
+ complete -F _inotifywait inotifywait inotifywatch
+
+# ex: filetype=sh