From c84f04968d4a877ad3542d97e9b07c4f2fef4fea Mon Sep 17 00:00:00 2001 From: Laith Taher Date: Fri, 22 May 2026 12:16:57 -0400 Subject: [PATCH] feat: add jumpy hunks to a seperate qflist --- lua/jumpy/navigate.lua | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lua/jumpy/navigate.lua b/lua/jumpy/navigate.lua index 65d90f4..c424b58 100644 --- a/lua/jumpy/navigate.lua +++ b/lua/jumpy/navigate.lua @@ -103,6 +103,7 @@ function M.accept() M._apply_offset(bufnr, hunk_idx, delta) render.clear_hunk(bufnr, hunk_idx) + M._refresh_quickfix() M._advance_to_next(bufnr) end @@ -116,6 +117,7 @@ function M.reject() end render.clear_hunk(bufnr, hunk_idx) + M._refresh_quickfix() M._advance_to_next(bufnr) end @@ -141,17 +143,20 @@ function M.accept_all() end render.clear(bufnr) + M._refresh_quickfix() vim.notify("jumpy: all hunks accepted", vim.log.levels.INFO) end function M.reject_all() local bufnr = vim.api.nvim_get_current_buf() render.clear(bufnr) + M._refresh_quickfix() vim.notify("jumpy: all hunks rejected", vim.log.levels.INFO) end function M.replace_hunk(bufnr, hunk_idx, new_lines) render.update_hunk_lines(bufnr, hunk_idx, new_lines) + M._refresh_quickfix() end function M.add_hunks_to_quickfix() @@ -163,10 +168,18 @@ function M.add_hunks_to_quickfix() return end - vim.fn.setqflist(items, "r") + vim.fn.setqflist({}, " ", { title = "jumpy:hunks", items = items }) vim.cmd("copen") end +function M._refresh_quickfix() + if vim.fn.getqflist({ title = 0 }).title ~= "jumpy:hunks" then + return + end + local items = M._transform_hunks_to_quickfix(render.get_all_states()) + vim.fn.setqflist({}, "r", { title = "jumpy:hunks", items = items }) +end + function M._transform_hunks_to_quickfix(states) local items = {} for bufnr, state in pairs(states) do