From 206e6f54677e3123fa926ef80a4fd2038a73a21e Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Thu, 26 Jun 2025 13:09:22 +0300 Subject: [PATCH] updated bash_completion --- auto_completion/bash_completion/winehelper | 32 ++++++++++------------ 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/auto_completion/bash_completion/winehelper b/auto_completion/bash_completion/winehelper index 2ade7ea..8669fc0 100644 --- a/auto_completion/bash_completion/winehelper +++ b/auto_completion/bash_completion/winehelper @@ -4,41 +4,39 @@ _winehelper_completions() { COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" - opts="--help --version --debug install installed run -r -i remove-all --clear-pfx remove-prefix backup-prefix restore-prefix winecfg winereg winefile wineconsole winetricks killall desktop regedit explorer cmd" + opts="--help --version --debug install installed -r -i remove-all --clear-pfx killall remove-prefix backup-prefix restore-prefix" + wine_cmd="winecfg winereg winefile wineconsole winetricks desktop regedit explorer cmd run" case "${prev}" in + winehelper) + COMPREPLY=( $(compgen -W "${opts} ${wine_cmd}" -- "${cur}") ) + return 0 + ;; + --debug) + COMPREPLY=( $(compgen -W "${wine_cmd}" -- "${cur}") ) + return 0 + ;; install|-i) - if [[ "${COMP_WORDS[COMP_CWORD-2]}" == "install" && "$cur" == "" ]]; then - COMPREPLY=( $(compgen -W "list" -- "${cur}") ) - else - local scripts=$(ls /usr/share/winehelper/autoinstall /usr/share/winehelper/manualinstall 2>/dev/null | grep -v '^list$') - COMPREPLY=( $(compgen -W "${scripts}" -- "${cur}") ) - fi + local scripts="$(ls -1 /usr/share/winehelper/autoinstall) $(ls -1 /usr/share/winehelper/manualinstall)" + COMPREPLY=( $(compgen -W "list ${scripts}" -- "${cur}") ) return 0 ;; - list) - COMPREPLY=() - return 0 - ;; - run) - local installed=$(grep -h "Exec=env" ~/.local/share/applications/WineHelper/*.desktop 2>/dev/null | awk -F'"' '{print $4}' | xargs -n1 basename) + run|installed) + local installed=$(grep -h "Exec=env" ~/.local/share/winehelper/*.desktop 2>/dev/null | awk -F'/' '{print $NF}' | awk -F'"' '{print $1}') COMPREPLY=( $(compgen -W "${installed}" -- "${cur}") ) return 0 ;; remove-prefix|backup-prefix) - local prefixes=$(ls ~/.local/share/winehelper/prefixes 2>/dev/null) + local prefixes=$(ls -1 ~/.local/share/winehelper/prefixes 2>/dev/null) COMPREPLY=( $(compgen -W "${prefixes}" -- "${cur}") ) return 0 ;; restore-prefix) - COMPREPLY=( $(compgen -f -X '!*.whpack' -- "${cur}") ) return 0 ;; *) ;; esac - - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) } complete -F _winehelper_completions winehelper