aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/server_configurations.md1
-rw-r--r--doc/server_configurations.txt1
-rw-r--r--lua/lspconfig/server_configurations/pyright.lua17
3 files changed, 19 insertions, 0 deletions
diff --git a/doc/server_configurations.md b/doc/server_configurations.md
index 40355a64..c9f8dfe6 100644
--- a/doc/server_configurations.md
+++ b/doc/server_configurations.md
@@ -6230,6 +6230,7 @@ require'lspconfig'.pyright.setup{}
```
**Commands:**
- PyrightOrganizeImports: Organize Imports
+- PyrightSetPythonPath: Reconfigure pyright with the provided python path
**Default values:**
- `cmd` :
diff --git a/doc/server_configurations.txt b/doc/server_configurations.txt
index 40355a64..c9f8dfe6 100644
--- a/doc/server_configurations.txt
+++ b/doc/server_configurations.txt
@@ -6230,6 +6230,7 @@ require'lspconfig'.pyright.setup{}
```
**Commands:**
- PyrightOrganizeImports: Organize Imports
+- PyrightSetPythonPath: Reconfigure pyright with the provided python path
**Default values:**
- `cmd` :
diff --git a/lua/lspconfig/server_configurations/pyright.lua b/lua/lspconfig/server_configurations/pyright.lua
index a198477f..1bd3dbb6 100644
--- a/lua/lspconfig/server_configurations/pyright.lua
+++ b/lua/lspconfig/server_configurations/pyright.lua
@@ -24,6 +24,17 @@ local function organize_imports()
vim.lsp.buf.execute_command(params)
end
+local function set_python_path(path)
+ local clients = vim.lsp.get_active_clients {
+ bufnr = vim.api.nvim_get_current_buf(),
+ name = 'pyright',
+ }
+ for _, client in ipairs(clients) do
+ client.config.settings = vim.tbl_deep_extend('force', client.config.settings, { python = { pythonPath = path } })
+ client.notify('workspace/didChangeConfiguration', { settings = nil })
+ end
+end
+
return {
default_config = {
cmd = cmd,
@@ -45,6 +56,12 @@ return {
organize_imports,
description = 'Organize Imports',
},
+ PyrightSetPythonPath = {
+ set_python_path,
+ description = 'Reconfigure pyright with the provided python path',
+ nargs = 1,
+ complete = 'file',
+ },
},
docs = {
description = [[