ci: format
This commit is contained in:
parent
aeb74e0616
commit
2e3308d95d
2 changed files with 86 additions and 75 deletions
|
|
@ -522,8 +522,13 @@ end
|
||||||
---@param start_row integer
|
---@param start_row integer
|
||||||
---@param end_row integer
|
---@param end_row integer
|
||||||
local function clear_ns_by_start(bufnr, ns_id, start_row, end_row)
|
local function clear_ns_by_start(bufnr, ns_id, start_row, end_row)
|
||||||
local marks =
|
local marks = vim.api.nvim_buf_get_extmarks(
|
||||||
vim.api.nvim_buf_get_extmarks(bufnr, ns_id, { start_row, 0 }, { end_row - 1, 2147483647 }, {})
|
bufnr,
|
||||||
|
ns_id,
|
||||||
|
{ start_row, 0 },
|
||||||
|
{ end_row - 1, 2147483647 },
|
||||||
|
{}
|
||||||
|
)
|
||||||
for _, m in ipairs(marks) do
|
for _, m in ipairs(marks) do
|
||||||
vim.api.nvim_buf_del_extmark(bufnr, ns_id, m[1])
|
vim.api.nvim_buf_del_extmark(bufnr, ns_id, m[1])
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -397,92 +397,98 @@ describe('highlight', function()
|
||||||
delete_buffer(bufnr)
|
delete_buffer(bufnr)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it('nvim_buf_clear_namespace kills line bg extmark whose end_row bleeds into cleared range', function()
|
it(
|
||||||
local bufnr = create_buffer({
|
'nvim_buf_clear_namespace kills line bg extmark whose end_row bleeds into cleared range',
|
||||||
'diff --git a/foo.py b/foo.py',
|
function()
|
||||||
'@@ -1,2 +1,2 @@',
|
local bufnr = create_buffer({
|
||||||
'-old',
|
'diff --git a/foo.py b/foo.py',
|
||||||
'+new',
|
'@@ -1,2 +1,2 @@',
|
||||||
})
|
'-old',
|
||||||
|
'+new',
|
||||||
|
})
|
||||||
|
|
||||||
local hunk = {
|
local hunk = {
|
||||||
filename = 'foo.py',
|
filename = 'foo.py',
|
||||||
header_start_line = 1,
|
header_start_line = 1,
|
||||||
start_line = 2,
|
start_line = 2,
|
||||||
lines = { '-old', '+new' },
|
lines = { '-old', '+new' },
|
||||||
prefix_width = 1,
|
prefix_width = 1,
|
||||||
}
|
}
|
||||||
|
|
||||||
highlight.highlight_hunk(
|
highlight.highlight_hunk(
|
||||||
bufnr,
|
bufnr,
|
||||||
ns,
|
ns,
|
||||||
hunk,
|
hunk,
|
||||||
default_opts({ highlights = { background = true, treesitter = { enabled = false } } })
|
default_opts({ highlights = { background = true, treesitter = { enabled = false } } })
|
||||||
)
|
)
|
||||||
|
|
||||||
local last_body_row = hunk.start_line + #hunk.lines - 1
|
local last_body_row = hunk.start_line + #hunk.lines - 1
|
||||||
vim.api.nvim_buf_clear_namespace(bufnr, ns, last_body_row + 1, last_body_row + 10)
|
vim.api.nvim_buf_clear_namespace(bufnr, ns, last_body_row + 1, last_body_row + 10)
|
||||||
|
|
||||||
local marks = vim.api.nvim_buf_get_extmarks(
|
local marks = vim.api.nvim_buf_get_extmarks(
|
||||||
bufnr,
|
bufnr,
|
||||||
ns,
|
ns,
|
||||||
{ last_body_row, 0 },
|
{ last_body_row, 0 },
|
||||||
{ last_body_row, -1 },
|
{ last_body_row, -1 },
|
||||||
{ details = true }
|
{ details = true }
|
||||||
)
|
)
|
||||||
local has_line_bg = false
|
local has_line_bg = false
|
||||||
for _, mark in ipairs(marks) do
|
for _, mark in ipairs(marks) do
|
||||||
if mark[4] and mark[4].hl_group == 'DiffsAdd' then
|
if mark[4] and mark[4].hl_group == 'DiffsAdd' then
|
||||||
has_line_bg = true
|
has_line_bg = true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
assert.is_false(has_line_bg)
|
||||||
|
delete_buffer(bufnr)
|
||||||
end
|
end
|
||||||
assert.is_false(has_line_bg)
|
)
|
||||||
delete_buffer(bufnr)
|
|
||||||
end)
|
|
||||||
|
|
||||||
it('clear_ns_by_start preserves line bg extmark whose end_row bleeds past cleared range', function()
|
it(
|
||||||
local bufnr = create_buffer({
|
'clear_ns_by_start preserves line bg extmark whose end_row bleeds past cleared range',
|
||||||
'diff --git a/foo.py b/foo.py',
|
function()
|
||||||
'@@ -1,2 +1,2 @@',
|
local bufnr = create_buffer({
|
||||||
'-old',
|
'diff --git a/foo.py b/foo.py',
|
||||||
'+new',
|
'@@ -1,2 +1,2 @@',
|
||||||
})
|
'-old',
|
||||||
|
'+new',
|
||||||
|
})
|
||||||
|
|
||||||
local hunk = {
|
local hunk = {
|
||||||
filename = 'foo.py',
|
filename = 'foo.py',
|
||||||
header_start_line = 1,
|
header_start_line = 1,
|
||||||
start_line = 2,
|
start_line = 2,
|
||||||
lines = { '-old', '+new' },
|
lines = { '-old', '+new' },
|
||||||
prefix_width = 1,
|
prefix_width = 1,
|
||||||
}
|
}
|
||||||
|
|
||||||
highlight.highlight_hunk(
|
highlight.highlight_hunk(
|
||||||
bufnr,
|
bufnr,
|
||||||
ns,
|
ns,
|
||||||
hunk,
|
hunk,
|
||||||
default_opts({ highlights = { background = true, treesitter = { enabled = false } } })
|
default_opts({ highlights = { background = true, treesitter = { enabled = false } } })
|
||||||
)
|
)
|
||||||
|
|
||||||
local last_body_row = hunk.start_line + #hunk.lines - 1
|
local last_body_row = hunk.start_line + #hunk.lines - 1
|
||||||
local clear_ns_by_start = require('diffs')._test.clear_ns_by_start
|
local clear_ns_by_start = require('diffs')._test.clear_ns_by_start
|
||||||
clear_ns_by_start(bufnr, ns, last_body_row + 1, last_body_row + 10)
|
clear_ns_by_start(bufnr, ns, last_body_row + 1, last_body_row + 10)
|
||||||
|
|
||||||
local marks = vim.api.nvim_buf_get_extmarks(
|
local marks = vim.api.nvim_buf_get_extmarks(
|
||||||
bufnr,
|
bufnr,
|
||||||
ns,
|
ns,
|
||||||
{ last_body_row, 0 },
|
{ last_body_row, 0 },
|
||||||
{ last_body_row, -1 },
|
{ last_body_row, -1 },
|
||||||
{ details = true }
|
{ details = true }
|
||||||
)
|
)
|
||||||
local has_line_bg = false
|
local has_line_bg = false
|
||||||
for _, mark in ipairs(marks) do
|
for _, mark in ipairs(marks) do
|
||||||
if mark[4] and mark[4].hl_group == 'DiffsAdd' then
|
if mark[4] and mark[4].hl_group == 'DiffsAdd' then
|
||||||
has_line_bg = true
|
has_line_bg = true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
assert.is_true(has_line_bg)
|
||||||
|
delete_buffer(bufnr)
|
||||||
end
|
end
|
||||||
assert.is_true(has_line_bg)
|
)
|
||||||
delete_buffer(bufnr)
|
|
||||||
end)
|
|
||||||
|
|
||||||
it('clear range covers last body line of hunk with header', function()
|
it('clear range covers last body line of hunk with header', function()
|
||||||
local bufnr = create_buffer({
|
local bufnr = create_buffer({
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue