# (c) 2007 Yoann Guillot, released under WTFPL # put in bash_completion.d for tab-completion of arguments for par2 / rar / nget have par2 && _par2() { local cur prev tmp i COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} if [[ "$COMP_CWORD" == '1' ]] then if [[ -z $cur ]] then COMPREPLY=(r) else COMPREPLY=( $( compgen -W "repair verify" -- $cur ) ) fi return 0 fi _expand || return 0 [[ "$COMP_CWORD" -gt 2 ]] && return 0 local IFS=$'\t\n' tmp=( $( compgen -f -X '!*.@(PAR2|par2|par|PAR)' -- $cur ) ) COMPREPLY=() for i in ${tmp[@]} do case $i in *.vol*+*) ;; *) COMPREPLY=( ${COMPREPLY[@]} $i ) ;; esac done COMPREPLY=( ${COMPREPLY[@]} $( compgen -d -- $cur ) ) } [ -n "${have:-}" ] && complete -F _par2 $filenames par2 have rar && _rar() { local cur tmp ori partial i IFS=$'\t\n' COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} if [[ "$COMP_CWORD" == '1' ]] then COMPREPLY=(x) return 0 fi _expand || return 0 ori=( $( compgen -f -X '!*.@(rar|RAR)' -- "$cur" ) ) tmp=() for i in "${ori[@]}" do case "$i" in *.part1.??? | *.part01.??? | *.part001.??? | *.part0001.???) partial='1' tmp=( "${tmp[@]}" "$i" ) ;; *.part*) ;; *) tmp=( "${tmp[@]}" "$i" ) ;; esac done [ -n "$partial" ] || tmp=( "${ori[@]}" ) COMPREPLY=( "${tmp[@]}" $( compgen -d -- "$cur" ) ) } [ -n "${have:-}" ] && complete -F _rar $filenames rar complete -f -X '!*.@(iso|ISO)' extract-xiso have nget && _nget() { local cur tmp cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} [[ "$prev" == '-g' || "$prev" == '-G' ]] || return 0 tmp=( $HOME/.nget5/*,cache.gz ) tmp=( ${tmp[@]##*/} ) tmp=( ${tmp[@]%,cache.gz} ) tmp=${tmp[@]} COMPREPLY=( $( compgen -W "$tmp" -- $cur ) ) } [ -n "${have:-}" ] && complete -F _nget nget # vim:ft=sh: