Update to use basedpyright over pyright

This commit is contained in:
Martin Larsson 2025-07-20 11:02:42 +02:00
parent 99b220fcc8
commit 22e7caa76e
3 changed files with 58 additions and 22 deletions

57
nvim/lsp/basedpyright.lua Normal file
View file

@ -0,0 +1,57 @@
local api = vim.api
local lsp = vim.lsp
local function set_python_path(path)
local clients = lsp.get_clients {
bufnr = api.nvim_get_current_buf(),
name = "basedpyright",
}
for _, client in ipairs(clients) do
if client.settings then
client.settings.python = vim.tbl_deep_extend("force", client.settings.python or {}, { pythonPath = path })
else
client.config.settings = vim.tbl_deep_extend("force", client.config.settings,
{ python = { pythonPath = path } })
end
client.notify("workspace/didChangeConfiguration", { settings = nil })
end
end
return {
cmd = { "basedpyright-langserver", "--stdio" },
filetypes = { "python" },
root_markers = {
"pyproject.toml",
"setup.py",
"setup.cfg",
"requirements.txt",
"Pipfile",
"pyrightconfig.json",
".git",
},
settings = {
basedpyright = {
analysis = {
autoSearchPaths = true,
useLibraryCodeForTypes = true,
diagnosticMode = "openFilesOnly",
},
},
},
on_attach = function(client, bufnr)
api.nvim_buf_create_user_command(bufnr, "LspPyrightOrganizeImports", function()
client:exec_cmd({
command = "basedpyright.organizeimports",
arguments = { vim.uri_from_bufnr(bufnr) },
})
end, {
desc = "Organize Imports",
})
api.nvim_buf_create_user_command(bufnr, "LspPyrightSetPythonPath", set_python_path, {
desc = "Reconfigure basedpyright with the provided python path",
nargs = 1,
complete = "file",
})
end,
}

View file

@ -1,21 +0,0 @@
return {
cmd = { "pyright-langserver", "--stdio" },
filetypes = { "python", "py" },
root_markers = {
"pyproject.toml",
"setup.py",
"setup.cfg",
"requirements.txt",
"Pipfile",
"pyrightconfig.json",
},
settings = {
python = {
analysis = {
autoSearchPaths = true,
useLibraryCodeForTypes = true,
diagnosticMode = "openFilesOnly",
},
},
},
}