aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.local/share/nvim/site/contrib/vim-checks
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.local/share/nvim/site/contrib/vim-checks')
-rwxr-xr-xdotfiles/.local/share/nvim/site/contrib/vim-checks123
1 files changed, 0 insertions, 123 deletions
diff --git a/dotfiles/.local/share/nvim/site/contrib/vim-checks b/dotfiles/.local/share/nvim/site/contrib/vim-checks
deleted file mode 100755
index c4791d7..0000000
--- a/dotfiles/.local/share/nvim/site/contrib/vim-checks
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/usr/bin/env bash
-
-set -eu
-
-# This Bash script implements custom sanity checks for scripts beyond what
-# Vint covers, which are easy to check with regex.
-#
-# Adopted from ALE (https://github.com/w0rp/ale/blob/10679b29/custom-checks)
-#
-# Copyright (c) 2016, w0rp <devw0rp@gmail.com>
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
-# and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-RETURN_CODE=0
-
-function print_help() {
- echo "Usage: ./custom-checks FILE|DIRECTORY…" 1>&2
- echo 1>&2
- echo " -h, --help Print this help text" 1>&2
- exit 1
-}
-
-while [ $# -ne 0 ]; do
- case $1 in
- -h) ;& --help)
- print_help
- ;;
- --)
- shift
- break
- ;;
- -?*)
- echo "Invalid argument: $1" 1>&2
- exit 1
- ;;
- *)
- break
- ;;
- esac
-done
-
-if [ $# -eq 0 ] || [ -z "$1" ]; then
- print_help
-fi
-
-shopt -s globstar
-
-args=("$@")
-
-expand_arg() {
- if [[ -d $arg ]]; then
- expanded_arg=("$arg"/**/*.vim)
- else
- expanded_arg=("$arg")
- fi
-}
-
-check_errors() {
- regex="$1"; shift
- message="$1"; shift
-
- for arg in "${args[@]}"; do
- expand_arg "$arg"
- # Ensure that errors from grep are not ignored, i.e. busybox's grep
- # does not have "--with-filename".
- set +e
- output="$(grep "$@" --with-filename -n "$regex" "${expanded_arg[@]}" 2>&1)"
- ret=$?
- set -e
- if (( ret > 1 )); then
- echo "$output"
- RETURN_CODE=2
- continue
- fi
- if [[ -z "$output" ]]; then
- continue
- fi
-
- while IFS= read -r match; do
- RETURN_CODE=1
- echo "$match $message"
- done < <(echo "$output" \
- | grep -o '^[^:]\+\(:[0-9]\+\)\?:' \
- | sed 's:^\./::')
- done
-}
-
-check_errors \
- '^\s*function.*) *$' \
- 'Function without abort keyword (See :help except-compat)'
-check_errors ' \+$' 'Trailing whitespace'
-check_errors '^ * end\?i\? *$' 'Write endif, not en, end, or endi'
-check_errors '^(( )*([^ ]|$)|\s+\\)' 'Use four spaces for indentation' -v -E
-check_errors $'\t' 'Do not use tabs for indentation'
-check_errors '^\s*[^" ].*[^&]l:[a-z]' 'Do not use l: prefix for local variables'
-for arg in "${args[@]}"; do
- expand_arg "$arg"
- grep --files-without-match '^"[ ]vim: ts=4 sw=4 et' "${expanded_arg[@]}" \
- | while read -r f; do
- echo "$f:$(( $(wc -l "$f" | cut -f1 -d\ ) + 1)): Missing modeline"
- done
-done
-
-exit $RETURN_CODE