#compdef flameshot # Shell completion for flameshot command # To be installed in "/usr/share/bash-completion/completions/flameshot" # and "/usr/share/zsh/site-functions/" _flameshot() { local prev cur cmd gui_opts full_opts config_opts COMPREPLY=() prev="${COMP_WORDS[COMP_CWORD-1]}" cur="${COMP_WORDS[COMP_CWORD]}" cmd="gui full config launcher screen" screen_opts="--number --path --delay --raw -p -d -r -n" gui_opts="--path --delay --raw -p -d -r" full_opts="--path --delay --clipboard --raw -p -d -c -r" config_opts="--contrastcolor --filename --maincolor --showhelp --trayicon --autostart -k -f -m -s -t -a" case "${prev}" in launcher) return 0 ;; screen) COMPREPLY=( $(compgen -W "$screen_opts --help -h" -- "${cur}") ) return 0 ;; gui) COMPREPLY=( $(compgen -W "$gui_opts --help -h" -- "${cur}") ) return 0 ;; full) COMPREPLY=( $(compgen -W "$full_opts --help -h" -- "${cur}") ) return 0 ;; config) COMPREPLY=( $(compgen -W "$config_opts --help -h" -- "${cur}") ) return 0 ;; -f|--filename|-p|--path) _filedir -d return 0 ;; -s|--showhelp|-t|--trayicon) COMPREPLY=( $(compgen -W "true false" -- "${cur}") ) return 0 ;; -d|--delay|-h|--help|-c|--clipboard|--version|-v|--number|-n) return 0 ;; *) ;; esac # Options case "${cur}" in -*) COMPREPLY=( $( compgen -W "--version --help -v -h" -- "${cur}") ) return 0 ;; --*) COMPREPLY=( $( compgen -W "--version --help" -- "${cur}") ) return 0 ;; *) COMPREPLY=( $( compgen -W "${cmd}" -- "${cur}") ) return 0 ;; esac } if [[ -n ${ZSH_VERSION} ]]; then autoload -U bashcompinit bashcompinit fi complete -F _flameshot flameshot