return { "folke/snacks.nvim", opts = { explorer = { enabled = true, replace_netrw = true, }, dashboard = { enabled = true }, picker = { hidden = true, -- Show hidden files globally ignored = true, -- Show files ignored by .gitignore (optional) sources = { explorer = { lazy = true, hidden = true, -- Explicitly for the file explorer ignored = true, -- Explicitly for ignored files exclude = { -- Exclude specific patterns like .git "**/.git", "**/.DS_Store", }, -- Yang paths from explorer - Y for relative, gy for absolute win = { list = { keys = { ["Y"] = "copy_relative", ["gy"] = "copy_absolute", }, }, }, actions = { copy_absolute = function(_, item) local path = item.file vim.fn.setreg('"', path) vim.fn.setreg("+", path) Snacks.notify.info("Copied absolute path: " .. path) end, copy_relative = function(_, item) local path = vim.fn.fnamemodify(item.file, ":.") vim.fn.setreg('"', path) vim.fn.setreg("+", path) Snacks.notify.info("Copied relative path: " .. path) end, copy_filename = function(_, item) local filename = vim.fn.fnamemodify(item.file, ":t") vim.fn.setreg("+", filename) vim.fn.setreg('"', filename) vim.notify("Copied filename: " .. filename) end, }, }, files = { hidden = true, }, }, }, }, }