X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/94e5f650dadfd745f2fccafbba1b79fbb3e4d79f..015a511d0b4d697885525b0b3f37168b55cc6a48:/ftplugin/python_flake8.vim?ds=sidebyside

diff --git a/ftplugin/python_flake8.vim b/ftplugin/python_flake8.vim
index d1ece61..dd062d9 100644
--- a/ftplugin/python_flake8.vim
+++ b/ftplugin/python_flake8.vim
@@ -1,7 +1,7 @@
 "
 " Python filetype plugin for running flake8
 " Language:     Python (ft=python)
-" Maintainer:   Vincent Driessen <vincent@datafox.nl>
+" Maintainer:   Vincent Driessen <vincent@3rdcloud.com>
 " Version:      Vim 7 (may work with lower Vim versions, but not tested)
 " URL:          http://github.com/nvie/vim-flake8
 "
@@ -11,68 +11,45 @@ if exists("b:loaded_flake8_ftplugin")
 endif
 let b:loaded_flake8_ftplugin=1
 
-let s:flake8_cmd="flake8"
-
-let s:flake8_ignores=""
-if exists("g:flake8_ignore")
-    let s:flake8_ignores=" --ignore=".g:flake8_ignore
-endif
-
-if !exists("*Flake8()")
-    function Flake8()
-        if !executable(s:flake8_cmd)
-            echoerr "File " . s:flake8_cmd . " not found. Please install it first."
-            return
-        endif
-
-        set lazyredraw   " delay redrawing
-        cclose           " close any existing cwindows
-
-        " store old grep settings (to restore later)
-        let l:old_gfm=&grepformat
-        let l:old_gp=&grepprg
-
-        " write any changes before continuing
-        if &readonly == 0
-            update
-        endif
-
-        " perform the grep itself
-        let &grepformat="%f:%l:%c: %m\,%f:%l: %m"
-        let &grepprg=s:flake8_cmd.s:flake8_ignores
-        silent! grep! %
-
-        " restore grep settings
-        let &grepformat=l:old_gfm
-        let &grepprg=l:old_gp
-
-        " open cwindow
-        let has_results=getqflist() != []
-        if has_results
-            execute 'belowright copen'
-            setlocal wrap
-            nnoremap <buffer> <silent> c :cclose<CR>
-            nnoremap <buffer> <silent> q :cclose<CR>
-        endif
-
-        set nolazyredraw
-        redraw!
-
-        if has_results == 0
-            " Show OK status
-            hi Green ctermfg=green
-            echohl Green
-            echon "Flake8 check OK"
-            echohl
-        endif
-    endfunction
-endif
+let s:save_cpo = &cpo
+set cpo&vim
+
+"" Highlight groups for errors
+" pep8 errors
+highlight default Flake8_Error
+            \ ctermbg=DarkRed ctermfg=Red cterm=bold
+            \ guibg=DarkRed   guifg=Red   gui=bold
+" pep8 warnings
+highlight default Flake8_Warning
+            \ ctermbg=Yellow ctermfg=DarkYellow cterm=bold
+            \ guibg=Yellow   guifg=DarkYellow   gui=bold
+" PyFlakes codes
+highlight default Flake8_PyFlake
+            \ ctermbg=DarkBlue ctermfg=Blue cterm=bold
+            \ guibg=DarkBlue   guifg=Blue   gui=bold
+" McCabe complexity warnings
+highlight default Flake8_Complexity
+            \ ctermbg=DarkBlue ctermfg=Blue cterm=bold
+            \ guibg=DarkBlue   guifg=Blue   gui=bold
+" naming conventions
+highlight default Flake8_Naming
+            \ ctermbg=DarkBlue ctermfg=Blue cterm=bold
+            \ guibg=DarkBlue   guifg=Blue   gui=bold
+
+" to not break with old versions
+function! Flake8()
+    call flake8#Flake8()
+endfunction
 
 " Add mappings, unless the user didn't want this.
 " The default mapping is registered under to <F7> by default, unless the user
 " remapped it already (or a mapping exists already for <F7>)
 if !exists("no_plugin_maps") && !exists("no_flake8_maps")
-    if !hasmapto('Flake8(')
-        noremap <buffer> <F7> :call Flake8()<CR>
+    if !hasmapto('Flake8(') && !hasmapto('flake8#Flake8(')
+        noremap <buffer> <F7> :call flake8#Flake8()<CR>
     endif
 endif
+
+let &cpo = s:save_cpo
+unlet s:save_cpo
+