diff options
author | Thomas Voss <mail@thomasvoss.com> | 2023-09-14 22:05:28 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2023-09-14 22:05:28 +0200 |
commit | 15a7c2d8e005391d4aaac919b5776b5fa2822a41 (patch) | |
tree | 1494c7d7bed4ebf8daf9a60d33d3b54444a70360 /.config/nvim/lua/mango/lib.lua | |
parent | 0d2929454871b43eab2169d694ae07bc39ef3789 (diff) |
nvim: Preserve registers when transposing chars
Diffstat (limited to '.config/nvim/lua/mango/lib.lua')
-rw-r--r-- | .config/nvim/lua/mango/lib.lua | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/.config/nvim/lua/mango/lib.lua b/.config/nvim/lua/mango/lib.lua index 4c38986..9182a06 100644 --- a/.config/nvim/lua/mango/lib.lua +++ b/.config/nvim/lua/mango/lib.lua @@ -18,4 +18,20 @@ function M.remap(modes, from, to, opts) vim.keymap.set(ct, from, to, opts) end +function M.save_regs(regs, callback) + local rs = {} + for r in regs:gmatch('.') do + rs[r] = { + s = vim.fn.getreg(r), + t = vim.fn.getregtype(r), + } + end + + callback() + + for k, v in pairs(rs) do + vim.fn.setreg(k, v.s, v.t) + end +end + return M |