lmburns / lf.nvim

Lf file manager for Neovim (in Lua)
MIT License
98 stars 12 forks source link

Template configuration fails with lazy.nvim #25

Open ChausseBenjamin opened 1 year ago

ChausseBenjamin commented 1 year ago

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
knuffelbeer commented 11 months ago

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"}

}