added auto-completion of commands for winhelper
This commit is contained in:
		
							
								
								
									
										44
									
								
								bash_completion/winehelper
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								bash_completion/winehelper
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | |||||||
|  | # Auto-completion for winhelper | ||||||
|  | _winehelper_completions() { | ||||||
|  |     local cur prev opts | ||||||
|  |     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" | ||||||
|  |  | ||||||
|  |     case "${prev}" in | ||||||
|  |         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 | ||||||
|  |             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) | ||||||
|  |             COMPREPLY=( $(compgen -W "${installed}" -- "${cur}") ) | ||||||
|  |             return 0 | ||||||
|  |             ;; | ||||||
|  |         remove-prefix|backup-prefix) | ||||||
|  |             local prefixes=$(ls ~/.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 | ||||||
		Reference in New Issue
	
	Block a user