" 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
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_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 <buffer> <silent> c :cclose<CR>
- nnoremap <buffer> <silent> q :cclose<CR>
+ if s:flake8_hide_quickfix == 0
+ execute s:flake8_quickfix_location." copen"
+ setlocal wrap
+ nnoremap <buffer> <silent> c :cclose<CR>
+ nnoremap <buffer> <silent> q :cclose<CR>
+ endif
endif
set nolazyredraw