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 if exists("g:flake8_hide_quickfix")
72 let s:flake8_hide_quickfix=g:flake8_hide_quickfix
74 let s:flake8_hide_quickfix=0
77 " set shellpipe to > instead of tee (suppressing output)
80 " perform the grep itself
81 let &grepformat="%f:%l:%c: %m\,%f:%l: %m"
82 let &grepprg=s:flake8_cmd.s:flake8_builtins_opt.s:flake8_ignores.s:flake8_max_line_length.s:flake8_max_complexity
85 " restore grep settings
86 let &grepformat=l:old_gfm
88 let &shellpipe=l:old_shellpipe
91 let has_results=getqflist() != []
93 if s:flake8_hide_quickfix == 0
94 execute s:flake8_quickfix_location." copen"
96 nnoremap <buffer> <silent> c :cclose<CR>
97 nnoremap <buffer> <silent> q :cclose<CR>
106 hi Green ctermfg=green
108 echon "Flake8 check OK"
114 " Add mappings, unless the user didn't want this.
115 " The default mapping is registered under to <F7> by default, unless the user
116 " remapped it already (or a mapping exists already for <F7>)
117 if !exists("no_plugin_maps") && !exists("no_flake8_maps")
118 if !hasmapto('Flake8(')
119 noremap <buffer> <F7> :call Flake8()<CR>