feat(defaults): jump between :terminal shell prompts with ]]/[[ #32736

This commit is contained in:
Gregory Anders
2025-03-07 07:45:34 -06:00
committed by GitHub
parent c8b64b7a43
commit b31132f1c1
10 changed files with 160 additions and 55 deletions

View File

@@ -83,7 +83,7 @@ end
describe('API/extmarks', function()
local screen
local marks, positions, init_text, row, col
local ns, ns2
local ns, ns2 ---@type integer, integer
before_each(function()
-- Initialize some namespaces and insert 12345 into a buffer
@@ -1425,14 +1425,12 @@ describe('API/extmarks', function()
end)
it('throws consistent error codes', function()
local ns_invalid = ns2 + 1
eq(
"Invalid 'ns_id': 3",
pcall_err(set_extmark, ns_invalid, marks[1], positions[1][1], positions[1][2])
)
eq("Invalid 'ns_id': 3", pcall_err(api.nvim_buf_del_extmark, 0, ns_invalid, marks[1]))
eq("Invalid 'ns_id': 3", pcall_err(get_extmarks, ns_invalid, positions[1], positions[2]))
eq("Invalid 'ns_id': 3", pcall_err(get_extmark_by_id, ns_invalid, marks[1]))
local ns_invalid = ns2 + 1 ---@type integer
local err = string.format("Invalid 'ns_id': %d", ns_invalid)
eq(err, pcall_err(set_extmark, ns_invalid, marks[1], positions[1][1], positions[1][2]))
eq(err, pcall_err(api.nvim_buf_del_extmark, 0, ns_invalid, marks[1]))
eq(err, pcall_err(get_extmarks, ns_invalid, positions[1], positions[2]))
eq(err, pcall_err(get_extmark_by_id, ns_invalid, marks[1]))
end)
it('when col = line-length, set the mark on eol', function()
@@ -1535,7 +1533,7 @@ describe('API/extmarks', function()
0,
0,
{
ns_id = 1,
ns_id = ns,
end_col = 0,
end_row = 1,
right_gravity = true,
@@ -1595,7 +1593,7 @@ describe('API/extmarks', function()
hl_group = 'String',
hl_mode = 'blend',
line_hl_group = 'Statement',
ns_id = 1,
ns_id = ns,
number_hl_group = 'Statement',
priority = 0,
right_gravity = false,
@@ -1626,7 +1624,7 @@ describe('API/extmarks', function()
0,
0,
{
ns_id = 1,
ns_id = ns,
right_gravity = true,
priority = 0,
virt_text = { { '', 'Macro' }, { '', { 'Type', 'Search' } }, { '' } },
@@ -1647,7 +1645,7 @@ describe('API/extmarks', function()
0,
0,
{
ns_id = 1,
ns_id = ns,
right_gravity = true,
ui_watched = true,
priority = 0,
@@ -1663,7 +1661,7 @@ describe('API/extmarks', function()
0,
0,
{
ns_id = 1,
ns_id = ns,
cursorline_hl_group = 'Statement',
priority = 4096,
right_gravity = true,
@@ -1683,7 +1681,7 @@ describe('API/extmarks', function()
end_col = 1,
end_right_gravity = false,
end_row = 0,
ns_id = 1,
ns_id = ns,
right_gravity = true,
spell = true,
},
@@ -1700,7 +1698,7 @@ describe('API/extmarks', function()
end_col = 1,
end_right_gravity = false,
end_row = 0,
ns_id = 1,
ns_id = ns,
right_gravity = true,
spell = false,
},

View File

@@ -3167,14 +3167,23 @@ describe('API', function()
describe('nvim_create_namespace', function()
it('works', function()
eq({}, api.nvim_get_namespaces())
eq(1, api.nvim_create_namespace('ns-1'))
eq(2, api.nvim_create_namespace('ns-2'))
eq(1, api.nvim_create_namespace('ns-1'))
eq({ ['ns-1'] = 1, ['ns-2'] = 2 }, api.nvim_get_namespaces())
eq(3, api.nvim_create_namespace(''))
eq(4, api.nvim_create_namespace(''))
eq({ ['ns-1'] = 1, ['ns-2'] = 2 }, api.nvim_get_namespaces())
local orig = api.nvim_get_namespaces()
local base = vim.iter(orig):fold(0, function(acc, _, v)
return math.max(acc, v)
end)
eq(base + 1, api.nvim_create_namespace('ns-1'))
eq(base + 2, api.nvim_create_namespace('ns-2'))
eq(base + 1, api.nvim_create_namespace('ns-1'))
local expected = vim.tbl_extend('error', orig, {
['ns-1'] = base + 1,
['ns-2'] = base + 2,
})
eq(expected, api.nvim_get_namespaces())
eq(base + 3, api.nvim_create_namespace(''))
eq(base + 4, api.nvim_create_namespace(''))
eq(expected, api.nvim_get_namespaces())
end)
end)