Add doas support to bash-completion

This commit is contained in:
2022-12-03 22:35:04 -05:00
parent f57854b086
commit 1069d565ad
2 changed files with 46 additions and 1 deletions
+45
View File
@@ -0,0 +1,45 @@
# doas(1) completion -*- shell-script -*-
_comp_cmd_doas()
{
local cur prev words cword split
_init_completion -s || return
local i
for ((i = 1; i <= cword; i++)); do
if [[ ${words[i]} != -* ]]; then
local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin
local root_command=${words[i]}
_command_offset $i
return
fi
[[ ${words[i]} == -@(!(-*)[uCLs]) ]] &&
((i++))
done
case "$prev" in
-!(-*)u)
COMPREPLY=($(compgen -u -- "$cur"))
return
;;
-!(-*)C)
_filedir
return
;;
-!(-*)[Ls])
return
;;
esac
$split && return
if [[ $cur == -* ]]; then
COMPREPLY=($(compgen -W '$(_parse_usage "$1")' -- "$cur"))
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
return
fi
} &&
complete -F _comp_cmd_doas doas
# ex: filetype=sh