aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.vim/contrib/vimhelplint
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.vim/contrib/vimhelplint')
-rwxr-xr-xdotfiles/.vim/contrib/vimhelplint46
1 files changed, 46 insertions, 0 deletions
diff --git a/dotfiles/.vim/contrib/vimhelplint b/dotfiles/.vim/contrib/vimhelplint
new file mode 100755
index 0000000..3a87e2c
--- /dev/null
+++ b/dotfiles/.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