mirror of
https://github.com/LunarVim/LunarVim.git
synced 2025-07-15 03:44:43 +02:00
lsp in ftplugin austonautomoy
This commit is contained in:
parent
9bb4f8a085
commit
20ed47e21e
45 changed files with 404 additions and 142 deletions
87
ftplugin/python.lua
Normal file
87
ftplugin/python.lua
Normal file
|
@ -0,0 +1,87 @@
|
|||
local python_arguments = {}
|
||||
|
||||
-- TODO replace with path argument
|
||||
local flake8 = {
|
||||
LintCommand = "flake8 --ignore=E501 --stdin-display-name ${INPUT} -",
|
||||
lintStdin = true,
|
||||
lintFormats = {"%f:%l:%c: %m"}
|
||||
}
|
||||
|
||||
local isort = {formatCommand = "isort --quiet -", formatStdin = true}
|
||||
|
||||
local yapf = {formatCommand = "yapf --quiet", formatStdin = true}
|
||||
local black = {formatCommand = "black --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 O.lang.python.formatter == 'yapf' then
|
||||
table.insert(python_arguments, yapf)
|
||||
elseif O.lang.python.formatter == 'black' then
|
||||
table.insert(python_arguments, black)
|
||||
end
|
||||
|
||||
require"lspconfig".efm.setup {
|
||||
-- init_options = {initializationOptions},
|
||||
cmd = {DATA_PATH .. "/lspinstall/efm/efm-langserver"},
|
||||
init_options = {documentFormatting = true, codeAction = false},
|
||||
filetypes = {"lua", "python", "javascriptreact", "javascript", "typescript","typescriptreact","sh", "html", "css", "yaml", "markdown", "vue"},
|
||||
settings = {
|
||||
rootMarkers = {".git/", "requirements.txt"},
|
||||
languages = {
|
||||
python = python_arguments,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- npm i -g pyright
|
||||
require'lspconfig'.pyright.setup {
|
||||
cmd = {
|
||||
DATA_PATH .. "/lspinstall/python/node_modules/.bin/pyright-langserver",
|
||||
"--stdio"
|
||||
},
|
||||
on_attach = require'lsp'.common_on_attach,
|
||||
handlers = {
|
||||
["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic
|
||||
.on_publish_diagnostics,
|
||||
{
|
||||
virtual_text = O.lang.python.diagnostics.virtual_text,
|
||||
signs = O.lang.python.diagnostics.signs,
|
||||
underline = O.lang.python.diagnostics.underline,
|
||||
update_in_insert = true
|
||||
})
|
||||
},
|
||||
settings = {
|
||||
python = {
|
||||
analysis = {
|
||||
typeCheckingMode = O.lang.python.analysis.type_checking,
|
||||
autoSearchPaths = O.lang.python.analysis.auto_search_paths,
|
||||
useLibraryCodeForTypes = O.lang.python.analysis
|
||||
.use_library_code_types
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if O.lang.python.autoformat then
|
||||
require('lv-utils').define_augroups({
|
||||
_python_autoformat = {
|
||||
{
|
||||
'BufWritePre', '*.py',
|
||||
'lua vim.lsp.buf.formatting_sync(nil, 1000)'
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue