]> git.madduck.net Git - etc/vim.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

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.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Updated README fixed stuff.
authoreistaa <eiv.s.aa@gmail.com>
Wed, 17 Sep 2014 22:34:26 +0000 (00:34 +0200)
committereistaa <eiv.s.aa@gmail.com>
Thu, 18 Sep 2014 08:03:39 +0000 (10:03 +0200)
README.mdown
autoload/flake8.vim
ftplugin/python_flake8.vim

index 4db8b3b333d4859767035acc989eb8ad1b874fae..e6d0f109edb62ceb09f2db259f05fc70e16472cf 100644 (file)
@@ -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.
 
index 67d696584dd30fc8760d1ffae3036a896be2f42b..7ef2373decd31d8f102e5fc08f718fab0cd71ce8 100644 (file)
@@ -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()  " {{{
index cd6586aea19adf4b879ba71fec23d33f53229bf4..c4655bce02a97f521449949a7f127805e1b80045 100644 (file)
@@ -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