/bash_completion_lib/complete/postcat

http://github.com/brinkman83/bashrc · #! · 42 lines · 37 code · 5 blank · 0 comment · 0 complexity · 3995a39e6fa2b83ebf7687028e390a8b MD5 · raw file

  1. # postcat(1)
  2. #
  3. comp_include _filedir _get_cword
  4. _postcat()
  5. {
  6. local cur prev pval len idx qfile
  7. cur=`_get_cword`
  8. prev=${COMP_WORDS[COMP_CWORD-1]}
  9. if [[ $cur == '-' ]]; then
  10. COMPREPLY=(-c -q -v)
  11. return 0
  12. fi
  13. if [[ $prev == '-c' ]]; then
  14. _filedir -d
  15. return 0
  16. fi
  17. qfile=0
  18. for idx in ${COMP_WORDS[@]}; do
  19. [[ "$idx" = -q ]] && qfile=1 && break
  20. done
  21. if [[ $qfile == 1 ]]; then
  22. len=${#cur}
  23. idx=0
  24. for pval in $( mailq | \
  25. sed -e '1d; $d; /^[^0-9A-Z]\|^$/d; s/[* !].*$//' ); do
  26. if [[ "$cur" == "${pval:0:$len}" ]]; then
  27. COMPREPLY[$idx]=$pval
  28. idx=$(($idx+1))
  29. fi
  30. done
  31. return 0
  32. else
  33. _filedir
  34. return 0
  35. fi
  36. }
  37. _postcat