X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/66174e2d85c3aa21c8c12825f9389fdaefbf277e..971889ff067dc435e81c4eb1942dc9f66552ed70:/ftplugin/python_flake8.vim diff --git a/ftplugin/python_flake8.vim b/ftplugin/python_flake8.vim index 2fc7ed4..18d0bf3 100644 --- a/ftplugin/python_flake8.vim +++ b/ftplugin/python_flake8.vim @@ -30,6 +30,7 @@ if !exists("*Flake8()") " store old grep settings (to restore later) let l:old_gfm=&grepformat let l:old_gp=&grepprg + let l:old_shellpipe=&shellpipe " write any changes before continuing if &readonly == 0 @@ -37,6 +38,12 @@ if !exists("*Flake8()") 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 @@ -55,22 +62,40 @@ if !exists("*Flake8()") 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 + + if exists("g:flake8_hide_quickfix") + let s:flake8_hide_quickfix=g:flake8_hide_quickfix + else + let s:flake8_hide_quickfix=0 + endif + + " set shellpipe to > instead of tee (suppressing output) + set shellpipe=> + " perform the grep itself let &grepformat="%f:%l:%c: %m\,%f:%l: %m" - let &grepprg=s:flake8_cmd.s:flake8_ignores.s:flake8_max_line_length.s:flake8_max_complexity - 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 let &grepprg=l:old_gp + let &shellpipe=l:old_shellpipe " open cwindow let has_results=getqflist() != [] if has_results - execute 'belowright copen' - setlocal wrap - nnoremap c :cclose - nnoremap q :cclose + if s:flake8_hide_quickfix == 0 + execute s:flake8_quickfix_location." copen" + setlocal wrap + nnoremap c :cclose + nnoremap q :cclose + endif endif set nolazyredraw