completion/boom.bash in boom-0.2.3 vs completion/boom.bash in boom-0.2.4

- old
+ new

@@ -1,23 +1,17 @@ _boom_complete() { - local cur prev lists + local cur prev lists curr_list items COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" + curr_list=`eval echo "$prev"` + local IFS=$'\n' - lists=`boom | awk '{print $1}'` - - case "${prev}" in - boom) - COMPREPLY=( $(compgen -W "${lists}" -- ${cur}) ) - return 0 - ;; - *) - for ((i = 0; i < ${#lists}; i++)); do - local items=`boom $prev | awk '{print $1}' | sed -e 's/://'` - COMPREPLY=( $(compgen -W "${items}" -- ${cur})) - return 0 - done - ;; - esac + if [ $COMP_CWORD -eq 1 ]; then + lists=`boom | sed 's/^ \(.*\) ([0-9]\+)$/\1/'` + COMPREPLY=( $( compgen -W '${lists}' -- ${cur} ) ) + elif [ $COMP_CWORD -eq 2 ]; then + items=`boom $curr_list | sed 's/^ \(.\{0,16\}\):.*$/\1/'` + COMPREPLY=( $( compgen -W '${items}' -- ${cur} ) ) + fi } -complete -F _boom_complete boom +complete -o filenames -F _boom_complete boom