/
githubmirror
/
bash-completion
Обзор
Документация
Войти
/
githubmirror
/
bash-completion
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.15.0
completions/set
50 строк
1 KB
Ville Skyttä
feat(set): more featureful completion
13 май 2024, 23:11
13 май 2024, 23:11
1cb3eae
Код
Авторство
О чём код?
# bash completion for set -*- shell-script -*- _comp_cmd_set() { local cur prev words cword comp_args _comp_initialize -- "$@" || return local noargopts='!(-*|*[o]*)' # shellcheck disable=SC2254 case "$prev" in [+-]${noargopts}o) _comp_compgen -- -A setopt return ;; esac local i want_options=set for ((i = 1; i < cword; i++)); do if [[ ${words[i]} == -?(-) ]]; then want_options="" break fi done if [[ $want_options && $cur == [+-]* ]]; then local has_plus="" if [[ $cur == +?([a-zA-Z]) ]]; then has_plus=set cur=${cur/#+/-} fi _comp_compgen_usage if [[ $has_plus ]]; then local i for i in "${!COMPREPLY[@]}"; do if [[ ${COMPREPLY[i]} == -- ]]; then unset -v 'COMPREPLY[i]' else COMPREPLY[i]=${COMPREPLY[i]/#-/+} fi done fi return fi _comp_compgen_filedir } && complete -F _comp_cmd_set set # ex: filetype=sh