{ helpers, ... }: { plugins.neo-tree = { enable = true; window.mappings."h".__raw = '' function(state) local node = state.tree:get_node() if node.type == "directory" and node:is_expanded() then require("neo-tree.sources.filesystem").toggle_directory(state, node) else require("neo-tree.ui.renderer").focus_node(state, node:get_parent_id()) end end ''; window.mappings."l".__raw = '' function(state) local node = state.tree:get_node() if node.type == "directory" then if not node:is_expanded() then require("neo-tree.sources.filesystem").toggle_directory(state, node) elseif node:has_children() then require("neo-tree.ui.renderer").focus_node(state, node:get_child_ids()[1]) end end end ''; window.mappings."" = ""; }; plugins.yazi = { enable = true; }; dependencies.yazi.enable = true; keymaps = [ { mode = [ "n" ]; key = "e"; action = helpers.mkRaw '' function() require("neo-tree.command").execute({ toggle = true }) end ''; options = { desc = "Toggle Neo-Tree"; }; } { mode = [ "n" ]; key = "cw"; action = "Yazi cwd"; options = { desc = "Open the file manager in nvim's working directory"; }; } { mode = [ "n" ]; key = ""; action = "Yazi toggle"; options = { desc = "Resume the last yazi session"; }; } { mode = [ "n" ]; key = "y"; action = "Yazi"; options = { desc = "Open yazi at the current file"; }; } ]; }