mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-04 02:40:04 +08:00
57 lines
1.1 KiB
Lua
Vendored
57 lines
1.1 KiB
Lua
Vendored
local util = require 'lspconfig.util'
|
|
|
|
local bin_name = 'pyright-langserver'
|
|
local cmd = { bin_name, '--stdio' }
|
|
|
|
if vim.fn.has 'win32' == 1 then
|
|
cmd = { 'cmd.exe', '/C', bin_name, '--stdio' }
|
|
end
|
|
|
|
local root_files = {
|
|
'pyproject.toml',
|
|
'setup.py',
|
|
'setup.cfg',
|
|
'requirements.txt',
|
|
'Pipfile',
|
|
'pyrightconfig.json',
|
|
}
|
|
|
|
local function organize_imports()
|
|
local params = {
|
|
command = 'pyright.organizeimports',
|
|
arguments = { vim.uri_from_bufnr(0) },
|
|
}
|
|
vim.lsp.buf.execute_command(params)
|
|
end
|
|
|
|
return {
|
|
default_config = {
|
|
cmd = cmd,
|
|
filetypes = { 'python' },
|
|
root_dir = util.root_pattern(unpack(root_files)),
|
|
single_file_support = true,
|
|
settings = {
|
|
python = {
|
|
analysis = {
|
|
autoSearchPaths = true,
|
|
useLibraryCodeForTypes = true,
|
|
diagnosticMode = 'workspace',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
commands = {
|
|
PyrightOrganizeImports = {
|
|
organize_imports,
|
|
description = 'Organize Imports',
|
|
},
|
|
},
|
|
docs = {
|
|
description = [[
|
|
https://github.com/microsoft/pyright
|
|
|
|
`pyright`, a static type checker and language server for python
|
|
]],
|
|
},
|
|
}
|