It shows the errors inside a quickfix window, which will allow your to quickly
jump to the error locations by simply pressing [Enter].
+If any of `g:flake8_show_in_gutter` or `g:flake8_show_in_file` are set to `1`, call:
+
+ call flake8#Flake8UnplaceMarkers()
+
+To remove all markers. No default mapping is provided.
Customization
-------------
let g:flake8_quickfix_location="topleft"
+To customize whether the quickfix window opens, set `g:flake8_show_quickfix`:
+
+ let g:flake8_show_quickfix=0 " don't show
+ let g:flake8_show_quickfix=1 " show (default)
+
+To customize whether the show signs in the gutter, set `g:flake8_show_in_gutter`:
+
+ let g:flake8_show_in_gutter=0 " don't show (default)
+ let g:flake8_show_in_gutter=1 " show
+
+To customize whether the show marks in the file, set `g:flake8_show_in_file`:
+
+ let g:flake8_show_in_file=0 " don't show (default)
+ let g:flake8_show_in_file=1 " show
+
+To customize the number of marks to show, set `g:flake8_max_markers`:
+
+ let g:flake8_max_markers=500 " (default)
+
+To customize the gutter markers, set any of `flake8_error_marker`, `flake8_warning_marker`,
+`flake8_pyflake_marker`, `flake8_complexity_marker`, `flake8_naming_marker`. Setting one to
+the empty string disables it. Ex.:
+
+ flake8_error_marker='EE' " set error marker to 'EE'
+ flake8_warning_marker='WW' " set warning marker to 'WW'
+ flake8_pyflake_marker='' " disable PyFlakes warnings
+ flake8_complexity_marker='' " disable McCabe complexity warnings
+ flake8_naming_marker='' " disable naming warnings
+
+To customize the colors used for markers, define the highligth groups, `Flake8_Error`,
+`Flake8_Warning`, `Flake8_PyFlake`, `Flake8_Complexity`, `Flake8_Naming`:
+
+ " to use colors defined in the colorscheme
+ highlight link Flake8_Error Error
+ highlight link Flake8_Warning WarningMsg
+ highlight link Flake8_Complexity WarningMsg
+ highlight link Flake8_Naming WarningMsg
+ highlight link Flake8_PyFlake WarningMsg
+
Tips
----
A tip might be to run the Flake8 check every time you write a Python file, to
History
-------
+1.4: Added markers and the option to don't show the quickfix window, also split functions into
+a autoload file. Added:
+
+ - Options:
+ - `g:flake8_show_quickfix`
+ - `g:flake8_show_in_gutter`
+ - `g:flake8_show_in_file`
+ - `g:flake8_max_markers`
+ - `flake8_error_marker`
+ - `flake8_warning_marker`
+ - `flake8_pyflake_marker`
+ - `flake8_complexity_marker`
+ - `flake8_naming_marker`
+ - Functions:
+ - `flake8#Flake8UnplaceMarkers()`
+ - `flake8#Flake8()`
+ - Highlighting:
+ - `Flake8_Error`
+ - `Flake8_Warning`
+ - `Flake8_Complexity`
+ - `Flake8_Naming`
+ - `Flake8_PyFlake`
+
1.3: Added the following options:
- - `g:flake8_builtins="_,apply"`
- - `g:flake8_max_complexity=10`
+ - `g:flake8_builtins="_,apply"`
+ - `g:flake8_max_complexity=10`
1.2: Added the following options:
- - `g:flake8_cmd="/opt/strangebin/flake8000"`
- - `g:flake8_max_line_length=120`
- - `g:flake8_ignore="E501,W293"`
+ - `g:flake8_cmd="/opt/strangebin/flake8000"`
+ - `g:flake8_max_line_length=120`
+ - `g:flake8_ignore="E501,W293"`
1.1: Added `g:flake8_ignore` option.
let s:save_cpo = &cpo
set cpo&vim
-"" external {{{
+"" ** external ** {{{
function! flake8#Flake8()
call s:Flake8()
let s:signids = []
" place
- let index = 100
+ let l:index0 = 100
+ let l:index = l:index0
for result in a:results
- let type = strpart(result.text, 0, 1)
- if has_key(s:markerdata, type)
+ if l:index >= (s:flake8_max_markers+l:index0)
+ break
+ endif
+ let l:type = strpart(result.text, 0, 1)
+ if has_key(s:markerdata, l:type)
" file markers
if !s:flake8_show_in_file == 0
- let s:matchids += [matchadd(s:markerdata[type]['color'],
+ let s:matchids += [matchadd(s:markerdata[l:type]['color'],
\ "\\%".result.lnum."l\\%".result.col."c")]
endif
" gutter markers
if !s:flake8_show_in_gutter == 0
- execute ":sign place ".index." name=".s:markerdata[type]['sign']
+ execute ":sign place ".index." name=".s:markerdata[l:type]['sign']
\ . " line=".result.lnum." file=".expand("%:p")
- let s:signids += [index]
- let index += 1
+ let s:signids += [l:index]
endif
+ let l:index += 1
endif
endfor
+ redraw
endfunction " }}}
function! s:UnplaceMarkers() " {{{
"" Highlight groups for errors
" pep8 errors
-highlight Flake8_Error
+highlight default Flake8_Error
\ ctermbg=DarkRed ctermfg=Red cterm=bold
\ guibg=DarkRed guifg=Red gui=bold
" pep8 warnings
-highlight Flake8_Warning
+highlight default Flake8_Warning
\ ctermbg=Yellow ctermfg=DarkYellow cterm=bold
\ guibg=Yellow guifg=DarkYellow gui=bold
" PyFlakes codes
-highlight Flake8_PyFlake
+highlight default Flake8_PyFlake
\ ctermbg=DarkBlue ctermfg=Blue cterm=bold
\ guibg=DarkBlue guifg=Blue gui=bold
" McCabe complexity warnings
-highlight Flake8_Complexity
+highlight default Flake8_Complexity
\ ctermbg=DarkBlue ctermfg=Blue cterm=bold
\ guibg=DarkBlue guifg=Blue gui=bold
" naming conventions
-highlight Flake8_Naming
+highlight default Flake8_Naming
\ ctermbg=DarkBlue ctermfg=Blue cterm=bold
\ guibg=DarkBlue guifg=Blue gui=bold