diff --git a/modules/home-manager/vim/config/lua/utils/functions.lua b/modules/home-manager/vim/config/lua/utils/functions.lua index 9144223..1057ff6 100644 --- a/modules/home-manager/vim/config/lua/utils/functions.lua +++ b/modules/home-manager/vim/config/lua/utils/functions.lua @@ -17,6 +17,25 @@ local select = function(prompt, callback) end) end +local function set_marks() + -- Exit visual mode temporarily + vim.cmd("normal! gv") + + -- Get the positions of the start and end of the visual selection + local start_pos = vim.fn.getpos("'<") + local end_pos = vim.fn.getpos("'>") + + -- Set mark 'a' at the start of the selection + vim.fn.setpos("'a", start_pos) + + -- Set mark 'b' at the end of the selection + vim.fn.setpos("'b", end_pos) + + -- Optionally, print a confirmation or reselect the visual area + print("Marks set: 'a' at start, 'b' at end") + vim.cmd("normal! gv") -- Reselect the visual area if desired +end + M.freeze = function() local path = "./._freeze.png" @@ -28,6 +47,8 @@ M.freeze = function() end M.freeze_selection = function() + set_marks() + local path = "./._freeze.png" -- Save and exit visual mode