# bash completion for thunderbird(1) -*- shell-script -*- # # Copyright (C) 2017 Carsten Schoenert _thunderbird() { local cur prev OPTS FLAG_FIXMIME FLAG_SHOW_BACKUP COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" OPTS="--fixmime --help --show-backup -g --verbose" case $prev in '--fixmime') # Check if '--verbose' is already given, this is the only option that # '--fixmime' should be combined if [ ! $(compgen -W "${COMP_WORDS[*]}" -- "--verbose") ]; then COMPREPLY=( $(compgen -W "--verbose" -- $cur) ) fi return 0 ;; '--help'|'-g') return 0 ;; '--show-backup') # Check if '--verbose' is already given, this is the only option that # --show-backup should be combined if [ ! $(compgen -W "${COMP_WORDS[*]}" -- "--verbose") ]; then COMPREPLY=( $(compgen -W "--verbose" -- $cur) ) fi return 0 ;; '--verbose') FLAG_FIXMIME="" FLAG_SHOW_BACKUP="" # Check if '--fixmime' is already given if [ $(compgen -W "${COMP_WORDS[*]}" -- "--fixmime") ]; then # Yes, we have seen '-fixmime' FLAG_FIXMIME=1 fi # Check if '--show-backup' is already given if [ $(compgen -W "${COMP_WORDS[*]}" -- "--show-backup") ]; then # Yes, we have seen '--show-backup' FLAG_SHOW_BACKUP=1 fi if [ "$FLAG_FIXMIME" != "1" ] && [ "$FLAG_SHOW_BACKUP" != "1" ]; then COMPREPLY=( $(compgen -W "--fixmime --show-backup" -- $cur) ) fi return 0 ;; esac COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) return 0 } && complete -F _thunderbird thunderbird # ex: ts=4 sw=4 et filetype=sh