0

I'm trying to provide a curried lua function as method to call for autocomplete a command. However, it sometimes does nothing and sometimes fails with a memory segmentation error. This is a minimal reproduction example: Given this init.lua

vim.cmd(string.format([[set rtp=%s]], vim.fn.getcwd()))
local custom_complete = [[customlist,v:lua.require'split_later'.split_later('a b')]]
local options = { complete = custom_complete, desc = "Test to break", nargs = 1, force = true }
vim.api.nvim_create_user_command("Test", "echo <args>", options)

And this file called split_later under the correct lua/ subfolder:

local M = {}

function M.split_later(str)
    print("called split")
    return function()
        return vim.fn.split(str)
    end
end

return M

The idea is to have a generic utility that is able to produce auto-complete functions from lua, but it is not working as expected. I found a workaround using a lookup table that stores the command name and then uses it, but I don't like it that much.

Danielo515
  • 5,996
  • 4
  • 32
  • 66

0 Answers0