All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
2 " Python filetype plugin for running flake8
3 " Language: Python (ft=python)
4 " Maintainer: Vincent Driessen <vincent@3rdcloud.com>
5 " Version: Vim 7 (may work with lower Vim versions, but not tested)
6 " URL: http://github.com/nvie/vim-flake8
8 " Only do this when not done yet for this buffer
9 if exists("b:loaded_flake8_ftplugin")
12 let b:loaded_flake8_ftplugin=1
14 if !exists("*Flake8()")
16 if exists("g:flake8_cmd")
17 let s:flake8_cmd=g:flake8_cmd
19 let s:flake8_cmd="flake8"
22 if !executable(s:flake8_cmd)
23 echoerr "File " . s:flake8_cmd . " not found. Please install it first."
27 set lazyredraw " delay redrawing
28 cclose " close any existing cwindows
30 " store old grep settings (to restore later)
31 let l:old_gfm=&grepformat
33 let l:old_shellpipe=&shellpipe
35 " write any changes before continuing
41 if exists("g:flake8_builtins")
42 let s:flake8_builtins_opt=" --builtins=".g:flake8_builtins
44 let s:flake8_builtins_opt=""
47 if exists("g:flake8_ignore")
48 let s:flake8_ignores=" --ignore=".g:flake8_ignore
50 let s:flake8_ignores=""
53 if exists("g:flake8_max_line_length")
54 let s:flake8_max_line_length=" --max-line-length=".g:flake8_max_line_length
56 let s:flake8_max_line_length=""
59 if exists("g:flake8_max_complexity")
60 let s:flake8_max_complexity=" --max-complexity=".g:flake8_max_complexity
62 let s:flake8_max_complexity=""
65 if exists("g:flake8_quickfix_location")
66 let s:flake8_quickfix_location=g:flake8_quickfix_location
68 let s:flake8_quickfix_location="belowright"
71 " set shellpipe to > instead of tee (suppressing output)
74 " perform the grep itself
75 let &grepformat="%f:%l:%c: %m\,%f:%l: %m"
76 let &grepprg=s:flake8_cmd.s:flake8_builtins_opt.s:flake8_ignores.s:flake8_max_line_length.s:flake8_max_complexity
79 " restore grep settings
80 let &grepformat=l:old_gfm
82 let &shellpipe=l:old_shellpipe
85 let has_results=getqflist() != []
87 execute s:flake8_quickfix_location." copen"
89 nnoremap <buffer> <silent> c :cclose<CR>
90 nnoremap <buffer> <silent> q :cclose<CR>
98 hi Green ctermfg=green
100 echon "Flake8 check OK"
106 " Add mappings, unless the user didn't want this.
107 " The default mapping is registered under to <F7> by default, unless the user
108 " remapped it already (or a mapping exists already for <F7>)
109 if !exists("no_plugin_maps") && !exists("no_flake8_maps")
110 if !hasmapto('Flake8(')
111 noremap <buffer> <F7> :call Flake8()<CR>