/bash_completion.d/msynctool

http://github.com/brinkman83/bashrc · #! · 55 lines · 49 code · 6 blank · 0 comment · 0 complexity · bf91d1c6e3250b50460407028fe8cdf1 MD5 · raw file

  1. # bash completion for msynctool
  2. have msynctool &&
  3. _msynctool()
  4. {
  5. local cur prev anteprev
  6. COMPREPLY=()
  7. cur=`_get_cword`
  8. prev=${COMP_WORDS[COMP_CWORD-1]}
  9. if [ $COMP_CWORD -ge 2 ]; then
  10. anteprev=${COMP_WORDS[COMP_CWORD-2]}
  11. fi
  12. case $anteprev in
  13. --configure)
  14. COMPREPLY=( $( compgen -W "$(msynctool --showgroup \
  15. $prev | awk '/^Member/ {print $2}' | sed \
  16. -e 's/:$//' )" -- "$cur" ) )
  17. return 0
  18. ;;
  19. --addmember)
  20. COMPREPLY=( $( compgen -W '$(msynctool --listplugins \
  21. | sed -e '1d' )' -- "$cur" ) )
  22. return 0
  23. ;;
  24. esac
  25. case $prev in
  26. --@(configure|@(add|del|show)group|sync|addmember))
  27. COMPREPLY=( $( compgen -W '$(msynctool --listgroups \
  28. | sed -e '1d' )' -- "$cur" ) )
  29. return 0
  30. ;;
  31. --@(showformats|filter-objtype|slow-sync))
  32. COMPREPLY=( $( compgen -W '$(msynctool --listobjects \
  33. | sed -e '1d' )' -- "$cur" ) )
  34. return 0
  35. ;;
  36. esac
  37. COMPREPLY=( $( compgen -W '--listgroups --listplugins --listobjects \
  38. --showformats --showgroup --sync --filter-objtype --slow-sync \
  39. --wait --multi --addgroup --delgroup --addmember --configure \
  40. --manual --configdir --conflict' -- "$cur" ) )
  41. } &&
  42. complete -F _msynctool msynctool
  43. # Local variables:
  44. # mode: shell-script
  45. # sh-basic-offset: 4
  46. # sh-indent-comment: t
  47. # indent-tabs-mode: nil
  48. # End:
  49. # ex: ts=4 sw=4 et filetype=sh