X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/e338dadd0d83da0e77546451d71ad576aea7b187..8a573a9806eacf000b03b4bbf37aff4ce06d73a6:/ftplugin/python_flake8.vim diff --git a/ftplugin/python_flake8.vim b/ftplugin/python_flake8.vim index bd2c0b9..b26d9a1 100644 --- a/ftplugin/python_flake8.vim +++ b/ftplugin/python_flake8.vim @@ -1,7 +1,7 @@ " " Python filetype plugin for running flake8 " Language: Python (ft=python) -" Maintainer: Vincent Driessen +" Maintainer: Vincent Driessen " Version: Vim 7 (may work with lower Vim versions, but not tested) " URL: http://github.com/nvie/vim-flake8 " @@ -11,10 +11,14 @@ if exists("b:loaded_flake8_ftplugin") endif let b:loaded_flake8_ftplugin=1 -let s:flake8_cmd="flake8" - if !exists("*Flake8()") function Flake8() + if exists("g:flake8_cmd") + let s:flake8_cmd=g:flake8_cmd + else + let s:flake8_cmd="flake8" + endif + if !executable(s:flake8_cmd) echoerr "File " . s:flake8_cmd . " not found. Please install it first." return @@ -32,10 +36,41 @@ if !exists("*Flake8()") update endif + " read config + if exists("g:flake8_builtins") + let s:flake8_builtins_opt=" --builtins=".g:flake8_builtins + else + let s:flake8_builtins_opt="" + endif + + if exists("g:flake8_ignore") + let s:flake8_ignores=" --ignore=".g:flake8_ignore + else + let s:flake8_ignores="" + endif + + if exists("g:flake8_max_line_length") + let s:flake8_max_line_length=" --max-line-length=".g:flake8_max_line_length + else + let s:flake8_max_line_length="" + endif + + if exists("g:flake8_max_complexity") + let s:flake8_max_complexity=" --max-complexity=".g:flake8_max_complexity + else + let s:flake8_max_complexity="" + endif + + if exists("g:flake8_quickfix_location") + let s:flake8_quickfix_location=g:flake8_quickfix_location + else + let s:flake8_quickfix_location="belowright" + endif + " perform the grep itself let &grepformat="%f:%l:%c: %m\,%f:%l: %m" - let &grepprg=s:flake8_cmd - silent! grep! % + let &grepprg=s:flake8_cmd.s:flake8_builtins_opt.s:flake8_ignores.s:flake8_max_line_length.s:flake8_max_complexity + silent! grep! "%" " restore grep settings let &grepformat=l:old_gfm @@ -44,7 +79,7 @@ if !exists("*Flake8()") " open cwindow let has_results=getqflist() != [] if has_results - execute 'belowright copen' + execute s:flake8_quickfix_location." copen" setlocal wrap nnoremap c :cclose nnoremap q :cclose @@ -69,6 +104,5 @@ endif if !exists("no_plugin_maps") && !exists("no_flake8_maps") if !hasmapto('Flake8(') noremap :call Flake8() - noremap! :call Flake8() endif endif