/
githubmirror
/
bash-completion
Обзор
Документация
Войти
/
githubmirror
/
bash-completion
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.12.0
completions/sudo
58 строк
2 KB
Koichi Murase
refactor: rename variable `{ => _comp_}root_command`
13 авг 2023, 02:50
13 авг 2023, 02:50
62df9e5
Код
Авторство
О чём код?
# bash completion for sudo(8) -*- shell-script -*- _comp_cmd_sudo() { local cur prev words cword was_split comp_args _comp_initialize -s -- "$@" || return local i mode=normal [[ $1 == *sudoedit ]] && mode=edit local noargopts='!(-*|*[uUgCp]*)' [[ $mode == normal ]] && for ((i = 1; i <= cword; i++)); do if [[ ${words[i]} != -* ]]; then local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin local _comp_root_command=$1 _comp_command_offset $i return fi # shellcheck disable=SC2254 if [[ ${words[i]} == -@(${noargopts}e*|-edit) ]]; then mode=edit break fi # shellcheck disable=SC2254 [[ ${words[i]} == @(--@(user|other-user|group|close-from|prompt)|-${noargopts}[uUgCp]) ]] && ((i++)) done # shellcheck disable=SC2254 case "$prev" in --user | --other-user | -${noargopts}[uU]) _comp_compgen -- -u return ;; --group | -${noargopts}g) _comp_compgen -- -g return ;; --close-from | --prompt | -${noargopts}[Cp]) return ;; esac [[ $was_split ]] && return if [[ $cur == -* ]]; then _comp_compgen_help || _comp_compgen_usage [[ ${COMPREPLY-} == *= ]] && compopt -o nospace return fi if [[ $mode == edit ]]; then _comp_compgen_filedir fi } && complete -F _comp_cmd_sudo sudo sudoedit # ex: filetype=sh