/
githubmirror
/
bash-completion
Обзор
Документация
Войти
/
githubmirror
/
bash-completion
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.6
completions/export
66 строк
2 KB
Ville Skyttä
*: Move indentation settings to .editorconfig
24 авг 2016, 14:33
24 авг 2016, 14:33
619fb1f
Код
Авторство
О чём код?
# bash export completion -*- shell-script -*- _export() { local cur prev words cword _init_completion -n = || return local i action=variable remove=false for (( i=1; i < cword; i++ )); do case ${words[i]} in -p) return ;; -*f*) action=function ;;& -*n*) remove=true ;; -*) continue ;; esac break done if [[ $cur == *=* ]]; then local ocur=$cur oprev=$prev prev=${cur%%=*} cur=${cur#*=} _variables && return cur=$ocur prev=$oprev fi case $cur in *=) local pval=$( quote "$( eval printf %s \"\$${cur%=}\" )" ) # Complete previous value if it's not empty. if [[ $pval != \'\' ]]; then COMPREPLY=( "$pval" ) else cur=${cur#*=} _filedir fi ;; *=*) cur=${cur#*=} _filedir ;; *) if [[ $cword -eq 1 && $cur == -* ]]; then COMPREPLY=( $( compgen -W \ '-p $( _parse_usage "$1" )' -- "$cur" ) ) return fi local suffix if ! $remove; then suffix+== compopt -o nospace fi COMPREPLY=( $( compgen -A $action -S "$suffix" -- "$cur" ) ) ;; esac } && complete -F _export export # ex: filetype=sh