/
ilya-grigoriev
/
nvim
Обзор
Документация
Войти
/
ilya-grigoriev
/
nvim
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
lua/lsp/servers/_python.lua
68 строк
2 KB
Ilya Grigoryev
fix(lsp_servers): moved lsp servers configs to other folder
26 сен 2023, 18:57
26 сен 2023, 18:57
29f95be
Код
Авторство
О чём код?
local lspconfig = require('lspconfig') local util = require('lspconfig.util') 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 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 lspconfig.pyright.setup { cmd = { 'pyright-langserver', '--stdio' }, 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', }, PyrightSetPythonPath = { set_python_path, description = 'Reconfigure pyright with the provided python path', nargs = 1, complete = 'file', }, }, docs = { description = [[ https://github.com/microsoft/pyright `pyright`, a static type checker and language server for python ]], } }