From b3fd59ea03896afdccc9d1db2314ca0639e5cff2 Mon Sep 17 00:00:00 2001 From: eistaa Date: Thu, 18 Sep 2014 00:34:26 +0200 Subject: [PATCH] Updated README fixed stuff. --- README.mdown | 77 +++++++++++++++++++++++++++++++++++--- autoload/flake8.vim | 21 +++++++---- ftplugin/python_flake8.vim | 10 ++--- 3 files changed, 90 insertions(+), 18 deletions(-) diff --git a/README.mdown b/README.mdown index 4db8b3b..e6d0f10 100644 --- a/README.mdown +++ b/README.mdown @@ -25,6 +25,11 @@ Usage 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 ------------- @@ -58,6 +63,45 @@ To customize the location of quick fix window, set `g:flake8_quickfix_location`: 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 @@ -75,16 +119,39 @@ This plugin goes well together with the following plugin: 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. diff --git a/autoload/flake8.vim b/autoload/flake8.vim index 67d6965..7ef2373 100644 --- a/autoload/flake8.vim +++ b/autoload/flake8.vim @@ -8,7 +8,7 @@ let s:save_cpo = &cpo set cpo&vim -"" external {{{ +"" ** external ** {{{ function! flake8#Flake8() call s:Flake8() @@ -181,24 +181,29 @@ function! s:PlaceMarkers(results) " {{{ 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() " {{{ diff --git a/ftplugin/python_flake8.vim b/ftplugin/python_flake8.vim index cd6586a..c4655bc 100644 --- a/ftplugin/python_flake8.vim +++ b/ftplugin/python_flake8.vim @@ -16,23 +16,23 @@ set cpo&vim "" 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 -- 2.39.5