1
0
mirror of https://github.com/aquatix/dotfiles.git synced 2025-12-06 22:55:10 +01:00

Also detect flake8 and bandit, only configure if found

This commit is contained in:
2019-03-12 16:09:44 +01:00
parent 179be3fec1
commit 4d7c09862f

View File

@@ -24,8 +24,12 @@ def find_virtualenv(virtualenv_names):
virtualenv_path = find_virtualenv(['virtualenv', 'venv']) #vim.eval('ale_virtualenv_dir_names')
# Detect the various linters and plugins
if virtualenv_path:
has_pylint_django = glob.glob(os.path.join(virtualenv_path, 'lib/*/site-packages/pylint_django'))
has_pylint = glob.glob(os.path.join(virtualenv_path, 'lib/*/site-packages/pylint'))
has_flake8 = glob.glob(os.path.join(virtualenv_path, 'lib/*/site-packages/flake8'))
has_bandit = glob.glob(os.path.join(virtualenv_path, 'lib/*/site-packages/bandit'))
else:
try:
find_spec('pylint_django')
@@ -33,6 +37,34 @@ else:
except ImportError:
has_pylint_django = False
try:
find_spec('pylint')
has_pylint = True
except ImportError:
has_pylint = False
try:
find_spec('flake8')
has_flake8 = True
except ImportError:
has_flake8 = False
try:
find_spec('bandit')
has_bandit = True
except ImportError:
has_bandit = False
linters = []
if has_pylint:
linters.append('pylint')
if has_flake8:
linters.append('flake8')
if has_bandit:
linters.append('bandit')
vim.command("let b:ale_linters = {}".format(linters))
if has_pylint_django:
# No silly 80-char line limit. Sorry pep-8. Also, Django support. Disable 'invalid name', 'missing docstring'
vim.command("let g:ale_python_pylint_options='--max-line-length=120 --load-plugins pylint_django --disable=invalid-name,missing-docstring'")