diff options
Diffstat (limited to 'completions/rpcdebug')
-rw-r--r-- | completions/rpcdebug | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/completions/rpcdebug b/completions/rpcdebug new file mode 100644 index 0000000..6e2b88c --- /dev/null +++ b/completions/rpcdebug @@ -0,0 +1,46 @@ +# bash completion for rpcdebug -*- shell-script -*- + +_rpcdebug_flags() +{ + local i module + + for ((i = 1; i < ${#words[@]}; i++)); do + if [[ ${words[i]} == -m ]]; then + module=${words[i + 1]} + break + fi + done + + if [[ -n $module ]]; then + COMPREPLY=($(compgen -W "$(rpcdebug -vh 2>&1 | + command sed -ne 's/^'$module'[[:space:]]\{1,\}//p')" -- "$cur")) + fi +} + +_rpcdebug() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -*s) + _rpcdebug_flags + return + ;; + -*c) + _rpcdebug_flags + return + ;; + -*m) + COMPREPLY=($(compgen -W 'rpc nfs nfsd nlm' -- "$cur")) + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_usage "$1" -h) -s -c' -- "$cur")) + fi +} && + complete -F _rpcdebug rpcdebug + +# ex: filetype=sh |