diff options
Diffstat (limited to 'completions/inotifywait')
-rw-r--r-- | completions/inotifywait | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/completions/inotifywait b/completions/inotifywait new file mode 100644 index 00000000..637d4742 --- /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 |