return { { "nvim-neo-tree/neo-tree.nvim", branch = "v2.x", dependencies = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons", "MunifTanjim/nui.nvim", }, opts = { window = { position = "current" }, }, config = function() require("neo-tree").setup({ filesystem = { filtered_items = { visible = true, -- Show files and folders starting with a dot `.` hide_dotfiles = false, hide_gitignored = false, }, }, }) local keymap = vim.keymap keymap.set("n", "e", function() require("neo-tree.command").execute({ position = "left", focus = "true", }) end, { desc = "Focus (Neotree)", noremap = true, silent = true }) keymap.set("n", "ee", function() require("neo-tree.command").execute({ position = "left", focus = "true", }) end, { desc = "Focus (Neotree)", noremap = true, silent = true }) keymap.set("n", "qe", function() require("neo-tree.command").execute({ position = "left", action = "close", focus = "true", }) end, { desc = "Close (Neotree)", noremap = true, silent = true }) keymap.set("n", "|", "Neotree reveal", { desc = "", noremap = true, silent = true }) keymap.set( "n", "gd", "Neotree float reveal_file= reveal_force_cwd", { desc = "", noremap = true, silent = true } ) keymap.set( "n", "eb", "Neotree toggle show buffers right", { desc = "Show buffers (Neotree)", noremap = true, silent = true } ) keymap.set( "n", "gs", "Neotree float git_status", { desc = "Show git status (Neotree)", noremap = true, silent = true } ) end, }, }