Properly escape % for makeprg

This commit is contained in:
Jeremy Cantrell 2010-09-24 10:36:53 +08:00 committed by Martin Grenfell
parent 2679a8ce6a
commit c61890f1b7
14 changed files with 16 additions and 16 deletions

View File

@ -80,12 +80,12 @@ function! s:Init()
endfunction endfunction
function! SyntaxCheckers_c_GetLocList() function! SyntaxCheckers_c_GetLocList()
let makeprg = 'gcc -fsyntax-only %' let makeprg = 'gcc -fsyntax-only '.shellescape(expand('%'))
let errorformat = '%-G%f:%s:,%f:%l: %m' let errorformat = '%-G%f:%s:,%f:%l: %m'
if expand('%') =~? '.h$' if expand('%') =~? '.h$'
if exists('g:syntastic_c_check_header') if exists('g:syntastic_c_check_header')
let makeprg = 'gcc -c %' let makeprg = 'gcc -c '.shellescape(expand('%'))
else else
return [] return []
endif endif

View File

@ -25,12 +25,12 @@ if !executable('g++')
endif endif
function! SyntaxCheckers_cpp_GetLocList() function! SyntaxCheckers_cpp_GetLocList()
let makeprg = 'g++ -fsyntax-only %' let makeprg = 'g++ -fsyntax-only '.shellescape(expand('%'))
let errorformat = '%-G%f:%s:,%f:%l: %m' let errorformat = '%-G%f:%s:,%f:%l: %m'
if expand('%') =~? '\%(.h\|.hpp\|.hh\)$' if expand('%') =~? '\%(.h\|.hpp\|.hh\)$'
if exists('g:syntastic_cpp_check_header') if exists('g:syntastic_cpp_check_header')
let makeprg = 'g++ -c %' let makeprg = 'g++ -c '.shellescape(expand('%'))
else else
return [] return []
endif endif

View File

@ -20,7 +20,7 @@ if !executable("cucumber")
endif endif
function! SyntaxCheckers_cucumber_GetLocList() function! SyntaxCheckers_cucumber_GetLocList()
let makeprg = 'cucumber --dry-run --quiet --strict --format pretty %' let makeprg = 'cucumber --dry-run --quiet --strict --format pretty '.shellescape(expand('%'))
let errorformat = '%f:%l:%c:%m,%W %.%# (%m),%-Z%f:%l:%.%#,%-G%.%#' let errorformat = '%f:%l:%c:%m,%W %.%# (%m),%-Z%f:%l:%.%#,%-G%.%#'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })

View File

@ -20,7 +20,7 @@ if !executable("ruby") || !executable("cat")
endif endif
function! SyntaxCheckers_eruby_GetLocList() function! SyntaxCheckers_eruby_GetLocList()
let makeprg='cat '. expand("%") . ' \| RUBYOPT= ruby -e "require \"erb\"; puts ERB.new(ARGF.read, nil, \"-\").src" \| RUBYOPT= ruby -c' let makeprg='cat '. shellescape(expand("%")) . ' \| RUBYOPT= ruby -e "require \"erb\"; puts ERB.new(ARGF.read, nil, \"-\").src" \| RUBYOPT= ruby -c'
let errorformat='%-GSyntax OK,%E-:%l: syntax error\, %m,%Z%p^,%W-:%l: warning: %m,%Z%p^,%-C%.%#' let errorformat='%-GSyntax OK,%E-:%l: syntax error\, %m,%Z%p^,%W-:%l: warning: %m,%Z%p^,%-C%.%#'
let loclist = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) let loclist = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })

View File

@ -22,7 +22,7 @@ endif
" As this calls ghc, it can take a few seconds... maybe hlint or something " As this calls ghc, it can take a few seconds... maybe hlint or something
" could do a good enough job? " could do a good enough job?
function! SyntaxCheckers_haskell_GetLocList() function! SyntaxCheckers_haskell_GetLocList()
let makeprg = 'ghc % -e :q' let makeprg = 'ghc '.shellescape(expand('%')).' -e :q'
let errorformat = '%-G\\s%#,%f:%l:%c:%m,%E%f:%l:%c:,%Z%m,' let errorformat = '%-G\\s%#,%f:%l:%c:%m,%E%f:%l:%c:,%Z%m,'

View File

@ -23,7 +23,7 @@ function! SyntaxCheckers_html_GetLocList()
"grep out the '<table> lacks "summary" attribute' since it is almost "grep out the '<table> lacks "summary" attribute' since it is almost
"always present and almost always useless "always present and almost always useless
let makeprg="tidy -e % 2>&1 \\| grep -v '\<table\> lacks \"summary\" attribute'" let makeprg="tidy -e "..shellescape(expand('%'))." 2>&1 \\| grep -v '\<table\> lacks \"summary\" attribute'"
let errorformat='%Wline %l column %c - Warning: %m,%Eline %l column %c - Error: %m,%-G%.%#,%-G%.%#' let errorformat='%Wline %l column %c - Warning: %m,%Eline %l column %c - Error: %m,%-G%.%#,%-G%.%#'
let loclist = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) let loclist = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })

View File

@ -20,7 +20,7 @@ if !executable("jsl")
endif endif
function! SyntaxCheckers_javascript_GetLocList() function! SyntaxCheckers_javascript_GetLocList()
let makeprg = "jsl -nologo -nofilelisting -nosummary -nocontext -process %" let makeprg = "jsl -nologo -nofilelisting -nosummary -nocontext -process ".shellescape(expand('%'))
let errorformat='%W%f(%l): lint warning: %m,%-Z%p^,%W%f(%l): warning: %m,%-Z%p^,%E%f(%l): SyntaxError: %m,%-Z%p^,%-G' let errorformat='%W%f(%l): lint warning: %m,%-Z%p^,%W%f(%l): warning: %m,%-Z%p^,%E%f(%l): SyntaxError: %m,%-Z%p^,%-G'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
endfunction endfunction

View File

@ -24,7 +24,7 @@ if !executable("perl")
endif endif
function! SyntaxCheckers_perl_GetLocList() function! SyntaxCheckers_perl_GetLocList()
let makeprg = $VIMRUNTIME.'/tools/efm_perl.pl -c %' let makeprg = $VIMRUNTIME.'/tools/efm_perl.pl -c '.shellescape(expand('%'))
let errorformat = '%f:%l:%m' let errorformat = '%f:%l:%m'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })

View File

@ -20,7 +20,7 @@ if !executable("php")
endif endif
function! SyntaxCheckers_php_GetLocList() function! SyntaxCheckers_php_GetLocList()
let makeprg = "php -l %" let makeprg = "php -l ".shellescape(expand('%'))
let errorformat='%-GNo syntax errors detected in%.%#,PHP Parse error: %#syntax %trror\, %m in %f on line %l,PHP Fatal %trror: %m in %f on line %l,%-GErrors parsing %.%#,%-G\s%#,Parse error: %#syntax %trror\, %m in %f on line %l,Fatal %trror: %m in %f on line %l' let errorformat='%-GNo syntax errors detected in%.%#,PHP Parse error: %#syntax %trror\, %m in %f on line %l,PHP Fatal %trror: %m in %f on line %l,%-GErrors parsing %.%#,%-G\s%#,Parse error: %#syntax %trror\, %m in %f on line %l,Fatal %trror: %m in %f on line %l'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
endfunction endfunction

View File

@ -9,7 +9,7 @@ if !executable("pyflakes")
endif endif
function! SyntaxCheckers_python_GetLocList() function! SyntaxCheckers_python_GetLocList()
let makeprg = 'pyflakes %' let makeprg = 'pyflakes '.shellescape(expand('%'))
let errorformat = '%E%f:%l: could not compile,%-Z%p^,%W%f:%l: %m,%-G%.%#' let errorformat = '%E%f:%l: could not compile,%-Z%p^,%W%f:%l: %m,%-G%.%#'
let errors = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) let errors = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })

View File

@ -20,7 +20,7 @@ if !executable("ruby")
endif endif
function! SyntaxCheckers_ruby_GetLocList() function! SyntaxCheckers_ruby_GetLocList()
let makeprg = 'RUBYOPT= ruby -W1 -c %' let makeprg = 'RUBYOPT= ruby -W1 -c '.shellescape(expand('%'))
let errorformat = '%-GSyntax OK,%E%f:%l: syntax error\, %m,%Z%p^,%W%f:%l: warning: %m,%Z%p^,%-C%.%#' let errorformat = '%-GSyntax OK,%E%f:%l: syntax error\, %m,%Z%p^,%W%f:%l: warning: %m,%Z%p^,%-C%.%#'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })

View File

@ -20,7 +20,7 @@ if !executable("sass")
endif endif
function! SyntaxCheckers_sass_GetLocList() function! SyntaxCheckers_sass_GetLocList()
let makeprg='sass --check %' let makeprg='sass --check '.shellescape(expand('%'))
let errorformat = '%Wwarning on line %l:,%Z%m,Syntax %trror on line %l: %m' let errorformat = '%Wwarning on line %l:,%Z%m,Syntax %trror on line %l: %m'
let loclist = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) let loclist = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })

View File

@ -20,7 +20,7 @@ if !executable("lacheck")
endif endif
function! SyntaxCheckers_tex_GetLocList() function! SyntaxCheckers_tex_GetLocList()
let makeprg = 'lacheck %' let makeprg = 'lacheck '.shellescape(expand('%'))
let errorformat = '%E"%f"\, line %l: %m' let errorformat = '%E"%f"\, line %l: %m'
return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) return SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
endfunction endfunction

View File

@ -21,7 +21,7 @@ endif
function! SyntaxCheckers_xhtml_GetLocList() function! SyntaxCheckers_xhtml_GetLocList()
let makeprg="tidy -xml -e %" let makeprg="tidy -xml -e ".shellescape(expand('%'))
let errorformat='%Wline %l column %c - Warning: %m,%Eline %l column %c - Error: %m,%-G%.%#,%-G%.%#' let errorformat='%Wline %l column %c - Warning: %m,%Eline %l column %c - Error: %m,%-G%.%#,%-G%.%#'
let loclist = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat }) let loclist = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })