When I try to active completion-nvim in my init.lua with the on_attach function, I get a bunch of errors.
Error running config for completion-nvim: ...ite/pack/packer/start/completion-nvim/lua/completion.lua:251: bad argument #1 to 'ipairs' (table expected, got nil)
If we look at the offending line:
|
M.on_attach = function(option) |
|
-- setup completion_option tables |
|
opt.set_option_table(option) |
|
local disable_filetypes = opt.get_option("disable_filetypes") |
|
local ft = vim.bo.filetype |
|
for _, disable_ft in ipairs(disable_filetypes) do |
|
if ft == disable_ft then |
|
return |
|
end |
|
end |
disable_filetypes which is returned by get_options is nil the moment ipairs is called. I tried to manually edit the file and add disable_filetypes = disable_filetypes or {} at line 250 but I got basically the same error elsewhere.
Error running config for completion-nvim: ...ite/pack/packer/start/completion-nvim/lua/completion.lua:266: bad argument #1 to 'len' (string expected, got nil)
which is basically the same error.
|
if string.len(opt.get_option('confirm_key')) ~= 0 then |
|
api.nvim_buf_set_keymap(0, 'i', opt.get_option('confirm_key'), |
|
'pumvisible() ? complete_info()["selected"] != "-1" ? "\\<Plug>(completion_confirm_completion)" :'.. |
|
' "\\<c-e>\\<CR>" : "\\<CR>"', |
|
{silent=false, noremap=false, expr=true}) |
|
end |
string.len() is getting nil as its argument.
My testing minimal init.lua
require('completion').on_attach()
(literally my one-line init.lua created in a temporary home directory)
Expected behavior
I expect not to get errors when I call on_attach. Perhaps get_options should handle missing options better (?)