mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 09:40:06 +08:00
58 lines
1.4 KiB
Lua
58 lines
1.4 KiB
Lua
local configs = require 'lspconfig/configs'
|
|
local util = require 'lspconfig/util'
|
|
|
|
local server_name = 'pyright'
|
|
local bin_name = 'pyright-langserver'
|
|
if vim.fn.has 'win32' == 1 then
|
|
bin_name = bin_name .. '.cmd'
|
|
end
|
|
|
|
local function organize_imports()
|
|
local params = {
|
|
command = 'pyright.organizeimports',
|
|
arguments = { vim.uri_from_bufnr(0) },
|
|
}
|
|
vim.lsp.buf.execute_command(params)
|
|
end
|
|
|
|
configs[server_name] = {
|
|
default_config = {
|
|
cmd = { bin_name, '--stdio' },
|
|
filetypes = { 'python' },
|
|
root_dir = function(fname)
|
|
local root_files = {
|
|
'pyproject.toml',
|
|
'setup.py',
|
|
'setup.cfg',
|
|
'requirements.txt',
|
|
'Pipfile',
|
|
'pyrightconfig.json',
|
|
}
|
|
return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname) or util.path.dirname(fname)
|
|
end,
|
|
settings = {
|
|
python = {
|
|
analysis = {
|
|
autoSearchPaths = true,
|
|
useLibraryCodeForTypes = true,
|
|
diagnosticMode = 'workspace',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
commands = {
|
|
PyrightOrganizeImports = {
|
|
organize_imports,
|
|
description = 'Organize Imports',
|
|
},
|
|
},
|
|
docs = {
|
|
package_json = 'https://raw.githubusercontent.com/microsoft/pyright/master/packages/vscode-pyright/package.json',
|
|
description = [[
|
|
https://github.com/microsoft/pyright
|
|
|
|
`pyright`, a static type checker and language server for python
|
|
]],
|
|
},
|
|
}
|