diff options
Diffstat (limited to 'completions/util-linux')
-rw-r--r-- | completions/util-linux | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/completions/util-linux b/completions/util-linux new file mode 100644 index 00000000..f45ffd56 --- /dev/null +++ b/completions/util-linux @@ -0,0 +1,76 @@ +# Completions for tools included in util-linux (not necessarily Linux specific) + +# renice(8) completion +# +have renice && +_renice() +{ + local command cur curopt i + + COMPREPLY=() + _get_comp_words_by_ref cur + command=$1 + + i=0 + # walk back through command line and find last option + while [[ $i -le $COMP_CWORD && ${#COMPREPLY[@]} -eq 0 ]]; do + curopt=${COMP_WORDS[COMP_CWORD-$i]} + case "$curopt" in + -u) + _allowed_users + ;; + -g) + _pgids + ;; + -p|$command) + _pids + ;; + esac + i=$(( ++i )) + done +} && +complete -F _renice renice + +# kill(1) completion +# +have kill && +_kill() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + if [[ $COMP_CWORD -eq 1 && "$cur" == -* ]]; then + # return list of available signals + _signals + else + # return list of available PIDs + _pids + fi +} && +complete -F _kill kill + +# look(1) completion +# +have look && +_look() +{ + local cur + + COMPREPLY=() + _get_comp_words_by_ref cur + + if [ $COMP_CWORD = 1 ]; then + COMPREPLY=( $( compgen -W '$(look "$cur" 2>/dev/null)' -- "$cur" ) ) + fi +} && +complete -F _look -o default look + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh |