lint 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/bin/sh
  2. #
  3. # Run all linting tools.
  4. #
  5. set -euC
  6. vimgodir=$(cd -P "$(dirname "$0")/.." > /dev/null && pwd)
  7. cd "$vimgodir"
  8. ### Setup Vim and other dependencies.
  9. #####################################
  10. if [ -z "${1:-}" ]; then
  11. echo "unknown version: '${1:-}'"
  12. echo "First argument must be 'vim-7.4', 'vim-8.0', or 'nvim'."
  13. exit 1
  14. fi
  15. vim=$1
  16. vimdir="/tmp/vim-go-test/$vim-install"
  17. export GOPATH=$vimdir
  18. export PATH=${GOPATH}/bin:$PATH
  19. if [ ! -f "$vimdir/bin/vim" ]; then
  20. echo "$vimdir/bin/vim doesn't exist; did you install it with the install-vim script?"
  21. exit 1
  22. fi
  23. ### Run vint
  24. ############
  25. failed=0
  26. printf "Running vint ... "
  27. if [ -x "$(command -v vint)" ]; then
  28. lint=$(vint "$vimgodir" 2>&1 ||:)
  29. if [ -n "$lint" ]; then
  30. echo "FAILED"
  31. echo "$lint"
  32. echo
  33. failed=6
  34. else
  35. echo "PASSED"
  36. fi
  37. else
  38. echo "SKIPPED"
  39. echo "'vint' binary not found; use 'pip install vim-vint' to install it."
  40. fi
  41. ### Run vim-vimlint
  42. ###################
  43. printf "Running vim-vimlint ... "
  44. lint=$(sh "$vimdir/share/vim/vimgo/pack/vim-go/start/vim-vimlint/bin/vimlint.sh" \
  45. -p "$vimdir/share/vim/vimgo/pack/vim-go/start/vim-vimlparser" \
  46. -l "$vimdir/share/vim/vimgo/pack/vim-go/start/vim-vimlint" \
  47. -u \
  48. -c func_abort=1 \
  49. -e EVL110=1 -e EVL103=1 -e EVL104=1 -e EVL102=1 \
  50. "$vimgodir" \
  51. 2>&1 ||:)
  52. if [ -n "$lint" ]; then
  53. echo "FAILED"
  54. echo "$lint"
  55. echo
  56. failed=6
  57. else
  58. echo "PASSED"
  59. fi
  60. ### Run vimhelplint.
  61. ####################
  62. printf "Running vimhelplint ... "
  63. # set modeline explicitly so that the modeline will be respected when run as root.
  64. lint=$($vimdir/bin/vim -esNR \
  65. --cmd "set rtp+=$vimdir/share/vim/vimgo/pack/vim-go/start/vim-vimhelplint/" \
  66. --cmd 'set modeline' \
  67. +'filetype plugin on' \
  68. +"e $vimgodir/doc/vim-go.txt" \
  69. +'verbose VimhelpLintEcho' \
  70. +q \
  71. 2>&1 ||:)
  72. if [ "$lint" ]; then
  73. echo "FAILED"
  74. echo "$lint"
  75. failed=6
  76. else
  77. echo "PASSED"
  78. fi
  79. exit "$failed"