diff options
Diffstat (limited to '.vim/contrib/vimhelplint')
-rwxr-xr-x | .vim/contrib/vimhelplint | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/.vim/contrib/vimhelplint b/.vim/contrib/vimhelplint new file mode 100755 index 0000000..3a87e2c --- /dev/null +++ b/.vim/contrib/vimhelplint @@ -0,0 +1,46 @@ +#!/bin/sh +# A wrapper around vim-vimhelp (https://github.com/machakann/vim-vimhelplint). +# +# This file is automatically used by autoload/neomake/makers/ft/help.vim, if +# vimhelplint is installed in Neomake's build dir (and `vimhelplint` is not +# found as an executable). +# +# You can run `make build/vimhelplint` (from Neomake's root) to +# download/install it into Neomake's build dir, and Neomake will use this for +# help files then. + +if [ -z "$VIMHELPLINT_DIR" ]; then + # Change to parent dir (not POSIXly, but resolving symlinks). + CDPATH='' cd -P -- "$(dirname -- "$(readlink -f -- "$0" 2>/dev/null || echo "$0")")/.." || exit + VIMHELPLINT_DIR=$PWD/build/vimhelplint + cd - >/dev/null || exit +fi +vimhelplint=${VIMHELPLINT_DIR}/ftplugin/help_lint.vim + +if ! [ -f "$vimhelplint" ]; then + echo "$vimhelplint not found." >&2 + echo "Run 'make build/vimhelplint' Neomake's root directory to install it." >&2 + exit 64 +fi + +file="$1" +if [ -z "$file" ]; then + echo 'No input file specified.' >&2 + exit 64 +fi +if ! [ -e "$file" ]; then + echo "File $file is not readable." >&2 + exit 1 +fi + +out=$(${VIMHELPLINT_VIM:-vim} -esN -u NONE -i NONE \ + -c "silent edit $1" \ + -c 'set ft=help' \ + -c "source $vimhelplint" \ + -c 'verb VimhelpLintEcho' \ + -c 'qall!' 2>&1) +if [ -z "$out" ]; then + exit 0 +fi +echo "$out" +exit 1 |