The following code prevents us from overriding the linter options per project.
Here is what the pymode logs show (I have added some log line 53 to see what is set globally):
pymode debug msg 9: check code
1661433148 ['pyflakes', 'pep8'] []
1661433148 Namespace(paths=['/tmp/bla'], verbose=False, format='pycodestyle', select=[], sort=[], linters=[('pyflakes', <pylama.lint.pylama_pyflakes.Linter object at 0x7f177ab71870>), ('pep8', <pylama.lint.pylama_pycodestyle.Linter object
at 0x7f177ab71990>)], ignore=['W'], skip=[], report=None, hook=False, concurrent=False, options='/tmp/bla/pylama.ini', force=True, abspath=False, file_params={}, linters_params={'pep8': {'max_line_length': 101}}) []
1661433148 g:pymode_lint_options_pyflakes -> {'builtins': '_'} []
1661433148 g:pymode_lint_options_pep8 -> {'max_line_length': '79'} []
1661433148 Start code check: [wrong.py]
Checking params: {'skip': False, 'ignore': {'W'}, 'select': set(), 'linters': []} - Namespace(paths=['/tmp/bla'], verbose=False, format='pycodestyle', select=[], sort=[], linters=[('pyflakes', <pylama.lint.pylama_pyflakes.Linter object at
0x7f177ab71870>), ('pep8', <pylama.lint.pylama_pycodestyle.Linter object at 0x7f177ab71990>)], ignore=['W'], skip=[], report=None, hook=False, concurrent=False, options='/tmp/bla/pylama.ini', force=True, abspath=False, file_params={}, lint
ers_params={'pep8': {'max_line_length': '79'}, 'pyflakes': {'builtins': '_'}})
Run pyflakes {'builtins': '_'}
Run pep8 {'max_line_length': '79'}
The following code prevents us from overriding the linter options per project.
python-mode/pymode/lint.py
Lines 52 to 57 in 85d2cd1
Here is what the pymode logs show (I have added some log line 53 to see what is set globally):
As you can see,
pylamafinds its custom settings inside thepylama.inifile, but they are then overridden.I would have expected the
pylama.inisettings to override the global ones but it's definitely not the case.I'd suggest the code above to be replaced with:
I can open a PR if needed