local snacksRootDirDesc = "Explorer (Root Dir)" local snacksCwdDesc = "Explorer (cwd)" local pickerRootDirDesc = "Find Files (Root Dir)" local pickerCwdDesc = "Find Files (cwd)" local exploreExclude = { "**/node_modules/**" } local pickerExclude = { "**/node_modules/**", "**/.next/**", "**/.idea/**", "**/.vscode/**", "**/android/**", "**/ios/**", "**/.expo/**" } return { { "folke/snacks.nvim", ---@type snacks.Config opts = { picker = { sources = { explorer = { auto_close = true, layout = { layout = { position = "right", }, }, }, }, }, }, keys = { { "fF", function() Snacks.picker.files({ hidden = true, ignored = true, exclude = pickerExclude }) end, desc = pickerCwdDesc, }, { "ff", function() Snacks.picker.files({ cwd = LazyVim.root(), hidden = true, ignored = true, exclude = pickerExclude }) end, desc = pickerRootDirDesc, }, { "fe", function() Snacks.explorer({ cwd = LazyVim.root(), exclude = exploreExclude }) end, desc = snacksRootDirDesc, }, { "fE", function() Snacks.explorer({ exclude = exploreExclude }) end, desc = snacksCwdDesc, }, { "f/", function() Snacks.explorer({ cwd = "/" }) end, desc = "Find Files (/)", }, { "fh", function() Snacks.explorer({ cwd = "~" }) end, desc = "Explorer (Home)", }, { "fH", function() Snacks.picker.files({ cwd = "~" }) end, desc = "Find Files (Home)", }, { "fd", function() Snacks.explorer({ cwd = "~/.dotfiles", hidden = true, ignored = true }) end, desc = "Explorer (.Dotfiles)", }, { "fD", function() Snacks.picker.files({ cwd = "~/.dotfiles", hidden = true, ignored = true }) end, desc = "Find Files (.Dotfiles)", }, { "//", function() Snacks.picker.grep({ hidden = true }) end, desc = "Grep (cwd)", }, { "/", function() Snacks.picker.grep({ cwd = LazyVim.root(), hidden = true }) end, desc = "Grep (Root Dir)", remap = true, }, { "", "ff", desc = pickerRootDirDesc, remap = true }, { "e", "fe", desc = snacksRootDirDesc, remap = true }, { "E", "fE", desc = snacksCwdDesc, remap = true }, }, }, }