return { -- Improved Yank and Put functionalities for Neovim "gbprod/yanky.nvim", event = { "BufReadPost", "BufNewFile", "BufWritePre" }, opts = { highlight = { timer = 150, }, ring = { storage = jit.os:find "Windows" and "shada" or "sqlite", }, }, keys = { { "y", "(YankyYank)", mode = { "n", "x" }, desc = "Yank Text" }, { "p", "(YankyPutAfter)", mode = { "n", "x" }, desc = "Put Text After Cursor" }, { "P", "(YankyGPutBefore)", mode = { "n", "x" }, desc = "Put Text Before Cursor" }, { "gp", "(YankyPutAfter)", mode = { "n", "x" }, desc = "Put Text After Selection" }, { "gP", "(YankyGPutBefore)", mode = { "n", "x" }, desc = "Put Text After Selection" }, { "", "(YankyCycleForward)", desc = "Cycle Forward Through Yank History" }, { "", "(YankyCycleBackward)", desc = "Cycle Backward Through Yank History" }, { "]p", "(YankyPutIndentAfterLinewise)", desc = "Put Indent After Cursor (Linewise)" }, { "[p", "(YankyPutIndentBeforeLinewise)", desc = "Put Indent Before Cursor (Linewise)" }, { "]P", "(YankyPutIndentAfterLinewise)", desc = "Put Indent After Cursor (Linewise)" }, { "[P", "(YankyPutIndentBeforeLinewise)", desc = "Put Indent Before Cursor (Linewise)" }, { ">p", "(YankyPutIndentAfterShiftRight)", desc = "Put and Indent Right" }, { "(YankyPutIndentAfterShiftLeft)", desc = "Put and Indent Left" }, { ">P", "(YankyPutIndentBeforeShiftRight)", desc = "Put Before and Indent Right" }, { "(YankyPutIndentBeforeShiftLeft)", desc = "Put Before and Indent Left" }, { "=p", "(YankyPutAfterFilter)", desc = "Put After Applying a Filter" }, { "=P", "(YankyPutBeforeFilter)", desc = "Put Before Applying a Filter" }, { "p", function() vim.cmd [[YankyRingHistory]] end, mode = { "n", "x" }, desc = "Open Yank History", }, }, }