diff --git a/lua/plugins/astrocore.lua b/lua/plugins/astrocore.lua index 5ee1640..2701b66 100644 --- a/lua/plugins/astrocore.lua +++ b/lua/plugins/astrocore.lua @@ -190,6 +190,8 @@ return { [""] = { "w", desc = "Save buffer" }, [""] = { "wbd", desc = "Save and close buffer" }, [""] = { "tabnext", desc = "Next Tab" }, + [""] = { terminals.lazydocker_toggle, desc = "Lazygit Toggle" }, + [""] = { terminals.yazi_toggle, desc = "Yazi Toggle" }, [""] = { terminals.lazygit_toggle, desc = "Lazygit Toggle" }, [""] = { "Octo issue list", desc = "List Issues" }, [""] = { "Octo label", desc = "Manage Labels" }, diff --git a/lua/plugins/neotree.lua b/lua/plugins/neotree.lua index 655153e..ed171f5 100644 --- a/lua/plugins/neotree.lua +++ b/lua/plugins/neotree.lua @@ -59,6 +59,8 @@ return { [""] = "open", -- Claude Code: add file under cursor to context [""] = function() vim.cmd "ClaudeCodeTreeAdd" end, + -- Preview image under cursor via kitty's icat kitten + ["p"] = "image_kitty", -- Git keybindings from astrocore ["o"] = function() vim.cmd "!gh repo view --web" end, ["h"] = function() @@ -232,6 +234,20 @@ return { if node.type == "file" then require("neo-tree.command").execute { action = "close" } end end, + -- Preview an image with kitty's icat kitten in a snacks terminal + image_kitty = function(state) + local node = state.tree:get_node() + if node and node.type == "file" then + require("snacks").terminal("kitten icat --hold " .. vim.fn.shellescape(node.path), { + hidden = true, + auto_close = false, + interactive = true, + }) + else + vim.notify("Not a file", vim.log.levels.WARN, { title = "Neo-tree" }) + end + end, + -- Custom command to open Mason mason_open = function() vim.cmd "Mason" end, diff --git a/lua/plugins/user.lua b/lua/plugins/user.lua index 2a1bc0e..8de385a 100644 --- a/lua/plugins/user.lua +++ b/lua/plugins/user.lua @@ -5,7 +5,29 @@ ---@type LazySpec return { - +{ + "basola21/PDFview", + lazy = false, + dependencies = { "nvim-telescope/telescope.nvim" } +}, +{ + "tomfordweb/beads.nvim", + dependencies = { + "nvim-telescope/telescope.nvim", + "nvim-lua/plenary.nvim", + }, + config = function() + require("beads").setup({ keymaps = true }) + require("telescope").load_extension("beads") + end, +}, +{ + 'adelarsq/image_preview.nvim', + event = 'VeryLazy', + config = function() + require("image_preview").setup() + end +}, -- customize dashboard options {