return { "lmburns/lf.nvim", dependencies = { "akinsho/toggleterm.nvim", }, config = function() -- This feature will not work if the plugin is lazy-loaded vim.g.lf_netrw = 1 require("lf").setup({ default_action = "drop", -- default action when `Lf` opens a file default_actions = { -- default action keybindings [""] = "tabedit", [""] = "split", [""] = "vsplit", [""] = "tab drop", }, winblend = 10, -- psuedotransparency level direction = "float", -- window type: float horizontal vertical border = "shadow", -- border kind: single double shadow curved -- height = fn.float2nr(fn.round(0.75 * o.lines)), -- height of the *floating* window -- width = fn.float2nr(fn.round(0.75 * o.columns)), -- width of the *floating* window escape_quit = true, -- map escape to the quit command (so it doesn't go into a meta normal mode) focus_on_open = true, -- focus the current file when opening Lf (experimental) mappings = true, -- whether terminal buffer mapping is enabled tmux = true, -- tmux statusline can be disabled on opening of Lf default_file_manager = false, -- make lf default file manager disable_netrw_warning = true, -- don't display a message when opening a directory with `default_file_manager` as true }) -- Set keymap for Lf vim.keymap.set("n", "lf", "Lf") -- Create autocmd for LfTermEnter 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, }