From 2ac53d75de94c49136947e616dfd8d274325aa2a Mon Sep 17 00:00:00 2001 From: yetone Date: Fri, 21 Feb 2025 15:57:13 +0800 Subject: [PATCH] Revert "fix: finally diff in cursor planning mode again (#1338)" (#1339) --- lua/avante/sidebar.lua | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lua/avante/sidebar.lua b/lua/avante/sidebar.lua index ec24cf5..32657af 100644 --- a/lua/avante/sidebar.lua +++ b/lua/avante/sidebar.lua @@ -1251,20 +1251,24 @@ function Sidebar:apply(current_cursor) ctxlen = vim.o.scrolloff, }) - local offset = 0 + local new_lines = {} + local prev_start_a = 1 for _, hunk in ipairs(patch) do local start_a, count_a, start_b, count_b = unpack(hunk) - local snippet_lines = vim.list_slice(resp_lines, start_b, start_b + count_b - 1) - local new_lines = {} + vim.list_extend(new_lines, vim.list_slice(original_code_lines, prev_start_a, start_a - 1)) + prev_start_a = start_a + count_a table.insert(new_lines, "<<<<<<< HEAD") vim.list_extend(new_lines, vim.list_slice(original_code_lines, start_a, start_a + count_a - 1)) table.insert(new_lines, "=======") - vim.list_extend(new_lines, snippet_lines) + vim.list_extend(new_lines, vim.list_slice(resp_lines, start_b, start_b + count_b - 1)) table.insert(new_lines, ">>>>>>> Snippet") - api.nvim_buf_set_lines(bufnr, offset + start_a - 1, offset + start_a + count_a, false, new_lines) - offset = offset + #snippet_lines + 3 end + local remaining_lines = vim.list_slice(original_code_lines, prev_start_a, #original_code_lines) + new_lines = vim.list_extend(new_lines, remaining_lines) + + api.nvim_buf_set_lines(bufnr, 0, -1, false, new_lines) + local process = function(winid) api.nvim_set_current_win(winid) api.nvim_feedkeys(api.nvim_replace_termcodes("", true, false, true), "n", true)