diff options
Diffstat (limited to '')
-rw-r--r-- | completions/getconf | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/completions/getconf b/completions/getconf new file mode 100644 index 0000000..de1ad2d --- /dev/null +++ b/completions/getconf @@ -0,0 +1,32 @@ +# getconf(1) completion -*- shell-script -*- + +_getconf() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -a) + _filedir + return + ;; + -v) + COMPREPLY=($(compgen -W \ + '$("$1" -a 2>/dev/null | awk "{ print \$1 }")' -- \ + "${cur:-POSIX_V}")) + return + ;; + esac + + if [[ $prev == PATH_MAX ]]; then # TODO more path vars, better handling + _filedir + elif [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '-a -v' -- "$cur")) + else + COMPREPLY=($(compgen -W \ + '$("$1" -a 2>/dev/null | awk "{ print \$1 }")' -- "$cur")) + fi +} && + complete -F _getconf getconf + +# ex: filetype=sh |