summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/mango/lib.lua
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2023-09-14 22:05:28 +0200
committerThomas Voss <mail@thomasvoss.com> 2023-09-14 22:05:28 +0200
commit15a7c2d8e005391d4aaac919b5776b5fa2822a41 (patch)
tree1494c7d7bed4ebf8daf9a60d33d3b54444a70360 /.config/nvim/lua/mango/lib.lua
parent0d2929454871b43eab2169d694ae07bc39ef3789 (diff)
nvim: Preserve registers when transposing chars
Diffstat (limited to '.config/nvim/lua/mango/lib.lua')
-rw-r--r--.config/nvim/lua/mango/lib.lua16
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