В результате я рад видеть, что этот фрагмент автоматически завершает цикл for. :

Но в других случаях я не вижу автодополнения. Пример 1: нет автодополнения имени переменной "список" при записи значения в.... Пример 2: хотя мой код Python включает импорт os в начале файла, neovim не предлагает никакого автодополнения os.walk при записи для root, dirs, файлов в os.w...< /code>:

Мне интересно, является ли это ограничением моей конфигурации или ограничением Pyright.
Буду благодарен за ваше мнение и советы.
Информация о моей системе:
- Linuxmint, выпуск 6
< li>python 3.11 - Neovim v0.10.2
lsp-config.lua :
return {
{
"williamboman/mason.nvim", -- installation
lazy = false,
config = function()
require("mason").setup() -- setup
end,
},
{
"williamboman/mason-lspconfig.nvim", -- installation
lazy = false,
opts = {
auto_install = true, -- instead of something like ensure_installed = { "lua_ls", "pyright" },
},
},
{
"neovim/nvim-lspconfig",
lazy = false,
config = function()
local capabilities = require("cmp_nvim_lsp").default_capabilities()
local lspconfig = require("lspconfig")
lspconfig.html.setup({
capabilities = capabilities,
})
lspconfig.lua_ls.setup({
capabilities = capabilities,
})
lspconfig.pyright.setup({
capabilities = capabilities,
})
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
vim.keymap.set("n", "gr", vim.lsp.buf.references, {})
vim.keymap.set("n", "ca", vim.lsp.buf.code_action, {})
end,
},
}
none-ls.lua:
return {
"nvimtools/none-ls.nvim", -- calls none-ls through short github url
config = function()
local null_ls = require("null-ls")
null_ls.setup({
sources = {
null_ls.builtins.formatting.stylua, -- formatter for lua installed with Mason
null_ls.builtins.formatting.black, -- formatter for python installed with Mason
null_ls.builtins.formatting.isort, -- formatter for python installed with Mason
},
})
vim.keymap.set("n", "gf", vim.lsp.buf.format, {}) -- for instance, adds double quotes instead of single quotes when the relevant language server advices it
end,
}
completions.lua:
return {
{ "hrsh7th/cmp-nvim-lsp" },
{
"L3MON4D3/LuaSnip",
dependencies = {
"saadparwaiz1/cmp_luasnip",
"rafamadriz/friendly-snippets",
},
},
{
"hrsh7th/nvim-cmp",
config = function()
local cmp = require("cmp")
require("luasnip.loaders.from_vscode").lazy_load()
cmp.setup({
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body) -- For `luasnip` users
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
[""] = cmp.mapping.scroll_docs(-4),
[""] = cmp.mapping.scroll_docs(4),
[""] = cmp.mapping.complete(),
[""] = cmp.mapping.abort(),
[""] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
-- { name = 'nvim_lsp' },
{ name = "luasnip" }, -- For luasnip users.
}, {
{ name = "buffer" },
}),
})
end,
},
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... ython-code