mirror of
https://github.com/neovim/neovim.git
synced 2025-12-15 19:05:40 +00:00
feat(api): nvim_exec2(), deprecate nvim_exec() #19032
Problem: The signature of nvim_exec() is not extensible per ":help api-contract". Solution: Introduce nvim_exec2() and deprecate nvim_exec().
This commit is contained in:
committed by
GitHub
parent
257d894d75
commit
fe9cbcb3a5
@@ -40,59 +40,59 @@ describe('named marks', function()
|
||||
it("errors when set out of range with :mark", function()
|
||||
command("edit " .. file1)
|
||||
local err = pcall_err(helpers.exec_capture, "1000mark x")
|
||||
eq("nvim_exec(): Vim(mark):E16: Invalid range: 1000mark x", err)
|
||||
eq("nvim_exec2(): Vim(mark):E16: Invalid range: 1000mark x", err)
|
||||
end)
|
||||
|
||||
it("errors when set out of range with :k", function()
|
||||
command("edit " .. file1)
|
||||
local err = pcall_err(helpers.exec_capture, "1000kx")
|
||||
eq("nvim_exec(): Vim(k):E16: Invalid range: 1000kx", err)
|
||||
eq("nvim_exec2(): Vim(k):E16: Invalid range: 1000kx", err)
|
||||
end)
|
||||
|
||||
it("errors on unknown mark name with :mark", function()
|
||||
command("edit " .. file1)
|
||||
local err = pcall_err(helpers.exec_capture, "mark #")
|
||||
eq("nvim_exec(): Vim(mark):E191: Argument must be a letter or forward/backward quote", err)
|
||||
eq("nvim_exec2(): Vim(mark):E191: Argument must be a letter or forward/backward quote", err)
|
||||
end)
|
||||
|
||||
it("errors on unknown mark name with '", function()
|
||||
command("edit " .. file1)
|
||||
local err = pcall_err(helpers.exec_capture, "normal! '#")
|
||||
eq("nvim_exec(): Vim(normal):E78: Unknown mark", err)
|
||||
eq("nvim_exec2(): Vim(normal):E78: Unknown mark", err)
|
||||
end)
|
||||
|
||||
it("errors on unknown mark name with `", function()
|
||||
command("edit " .. file1)
|
||||
local err = pcall_err(helpers.exec_capture, "normal! `#")
|
||||
eq("nvim_exec(): Vim(normal):E78: Unknown mark", err)
|
||||
eq("nvim_exec2(): Vim(normal):E78: Unknown mark", err)
|
||||
end)
|
||||
|
||||
it("errors when moving to a mark that is not set with '", function()
|
||||
command("edit " .. file1)
|
||||
local err = pcall_err(helpers.exec_capture, "normal! 'z")
|
||||
eq("nvim_exec(): Vim(normal):E20: Mark not set", err)
|
||||
eq("nvim_exec2(): Vim(normal):E20: Mark not set", err)
|
||||
err = pcall_err(helpers.exec_capture, "normal! '.")
|
||||
eq("nvim_exec(): Vim(normal):E20: Mark not set", err)
|
||||
eq("nvim_exec2(): Vim(normal):E20: Mark not set", err)
|
||||
end)
|
||||
|
||||
it("errors when moving to a mark that is not set with `", function()
|
||||
command("edit " .. file1)
|
||||
local err = pcall_err(helpers.exec_capture, "normal! `z")
|
||||
eq("nvim_exec(): Vim(normal):E20: Mark not set", err)
|
||||
eq("nvim_exec2(): Vim(normal):E20: Mark not set", err)
|
||||
err = pcall_err(helpers.exec_capture, "normal! `>")
|
||||
eq("nvim_exec(): Vim(normal):E20: Mark not set", err)
|
||||
eq("nvim_exec2(): Vim(normal):E20: Mark not set", err)
|
||||
end)
|
||||
|
||||
it("errors when moving to a global mark that is not set with '", function()
|
||||
command("edit " .. file1)
|
||||
local err = pcall_err(helpers.exec_capture, "normal! 'Z")
|
||||
eq("nvim_exec(): Vim(normal):E20: Mark not set", err)
|
||||
eq("nvim_exec2(): Vim(normal):E20: Mark not set", err)
|
||||
end)
|
||||
|
||||
it("errors when moving to a global mark that is not set with `", function()
|
||||
command("edit " .. file1)
|
||||
local err = pcall_err(helpers.exec_capture, "normal! `Z")
|
||||
eq("nvim_exec(): Vim(normal):E20: Mark not set", err)
|
||||
eq("nvim_exec2(): Vim(normal):E20: Mark not set", err)
|
||||
end)
|
||||
|
||||
it("can move to them using '", function()
|
||||
@@ -153,7 +153,7 @@ describe('named marks', function()
|
||||
command("next")
|
||||
command("bw! " .. file1 )
|
||||
local err = pcall_err(helpers.exec_capture, "normal! 'A")
|
||||
eq("nvim_exec(): Vim(normal):E92: Buffer 1 not found", err)
|
||||
eq("nvim_exec2(): Vim(normal):E92: Buffer 1 not found", err)
|
||||
os.remove(file1)
|
||||
end)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user