lf.nvim icon indicating copy to clipboard operation
lf.nvim copied to clipboard

Template configuration fails with lazy.nvim

Open ChausseBenjamin opened this issue 2 years ago • 1 comments

I tried porting your configuration to the lazy.nvim package manager. This is what I got:

return {
  "lmburns/lf.nvim",
  dependencies = {
    {
      "akinsho/toggleterm.nvim",
      version = "*",
      config = true, -- Runs require("toggleterm").setup()
    },
  },
  config = function()
    vim.g.lf_netrw = 1
    require("lf").setup()
    vim.api.nvim_create_autocmd({
      event = "User",
      pattern = "LfTermEnter",
      callback = function(a)
        vim.api.nvim_buf_set_keymap(a.buf, "t", "q", "q", { nowait = true })
      end,
    })
  end,
}

The one bit that seems to be having issues is the autocmd. Without it, nvim launches fine (but lf doesn't seem to work). With it, nvim gives me the following error at launch:

Failed to run `config` for lf.nvim

/home/master/.config/nvim/lua/ben/plugins/lf.lua:13: Expected 2 arguments

# stacktrace:
  - lua/ben/plugins/lf.lua:13 _in_ **config**
  - lua/ben/lazy.lua:13
  - init.lua:2
Press ENTER or type command to continue

ChausseBenjamin avatar Nov 07 '23 21:11 ChausseBenjamin

I had the same. the event "User" should be the first argument in the autocommand, and the rest of the array the second. In the default code the event is defined in the array, which causes the error. This code worked for me:

{ "lmburns/lf.nvim", config = function() -- This feature will not work if the plugin is lazy-loaded vim.g.lf_netrw = 1

    require("lf").setup({
        escape_quit = false,
        border = "rounded",
     })
    vim.api.nvim_create_autocmd(
         "User",{
        pattern = "LfTermEnter",
        callback = function(a)
            vim.api.nvim_buf_set_keymap(a.buf, "t", "q", "q", {nowait = true})
        end,
    })
end,
requires = {"toggleterm.nvim"}

}

knuffelbeer avatar Dec 01 '23 23:12 knuffelbeer