Add function to place signs in buffer
This commit is contained in:
parent
5c75ec687c
commit
86241f2193
@ -80,6 +80,33 @@ local function _parse_diff_output(diff_output)
|
|||||||
return added_lines, changed_lines, deleted_lines
|
return added_lines, changed_lines, deleted_lines
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Place signs in the current buffer
|
||||||
|
local function _place_signs_in_buffer()
|
||||||
|
local buf_nr = vim.api.nvim_get_current_buf()
|
||||||
|
vim.fn.sign_unplace("jj_mini_diff", { buffer = buf_nr }) -- Clear existing signs
|
||||||
|
|
||||||
|
local diff_output = _get_jj_diff_for_buffer()
|
||||||
|
if not diff_output then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local added, changed, deleted = _parse_diff_output(diff_output)
|
||||||
|
|
||||||
|
local sign_id = 1
|
||||||
|
for _, line_num in ipairs(added) do
|
||||||
|
vim.fn.sign_place(sign_id, "jj_mini_diff", "JjDiffAdd", buf_nr, { lnum = line_num })
|
||||||
|
sign_id = sign_id + 1
|
||||||
|
end
|
||||||
|
for _, line_num in ipairs(changed) do
|
||||||
|
vim.fn.sign_place(sign_id, "jj_mini_diff", "JjDiffChange", buf_nr, { lnum = line_num })
|
||||||
|
sign_id = sign_id + 1
|
||||||
|
end
|
||||||
|
for _, line_num in ipairs(deleted) do
|
||||||
|
vim.fn.sign_place(sign_id, "jj_mini_diff", "JjDiffDelete", buf_nr, { lnum = line_num })
|
||||||
|
sign_id = sign_id + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
function M.setup(opts)
|
function M.setup(opts)
|
||||||
opts = opts or {}
|
opts = opts or {}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user