diff options
author | w0rp <devw0rp@gmail.com> | 2017-09-10 13:19:08 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2017-09-10 13:19:08 +0100 |
commit | c4ad92e458f51ce849baed3b628fbd2f43303ace (patch) | |
tree | bb199b6cf77dddf906f4ef64fadabe86229ce37a /custom-checks | |
parent | 18a7d32c4cc77d0eaa9ff860f86a307d0baafa09 (diff) | |
download | ale-c4ad92e458f51ce849baed3b628fbd2f43303ace.zip |
Move scripts for tests into the test directory, and do not export the Batch script for running tests
Diffstat (limited to 'custom-checks')
-rwxr-xr-x | custom-checks | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/custom-checks b/custom-checks deleted file mode 100755 index aad16c9c..00000000 --- a/custom-checks +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -eu - -# This Bash script implements custom sanity checks for scripts beyond what -# Vint covers, which are easy to check with regex. - -# A flag for automatically fixing some errors. -FIX_ERRORS=0 -RETURN_CODE=0 - -function print_help() { - echo "Usage: ./custom-checks [--fix] [DIRECTORY]" 1>&2 - echo 1>&2 - echo " -h, --help Print this help text" 1>&2 - echo " --fix Automatically fix some errors" 1>&2 - exit 1 -} - -while [ $# -ne 0 ]; do - case $1 in - -h) ;& --help) - print_help - ;; - --fix) - FIX_ERRORS=1 - shift - ;; - --) - 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 - -directories=("$@") - -check_errors() { - regex="$1" - message="$2" - - for directory in "${directories[@]}"; do - while IFS= read -r match; do - RETURN_CODE=1 - echo "$match $message" - done < <(grep -n "$regex" "$directory"/**/*.vim \ - | grep -v 'no-custom-checks' \ - | grep -o '^[^:]\+:[0-9]\+' \ - | sed 's:^\./::') - done -} - -if (( FIX_ERRORS )); then - for directory in "${directories[@]}"; do - sed -i "s/^\(function.*)\) *$/\1 abort/" "$directory"/**/*.vim - sed -i "s/shellescape(/ale#Escape(/" "$directory"/**/*.vim - sed -i 's/==#/is#/g' "$directory"/**/*.vim - sed -i 's/==?/is?/g' "$directory"/**/*.vim - sed -i 's/!=#/isnot#/g' "$directory"/**/*.vim - sed -i 's/!=?/isnot?/g' "$directory"/**/*.vim - done -fi - -check_errors \ - '^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 '^ [^ ]' 'Use four spaces, not two spaces' -check_errors $'\t' 'Use four spaces, not tabs' -# This check should prevent people from using a particular inconsistent name. -check_errors 'let g:ale_\w\+_\w\+_args =' 'Name your option g:ale_<filetype>_<lintername>_options instead' -check_errors 'shellescape(' 'Use ale#Escape instead of shellescape' -check_errors 'simplify(' 'Use ale#path#Simplify instead of simplify' -check_errors "expand(['\"]%" "Use expand('#' . a:buffer . '...') instead. You might get a filename for the wrong buffer." -check_errors '==#' "Use 'is#' instead of '==#'. 0 ==# 'foobar' is true" -check_errors '==?' "Use 'is?' instead of '==?'. 0 ==? 'foobar' is true" -check_errors '!=#' "Use 'isnot#' instead of '!=#'. 0 !=# 'foobar' is false" -check_errors '!=?' "Use 'isnot?' instead of '!=?'. 0 !=? 'foobar' is false" - -exit $RETURN_CODE |