[Feature] add linter support (#982)

This commit is contained in:
Luc Sinet 2021-07-17 00:30:38 +02:00 committed by GitHub
parent fe48ed9ef9
commit 836286798e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 107 additions and 84 deletions

View file

@ -19,6 +19,11 @@ M.config = function()
exe = "yapf",
args = {},
},
linters = {
"flake8",
"pylint",
"mypy",
},
}
end
@ -40,41 +45,9 @@ M.format = function()
end
M.lint = function()
if require("lv-utils").check_lsp_client_active "efm" then
return
end
local python_arguments = {}
local flake8 = {
LintCommand = "flake8 --ignore=E501 --stdin-display-name ${INPUT} -",
lintStdin = true,
lintFormats = { "%f:%l:%c: %m" },
require("lint").linters_by_ft = {
python = O.lang.python.linters,
}
local isort = { formatCommand = "isort --quiet -", formatStdin = true }
if O.lang.python.linter == "flake8" then
table.insert(python_arguments, flake8)
end
if O.lang.python.isort then
table.insert(python_arguments, isort)
end
if not require("lv-utils").check_lsp_client_active "efm" then
require("lspconfig").efm.setup {
cmd = { DATA_PATH .. "/lspinstall/efm/efm-langserver" },
init_options = { documentFormatting = true, codeAction = false },
root_dir = require("lspconfig").util.root_pattern(".git/", "requirements.txt"),
filetypes = { "python" },
settings = {
rootMarkers = { ".git/", "requirements.txt" },
languages = {
python = python_arguments,
},
},
}
end
end
M.lsp = function()