diff --git a/autoload/ale.vim b/autoload/ale.vim index 189f1e46..ca75577a 100644 --- a/autoload/ale.vim +++ b/autoload/ale.vim @@ -125,12 +125,13 @@ function! ale#Var(buffer, variable_name) abort endfunction " Escape a string suitably for each platform. -" shellescape() does not work on Windows. +" shellescape does not work on Windows. function! ale#Escape(str) abort if fnamemodify(&shell, ':t') ==? 'cmd.exe' " FIXME: Fix shell escaping for Windows. return fnameescape(a:str) else - return shellescape(a:str) + " An extra space is used here to disable the custom-checks. + return shellescape (a:str) endif endfunction diff --git a/custom-checks b/custom-checks index 37d2840c..c4b329ca 100755 --- a/custom-checks +++ b/custom-checks @@ -63,6 +63,7 @@ check_errors() { 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 done fi @@ -75,5 +76,6 @@ 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___options instead' +check_errors 'shellescape(' 'Use ale#Escape instead of shellescape' exit $RETURN_CODE