Skip to content

Commit 597c4a3

Browse files
committed
refactor(backend): replace remove_header_lines with process_diff
1 parent 6cc6256 commit 597c4a3

File tree

5 files changed

+17
-4
lines changed

5 files changed

+17
-4
lines changed

lua/tiny-code-action/backend/delta.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ function M.get_diff(bufnr, old_lines, new_lines, opts)
3232
}):sync()
3333

3434
DeltaBackend:cleanup_files(old_file, new_file)
35-
return DeltaBackend:remove_header_lines(diff, opts.backend_opts.delta.header_lines_to_remove)
35+
return DeltaBackend:process_diff(diff, opts.backend_opts.delta.header_lines_to_remove)
3636
end
3737

3838
function M.is_diff_content(lines)

lua/tiny-code-action/backend/diffsofancy.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function M.get_diff(bufnr, old_lines, new_lines, opts)
2323
}):sync()
2424

2525
DiffSoFancyBackend:cleanup_files(old_file, new_file)
26-
return DiffSoFancyBackend:remove_header_lines(
26+
return DiffSoFancyBackend:process_diff(
2727
fancy_output,
2828
opts.backend_opts.diffsofancy.header_lines_to_remove
2929
)

lua/tiny-code-action/backend/difftastic.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ function M.get_diff(bufnr, old_lines, new_lines, opts)
2828
}):sync()
2929

3030
DifftasticBackend:cleanup_files(old_file, new_file)
31-
return DifftasticBackend:remove_header_lines(
31+
return DifftasticBackend:process_diff(
3232
diff,
3333
opts.backend_opts.difftastic.header_lines_to_remove
3434
)

lua/tiny-code-action/backend/vim.lua

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
local M = {}
22

33
function M.get_diff(bufnr, old_lines, new_lines, opts)
4-
return vim.diff(table.concat(old_lines, "\n"), table.concat(new_lines, "\n"), {
4+
local diff = vim.diff(table.concat(old_lines, "\n"), table.concat(new_lines, "\n"), {
55
algorithm = "minimal",
66
ctxlen = 3,
77
})
8+
if type(diff) == "string" then
9+
diff = vim.split(diff, "\n")
10+
end
11+
local BaseBackendFiles = require("tiny-code-action.base.backend").BaseBackendFiles
12+
return BaseBackendFiles:process_diff(diff, 0)
813
end
914

1015
function M.is_diff_content(lines)

lua/tiny-code-action/base/backend.lua

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ function BaseBackendFiles:remove_header_lines(diff_output, header_lines_to_remov
3939
return diff_output
4040
end
4141

42+
--- Removes all occurrences of "$0" (cursor placeholder) from each line of the diff output.
43+
---@param diff_output table: Table of diff lines
44+
---@return table: Table of diff lines with "$0" removed
45+
function BaseBackendFiles:process_diff(diff_output, header_lines_to_remove)
46+
local cleaned = self:remove_header_lines(diff_output, header_lines_to_remove)
47+
return cleaned
48+
end
49+
4250
function BaseBackendFiles:is_diff_content(lines)
4351
return require("tiny-code-action.terminal").is_diff_content(lines)
4452
end

0 commit comments

Comments
 (0)