vim-flake8
                                
                                
                                
                                    vim-flake8 copied to clipboard
                            
                            
                            
                        Flake8 ignoring -ignore flag setting
Hello,
Problem
I call Flake8 whenever I write to a Buffer:
autocmd BufWritePost *.py :call Flake8()
But it shows a list of errors which I've already configured to be ignored:
foo.py|28 col 80| E501 line too long (88 > 79 characters)
foo.py|36 col 1| E302 expected 2 blank lines, found 1
Here are the relevant lines from my vimrc:
execute pathogen#infect()
filetype plugin indent on
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_python_checkers = ['flake8', 'pylint']
let g:syntastic_python_pylint_args="-d C0103,C0111,R0201"
let g:syntastic_python_flake8_args='--ignore=F821,E302,E501'
Software
I'm using terminal NeoVim (NVIM 0.1.5-dev) on latest Mac OS X release (10.11.5)
Note: I have the same issue with standard OS X install of terminal Vim (
7.3)
Notes
The Flake8 plugin appears to work as I can see it's being loaded as part of Syntastic:
Syntastic version: 3.7.0-157 (Vim 704, Darwin)                                                                    
Info for filetype: python                                                                                         
Global mode: active                                                                                               
Filetype python is active                                                                                         
The current file will be checked automatically                                                                    
Available checkers: flake8 pep8 pycodestyle pyflakes pylint python                                                
Currently enabled checkers: flake8 pylint
I've looked at :scriptnames and I can see the flake8 plugin is being loaded:
~/.vim/bundle/vim-flake8/ftplugin/python_flake8.vim
~/.vim/bundle/syntastic/syntax_checkers/python/flake8.vim
If I was to remove the following line from my vimrc:
let g:syntastic_python_flake8_args='--ignore=F821,E302,E501'
...then close Vim and re-open the relevant python file in Vim, I would see those errors appear in a quickfix window and that would be expected behaviour.
If I then put back that line into my vimrc, close Vim and re-open the relevant python file in Vim I'll see the errors are ignored. Again, expected behaviour.
The problem occurs only when calling Flake8 when writing to the current buffer. The errors re-appear, when they should be ignored.
Interestingly I noticed, when removing the flake8_args setting, that after opening the file and the quicklist window immediately appeared, that if I then wrote to the buffer I would get another quickfix window with the same errors. But the first quickfix window shows the command used as:
:flake8 "foo.py"
I think the problem is that when I use call Flake8 that I'm using the shell directly, maybe? This would explain why it's side-stepping my Syntastic ignore flag setting
@Integralist Did you ever get this sorted out? The Vim-Flake8 changelog for 1.6 indicates that Vim Flake8 configuration has been deprecated in favor of config files. The [Flake8] (http://flake8.pycqa.org/en/latest/user/configuration.html#user-configuration) documentation provides instructions on how to set up a config file, and then you can simply add the lines
[flake8]
ignore = F821,E302,E501
to it and reload Vim to see the changes take effect.
@ardentTech have a look at my vimrc in my dotfile repo. It all works fine now after some required changes
@Integralist cool cool. My config file syntax was off, so I edited my comment above to correct that.