/bash_completion.d/xmllint

http://github.com/brinkman83/bashrc · #! · 56 lines · 50 code · 6 blank · 0 comment · 0 complexity · 299b862c3242f719cf970b9b7db1dde3 MD5 · raw file

  1. # bash completion for xmllint(1)
  2. have xmllint &&
  3. _xmllint()
  4. {
  5. local cur prev
  6. COMPREPLY=()
  7. cur=`_get_cword`
  8. prev=${COMP_WORDS[COMP_CWORD-1]}
  9. case "$prev" in
  10. -o|--output)
  11. _filedir
  12. return 0
  13. ;;
  14. --path|--dtdvalidfpi|--maxmem|--encode|--pattern)
  15. # argument required but no completions available
  16. return 0
  17. ;;
  18. --dtdvalid)
  19. _filedir dtd
  20. return 0
  21. ;;
  22. --relaxng)
  23. _filedir rng
  24. return 0
  25. ;;
  26. --schema)
  27. _filedir xsd
  28. return 0
  29. ;;
  30. --schematron)
  31. _filedir sch
  32. return 0
  33. ;;
  34. esac
  35. if [[ "$cur" == -* ]]; then
  36. COMPREPLY=( $( compgen -W '$( xmllint --help 2>&1 | \
  37. sed -ne "s/^[[:space:]]*\(--[^[:space:]:]*\).*/\1/p" ) \
  38. -o' -- "$cur" ) )
  39. return 0
  40. fi
  41. _filedir '@(*ml|htm|svg)'
  42. } &&
  43. complete -F _xmllint $filenames xmllint
  44. # Local variables:
  45. # mode: shell-script
  46. # sh-basic-offset: 4
  47. # sh-indent-comment: t
  48. # indent-tabs-mode: nil
  49. # End:
  50. # ex: ts=4 sw=4 et filetype=sh