require("snacks").setup({ animate = {}, bigfile = {}, explorer = {}, input = { enabled = true, }, picker = { enabled = true, sources = { explorer = { hidden = true, ignored = true, }, }, actions = { opencode_send = function(picker) local items = vim.tbl_map(function(item) return item.file and require("opencode").format({ path = item.file, from = item.pos, to = item.end_pos }) or item.text end, picker:selected({ fallback = true })) require("opencode").prompt(table.concat(items, ", ") .. " ") end, }, win = { input = { keys = { [""] = { "opencode_send", mode = { "n", "i" } }, }, }, }, }, indent = { indent = { char = "▏" }, scope = { char = "▏" }, }, scroll = {}, gitbrowse = {}, image = {}, dashboard = { sections = { { section = "header" }, { icon = "", desc = "Projects", action = ":NeovimProjectDiscover history", key = "p", padding = 1 }, { icon = "", key = "n", desc = "New File", action = ":ene | startinsert" }, { icon = "", desc = "Recent Files", action = ":lua Snacks.dashboard.pick('oldfiles')", key = "r", }, { icon = "", key = "q", desc = "Quit", action = ":qa", padding = 1 }, { icon = "", title = "Config" }, { icon = "󰒲", desc = "Lazy", action = ":Lazy", enabled = package.loaded.lazy ~= nil, key = "l", indent = 2, }, { icon = "", desc = "Mason", action = ":Mason", key = "m", indent = 2 }, { icon = "", desc = "Tree-sitter", action = ":TSManager", key = "t", indent = 2, padding = 2 }, { section = "startup" }, }, }, })