return { -- Navigate between NVIM & Tmux splits seamlessly { "christoomey/vim-tmux-navigator" }, -- Open Kitty terminal scrollback as buffer { "mikesmithgh/kitty-scrollback.nvim", lazy = true, cmd = { "KittyScrollbackGenerateKittens", "KittyScrollbackCheckHealth" }, event = { "User KittyScrollbackLaunch" }, version = "^3.0.0", opts = { status_window = { icons = { nvim = "" }, }, }, config = function() require("kitty-scrollback").setup() end, }, { "folke/which-key.nvim", config = function() -- document existing key chains require("which-key").register({ ["e"] = { name = "[E]xplorer", _ = "which_key_ignore" }, ["c"] = { name = "[C]ode", _ = "which_key_ignore" }, ["d"] = { name = "[D]ocument", _ = "which_key_ignore" }, ["g"] = { name = "[G]it", _ = "which_key_ignore" }, ["h"] = { name = "Git [H]unk", _ = "which_key_ignore" }, ["r"] = { name = "[R]ename", _ = "which_key_ignore" }, ["s"] = { name = "[S]earch", _ = "which_key_ignore" }, ["t"] = { name = "[T]oggle", _ = "which_key_ignore" }, ["w"] = { name = "[W]orkspace", _ = "which_key_ignore" }, }) -- register which-key VISUAL mode -- required for visual hs (hunk stage) to work require("which-key").register({ [""] = { name = "VISUAL " }, ["h"] = { "Git [H]unk" }, }, { mode = "v" }) end, }, -- Session management. This saves your session in the background, -- keeping track of open buffers, window arrangement, and more. -- You can restore sessions when returning through the dashboard. { -- TODO: -- 1. Find out where they are stored exactly. -- 2. Add them to source control -- 3. Need a startup dashboard with options for loading last session "folke/persistence.nvim", event = "BufReadPre", opts = { options = vim.opt.sessionoptions:get() }, keys = { { "sr", function() require("persistence").load() end, desc = "[R]estore [S]ession" }, { "sl", function() require("persistence").load({ last = true }) end, desc = "[R]estore [L]ast Session" }, }, }, }