Merge pull request #148 from parantapa/master

Make pylint available as a python syntax checker
This commit is contained in:
Martin Grenfell 2012-01-18 04:49:52 -08:00
commit 1ef8a5b374

View File

@ -4,13 +4,15 @@
" "
"Authors: Martin Grenfell <martin.grenfell@gmail.com> "Authors: Martin Grenfell <martin.grenfell@gmail.com>
" kstep <me@kstep.me> " kstep <me@kstep.me>
" Parantapa Bhattacharya <parantapa@gmail.com>
" "
"============================================================================ "============================================================================
"
" in order to force the use of pyflakes if both flake8 and pyflakes are " For forcing the use of flake8, pyflakes, or pylint set
" available, add this to your .vimrc:
" "
" let g:syntastic_python_checker = 'pyflakes' " let g:syntastic_python_checker = 'pyflakes'
"
" in your .vimrc. Default is flake8.
if exists("loaded_python_syntax_checker") if exists("loaded_python_syntax_checker")
finish finish
@ -23,6 +25,8 @@ if !exists('g:syntastic_python_checker') || !executable('g:syntastic_python_chec
let g:syntastic_python_checker = 'flake8' let g:syntastic_python_checker = 'flake8'
elseif executable("pyflakes") elseif executable("pyflakes")
let g:syntastic_python_checker = 'pyflakes' let g:syntastic_python_checker = 'pyflakes'
elseif executable("pylint")
let g:syntastic_python_checker = 'pylint'
else else
finish finish
endif endif
@ -47,6 +51,18 @@ function! SyntaxCheckers_python_Term(i)
return '' return ''
endfunction endfunction
if g:syntastic_python_checker == 'pylint'
function! SyntaxCheckers_python_GetLocList()
let makeprg = 'pylint -f parseable -r n -i y ' .
\ shellescape(expand('%')) .
\ ' \| sed ''s_: \[[RC]_: \[W_''' .
\ ' \| sed ''s_: \[[F]_:\ \[E_'''
let errorformat = '%f:%l: [%t%n] %m,%-GNo config%m'
let errors = SyntasticMake({ 'makeprg': makeprg, 'errorformat': errorformat })
return errors
endfunction
else
function! SyntaxCheckers_python_GetLocList() function! SyntaxCheckers_python_GetLocList()
let makeprg = g:syntastic_python_checker.' '.shellescape(expand('%')) let makeprg = g:syntastic_python_checker.' '.shellescape(expand('%'))
let errorformat = let errorformat =
@ -58,3 +74,4 @@ function! SyntaxCheckers_python_GetLocList()
return errors return errors
endfunction endfunction
endif