mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00
test: typing for helpers.meths
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -42,9 +42,9 @@ describe('api/buf', function()
|
||||
end)
|
||||
|
||||
it("doesn't crash just after set undolevels=1 #24894", function()
|
||||
local buf = meths.create_buf(false, true)
|
||||
meths.buf_set_option(buf, 'undolevels', -1)
|
||||
meths.buf_set_lines(buf, 0, 1, false, {})
|
||||
local buf = meths.nvim_create_buf(false, true)
|
||||
meths.nvim_buf_set_option(buf, 'undolevels', -1)
|
||||
meths.nvim_buf_set_lines(buf, 0, 1, false, {})
|
||||
|
||||
assert_alive()
|
||||
end)
|
||||
@@ -85,35 +85,41 @@ describe('api/buf', function()
|
||||
end)
|
||||
|
||||
it('cursor position is maintained in non-current window', function()
|
||||
meths.buf_set_lines(0, 0, -1, 1, { 'line1', 'line2', 'line3', 'line4' })
|
||||
meths.win_set_cursor(0, { 3, 2 })
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.get_current_buf()
|
||||
meths.nvim_buf_set_lines(0, 0, -1, 1, { 'line1', 'line2', 'line3', 'line4' })
|
||||
meths.nvim_win_set_cursor(0, { 3, 2 })
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
|
||||
command('new')
|
||||
|
||||
meths.buf_set_lines(buf, 1, 2, 1, { 'line5', 'line6' })
|
||||
eq({ 'line1', 'line5', 'line6', 'line3', 'line4' }, meths.buf_get_lines(buf, 0, -1, true))
|
||||
eq({ 4, 2 }, meths.win_get_cursor(win))
|
||||
meths.nvim_buf_set_lines(buf, 1, 2, 1, { 'line5', 'line6' })
|
||||
eq(
|
||||
{ 'line1', 'line5', 'line6', 'line3', 'line4' },
|
||||
meths.nvim_buf_get_lines(buf, 0, -1, true)
|
||||
)
|
||||
eq({ 4, 2 }, meths.nvim_win_get_cursor(win))
|
||||
end)
|
||||
|
||||
it('cursor position is maintained in TWO non-current windows', function()
|
||||
meths.buf_set_lines(0, 0, -1, 1, { 'line1', 'line2', 'line3', 'line4' })
|
||||
meths.win_set_cursor(0, { 3, 2 })
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.get_current_buf()
|
||||
meths.nvim_buf_set_lines(0, 0, -1, 1, { 'line1', 'line2', 'line3', 'line4' })
|
||||
meths.nvim_win_set_cursor(0, { 3, 2 })
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
|
||||
command('split')
|
||||
meths.win_set_cursor(0, { 4, 2 })
|
||||
local win2 = meths.get_current_win()
|
||||
meths.nvim_win_set_cursor(0, { 4, 2 })
|
||||
local win2 = meths.nvim_get_current_win()
|
||||
|
||||
-- set current window to third one with another buffer
|
||||
command('new')
|
||||
|
||||
meths.buf_set_lines(buf, 1, 2, 1, { 'line5', 'line6' })
|
||||
eq({ 'line1', 'line5', 'line6', 'line3', 'line4' }, meths.buf_get_lines(buf, 0, -1, true))
|
||||
eq({ 4, 2 }, meths.win_get_cursor(win))
|
||||
eq({ 5, 2 }, meths.win_get_cursor(win2))
|
||||
meths.nvim_buf_set_lines(buf, 1, 2, 1, { 'line5', 'line6' })
|
||||
eq(
|
||||
{ 'line1', 'line5', 'line6', 'line3', 'line4' },
|
||||
meths.nvim_buf_get_lines(buf, 0, -1, true)
|
||||
)
|
||||
eq({ 4, 2 }, meths.nvim_win_get_cursor(win))
|
||||
eq({ 5, 2 }, meths.nvim_win_get_cursor(win2))
|
||||
end)
|
||||
|
||||
it('line_count has defined behaviour for unloaded buffers', function()
|
||||
@@ -156,16 +162,22 @@ describe('api/buf', function()
|
||||
[3] = { reverse = true },
|
||||
}
|
||||
screen:attach()
|
||||
meths.buf_set_lines(0, 0, -1, 1, { 'aaa', 'bbb', 'ccc', 'ddd', 'www', 'xxx', 'yyy', 'zzz' })
|
||||
meths.set_option_value('modified', false, {})
|
||||
meths.nvim_buf_set_lines(
|
||||
0,
|
||||
0,
|
||||
-1,
|
||||
1,
|
||||
{ 'aaa', 'bbb', 'ccc', 'ddd', 'www', 'xxx', 'yyy', 'zzz' }
|
||||
)
|
||||
meths.nvim_set_option_value('modified', false, {})
|
||||
end)
|
||||
|
||||
it('of current window', function()
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.get_current_buf()
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
|
||||
command('new | wincmd w')
|
||||
meths.win_set_cursor(win, { 8, 0 })
|
||||
meths.nvim_win_set_cursor(win, { 8, 0 })
|
||||
|
||||
screen:expect {
|
||||
grid = [[
|
||||
@@ -181,7 +193,7 @@ describe('api/buf', function()
|
||||
]],
|
||||
}
|
||||
|
||||
meths.buf_set_lines(buf, 0, 2, true, { 'aaabbb' })
|
||||
meths.nvim_buf_set_lines(buf, 0, 2, true, { 'aaabbb' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
|
|
||||
@@ -197,7 +209,7 @@ describe('api/buf', function()
|
||||
}
|
||||
|
||||
-- replacing topline keeps it the topline
|
||||
meths.buf_set_lines(buf, 3, 4, true, { 'wwweeee' })
|
||||
meths.nvim_buf_set_lines(buf, 3, 4, true, { 'wwweeee' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
|
|
||||
@@ -213,7 +225,7 @@ describe('api/buf', function()
|
||||
}
|
||||
|
||||
-- inserting just before topline does not scroll up if cursor would be moved
|
||||
meths.buf_set_lines(buf, 3, 3, true, { 'mmm' })
|
||||
meths.nvim_buf_set_lines(buf, 3, 3, true, { 'mmm' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
|
|
||||
@@ -229,7 +241,7 @@ describe('api/buf', function()
|
||||
unchanged = true,
|
||||
}
|
||||
|
||||
meths.win_set_cursor(0, { 7, 0 })
|
||||
meths.nvim_win_set_cursor(0, { 7, 0 })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
|
|
||||
@@ -244,7 +256,7 @@ describe('api/buf', function()
|
||||
]],
|
||||
}
|
||||
|
||||
meths.buf_set_lines(buf, 4, 4, true, { 'mmmeeeee' })
|
||||
meths.nvim_buf_set_lines(buf, 4, 4, true, { 'mmmeeeee' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
|
|
||||
@@ -261,11 +273,11 @@ describe('api/buf', function()
|
||||
end)
|
||||
|
||||
it('of non-current window', function()
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.get_current_buf()
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
|
||||
command('new')
|
||||
meths.win_set_cursor(win, { 8, 0 })
|
||||
meths.nvim_win_set_cursor(win, { 8, 0 })
|
||||
|
||||
screen:expect {
|
||||
grid = [[
|
||||
@@ -281,7 +293,7 @@ describe('api/buf', function()
|
||||
]],
|
||||
}
|
||||
|
||||
meths.buf_set_lines(buf, 0, 2, true, { 'aaabbb' })
|
||||
meths.nvim_buf_set_lines(buf, 0, 2, true, { 'aaabbb' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
^ |
|
||||
@@ -297,7 +309,7 @@ describe('api/buf', function()
|
||||
}
|
||||
|
||||
-- replacing topline keeps it the topline
|
||||
meths.buf_set_lines(buf, 3, 4, true, { 'wwweeee' })
|
||||
meths.nvim_buf_set_lines(buf, 3, 4, true, { 'wwweeee' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
^ |
|
||||
@@ -313,7 +325,7 @@ describe('api/buf', function()
|
||||
}
|
||||
|
||||
-- inserting just before topline scrolls up
|
||||
meths.buf_set_lines(buf, 3, 3, true, { 'mmm' })
|
||||
meths.nvim_buf_set_lines(buf, 3, 3, true, { 'mmm' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
^ |
|
||||
@@ -330,12 +342,12 @@ describe('api/buf', function()
|
||||
end)
|
||||
|
||||
it('of split windows with same buffer', function()
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.get_current_buf()
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
|
||||
command('split')
|
||||
meths.win_set_cursor(win, { 8, 0 })
|
||||
meths.win_set_cursor(0, { 1, 0 })
|
||||
meths.nvim_win_set_cursor(win, { 8, 0 })
|
||||
meths.nvim_win_set_cursor(0, { 1, 0 })
|
||||
|
||||
screen:expect {
|
||||
grid = [[
|
||||
@@ -353,7 +365,7 @@ describe('api/buf', function()
|
||||
|
|
||||
]],
|
||||
}
|
||||
meths.buf_set_lines(buf, 0, 2, true, { 'aaabbb' })
|
||||
meths.nvim_buf_set_lines(buf, 0, 2, true, { 'aaabbb' })
|
||||
|
||||
screen:expect {
|
||||
grid = [[
|
||||
@@ -373,7 +385,7 @@ describe('api/buf', function()
|
||||
}
|
||||
|
||||
-- replacing topline keeps it the topline
|
||||
meths.buf_set_lines(buf, 3, 4, true, { 'wwweeee' })
|
||||
meths.nvim_buf_set_lines(buf, 3, 4, true, { 'wwweeee' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
^aaabbb |
|
||||
@@ -392,7 +404,7 @@ describe('api/buf', function()
|
||||
}
|
||||
|
||||
-- inserting just before topline scrolls up
|
||||
meths.buf_set_lines(buf, 3, 3, true, { 'mmm' })
|
||||
meths.nvim_buf_set_lines(buf, 3, 3, true, { 'mmm' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
^aaabbb |
|
||||
@@ -413,15 +425,15 @@ describe('api/buf', function()
|
||||
end)
|
||||
|
||||
it('handles clearing out non-current buffer #24911', function()
|
||||
local buf = meths.get_current_buf()
|
||||
meths.buf_set_lines(buf, 0, -1, true, { 'aaa', 'bbb', 'ccc' })
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
meths.nvim_buf_set_lines(buf, 0, -1, true, { 'aaa', 'bbb', 'ccc' })
|
||||
command('new')
|
||||
|
||||
meths.buf_set_lines(0, 0, -1, true, { 'xxx', 'yyy', 'zzz' })
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { 'xxx', 'yyy', 'zzz' })
|
||||
|
||||
meths.buf_set_lines(buf, 0, -1, true, {})
|
||||
eq({ 'xxx', 'yyy', 'zzz' }, meths.buf_get_lines(0, 0, -1, true))
|
||||
eq({ '' }, meths.buf_get_lines(buf, 0, -1, true))
|
||||
meths.nvim_buf_set_lines(buf, 0, -1, true, {})
|
||||
eq({ 'xxx', 'yyy', 'zzz' }, meths.nvim_buf_get_lines(0, 0, -1, true))
|
||||
eq({ '' }, meths.nvim_buf_get_lines(buf, 0, -1, true))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -676,7 +688,7 @@ describe('api/buf', function()
|
||||
Who would win?
|
||||
A real window
|
||||
with proper text]])
|
||||
local buf = api.meths.create_buf(false, true)
|
||||
local buf = api.meths.nvim_create_buf(false, true)
|
||||
screen:expect([[
|
||||
Who would win? |
|
||||
A real window |
|
||||
@@ -685,7 +697,7 @@ describe('api/buf', function()
|
||||
|
|
||||
]])
|
||||
|
||||
api.meths.buf_set_lines(buf, 0, -1, true, { 'or some', 'scratchy text' })
|
||||
api.meths.nvim_buf_set_lines(buf, 0, -1, true, { 'or some', 'scratchy text' })
|
||||
feed('i') -- provoke redraw
|
||||
screen:expect([[
|
||||
Who would win? |
|
||||
@@ -701,22 +713,22 @@ describe('api/buf', function()
|
||||
visible buffer line 1
|
||||
line 2
|
||||
]])
|
||||
local hiddenbuf = api.meths.create_buf(false, true)
|
||||
local hiddenbuf = api.meths.nvim_create_buf(false, true)
|
||||
command('vsplit')
|
||||
command('vsplit')
|
||||
feed('<c-w>l<c-w>l<c-w>l')
|
||||
eq(3, funcs.winnr())
|
||||
feed('<c-w>h')
|
||||
eq(2, funcs.winnr())
|
||||
api.meths.buf_set_lines(hiddenbuf, 0, -1, true, { 'hidden buffer line 1', 'line 2' })
|
||||
api.meths.nvim_buf_set_lines(hiddenbuf, 0, -1, true, { 'hidden buffer line 1', 'line 2' })
|
||||
feed('<c-w>p')
|
||||
eq(3, funcs.winnr())
|
||||
end)
|
||||
|
||||
it('set_lines on unloaded buffer #8659 #22670', function()
|
||||
local bufnr = curbuf('get_number')
|
||||
meths.buf_set_lines(bufnr, 0, -1, false, { 'a', 'b', 'c' })
|
||||
meths.buf_set_name(bufnr, 'set_lines')
|
||||
meths.nvim_buf_set_lines(bufnr, 0, -1, false, { 'a', 'b', 'c' })
|
||||
meths.nvim_buf_set_name(bufnr, 'set_lines')
|
||||
finally(function()
|
||||
os.remove('set_lines')
|
||||
end)
|
||||
@@ -724,8 +736,8 @@ describe('api/buf', function()
|
||||
command('new')
|
||||
command('bunload! ' .. bufnr)
|
||||
local new_bufnr = funcs.bufnr('set_lines', true)
|
||||
meths.buf_set_lines(new_bufnr, 0, -1, false, {})
|
||||
eq({ '' }, meths.buf_get_lines(new_bufnr, 0, -1, false))
|
||||
meths.nvim_buf_set_lines(new_bufnr, 0, -1, false, {})
|
||||
eq({ '' }, meths.nvim_buf_get_lines(new_bufnr, 0, -1, false))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -822,18 +834,18 @@ describe('api/buf', function()
|
||||
hello world!]])
|
||||
|
||||
-- position the cursor on `!`
|
||||
meths.win_set_cursor(0, { 1, 11 })
|
||||
meths.nvim_win_set_cursor(0, { 1, 11 })
|
||||
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.get_current_buf()
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
|
||||
command('new')
|
||||
|
||||
-- replace 'world' with 'foo'
|
||||
meths.buf_set_text(buf, 0, 6, 0, 11, { 'foo' })
|
||||
eq({ 'hello foo!' }, meths.buf_get_lines(buf, 0, -1, true))
|
||||
meths.nvim_buf_set_text(buf, 0, 6, 0, 11, { 'foo' })
|
||||
eq({ 'hello foo!' }, meths.nvim_buf_get_lines(buf, 0, -1, true))
|
||||
-- cursor should be moved left by two columns (replacement is shorter by 2 chars)
|
||||
eq({ 1, 9 }, meths.win_get_cursor(win))
|
||||
eq({ 1, 9 }, meths.nvim_win_get_cursor(win))
|
||||
end)
|
||||
|
||||
it('updates the cursor position in TWO non-current windows', function()
|
||||
@@ -841,24 +853,24 @@ describe('api/buf', function()
|
||||
hello world!]])
|
||||
|
||||
-- position the cursor on `!`
|
||||
meths.win_set_cursor(0, { 1, 11 })
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.get_current_buf()
|
||||
meths.nvim_win_set_cursor(0, { 1, 11 })
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
|
||||
command('split')
|
||||
local win2 = meths.get_current_win()
|
||||
local win2 = meths.nvim_get_current_win()
|
||||
-- position the cursor on `w`
|
||||
meths.win_set_cursor(0, { 1, 6 })
|
||||
meths.nvim_win_set_cursor(0, { 1, 6 })
|
||||
|
||||
command('new')
|
||||
|
||||
-- replace 'hello' with 'foo'
|
||||
meths.buf_set_text(buf, 0, 0, 0, 5, { 'foo' })
|
||||
eq({ 'foo world!' }, meths.buf_get_lines(buf, 0, -1, true))
|
||||
meths.nvim_buf_set_text(buf, 0, 0, 0, 5, { 'foo' })
|
||||
eq({ 'foo world!' }, meths.nvim_buf_get_lines(buf, 0, -1, true))
|
||||
|
||||
-- both cursors should be moved left by two columns (replacement is shorter by 2 chars)
|
||||
eq({ 1, 9 }, meths.win_get_cursor(win))
|
||||
eq({ 1, 4 }, meths.win_get_cursor(win2))
|
||||
eq({ 1, 9 }, meths.nvim_win_get_cursor(win))
|
||||
eq({ 1, 4 }, meths.nvim_win_get_cursor(win2))
|
||||
end)
|
||||
|
||||
describe('when text is being added right at cursor position #22526', function()
|
||||
@@ -1693,7 +1705,7 @@ describe('api/buf', function()
|
||||
it('no heap-use-after-free when called consecutively #19643', function()
|
||||
set_text(0, 0, 0, 0, { 'one', '', '', 'two' })
|
||||
eq({ 'one', '', '', 'two' }, get_lines(0, 4, true))
|
||||
meths.win_set_cursor(0, { 1, 0 })
|
||||
meths.nvim_win_set_cursor(0, { 1, 0 })
|
||||
exec_lua([[
|
||||
vim.api.nvim_buf_set_text(0, 0, 3, 1, 0, {''})
|
||||
vim.api.nvim_buf_set_text(0, 0, 3, 1, 0, {''})
|
||||
@@ -1711,16 +1723,22 @@ describe('api/buf', function()
|
||||
[3] = { reverse = true },
|
||||
}
|
||||
screen:attach()
|
||||
meths.buf_set_lines(0, 0, -1, 1, { 'aaa', 'bbb', 'ccc', 'ddd', 'www', 'xxx', 'yyy', 'zzz' })
|
||||
meths.set_option_value('modified', false, {})
|
||||
meths.nvim_buf_set_lines(
|
||||
0,
|
||||
0,
|
||||
-1,
|
||||
1,
|
||||
{ 'aaa', 'bbb', 'ccc', 'ddd', 'www', 'xxx', 'yyy', 'zzz' }
|
||||
)
|
||||
meths.nvim_set_option_value('modified', false, {})
|
||||
end)
|
||||
|
||||
it('of current window', function()
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.get_current_buf()
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
|
||||
command('new | wincmd w')
|
||||
meths.win_set_cursor(win, { 8, 0 })
|
||||
meths.nvim_win_set_cursor(win, { 8, 0 })
|
||||
|
||||
screen:expect {
|
||||
grid = [[
|
||||
@@ -1735,7 +1753,7 @@ describe('api/buf', function()
|
||||
|
|
||||
]],
|
||||
}
|
||||
meths.buf_set_text(buf, 0, 3, 1, 0, { 'X' })
|
||||
meths.nvim_buf_set_text(buf, 0, 3, 1, 0, { 'X' })
|
||||
|
||||
screen:expect {
|
||||
grid = [[
|
||||
@@ -1753,11 +1771,11 @@ describe('api/buf', function()
|
||||
end)
|
||||
|
||||
it('of non-current window', function()
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.get_current_buf()
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
|
||||
command('new')
|
||||
meths.win_set_cursor(win, { 8, 0 })
|
||||
meths.nvim_win_set_cursor(win, { 8, 0 })
|
||||
|
||||
screen:expect {
|
||||
grid = [[
|
||||
@@ -1773,7 +1791,7 @@ describe('api/buf', function()
|
||||
]],
|
||||
}
|
||||
|
||||
meths.buf_set_text(buf, 0, 3, 1, 0, { 'X' })
|
||||
meths.nvim_buf_set_text(buf, 0, 3, 1, 0, { 'X' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
^ |
|
||||
@@ -1790,12 +1808,12 @@ describe('api/buf', function()
|
||||
end)
|
||||
|
||||
it('of split windows with same buffer', function()
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.get_current_buf()
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_get_current_buf()
|
||||
|
||||
command('split')
|
||||
meths.win_set_cursor(win, { 8, 0 })
|
||||
meths.win_set_cursor(0, { 1, 1 })
|
||||
meths.nvim_win_set_cursor(win, { 8, 0 })
|
||||
meths.nvim_win_set_cursor(0, { 1, 1 })
|
||||
|
||||
screen:expect {
|
||||
grid = [[
|
||||
@@ -1813,7 +1831,7 @@ describe('api/buf', function()
|
||||
|
|
||||
]],
|
||||
}
|
||||
meths.buf_set_text(buf, 0, 3, 1, 0, { 'X' })
|
||||
meths.nvim_buf_set_text(buf, 0, 3, 1, 0, { 'X' })
|
||||
|
||||
screen:expect {
|
||||
grid = [[
|
||||
@@ -1861,7 +1879,7 @@ describe('api/buf', function()
|
||||
eq('Index out of bounds', pcall_err(get_text, 0, 0, 3, 0, {}))
|
||||
eq('Index out of bounds', pcall_err(get_text, 0, 0, -4, 0, {}))
|
||||
-- no ml_get errors should happen #19017
|
||||
eq('', meths.get_vvar('errmsg'))
|
||||
eq('', meths.nvim_get_vvar('errmsg'))
|
||||
end)
|
||||
|
||||
it('errors when start is greater than end', function()
|
||||
@@ -1884,19 +1902,19 @@ describe('api/buf', function()
|
||||
eq('Index out of bounds', pcall_err(get_offset, 6))
|
||||
eq('Index out of bounds', pcall_err(get_offset, -1))
|
||||
|
||||
meths.set_option_value('eol', false, {})
|
||||
meths.set_option_value('fixeol', false, {})
|
||||
meths.nvim_set_option_value('eol', false, {})
|
||||
meths.nvim_set_option_value('fixeol', false, {})
|
||||
eq(28, get_offset(5))
|
||||
|
||||
-- fileformat is ignored
|
||||
meths.set_option_value('fileformat', 'dos', {})
|
||||
meths.nvim_set_option_value('fileformat', 'dos', {})
|
||||
eq(0, get_offset(0))
|
||||
eq(6, get_offset(1))
|
||||
eq(15, get_offset(2))
|
||||
eq(16, get_offset(3))
|
||||
eq(24, get_offset(4))
|
||||
eq(28, get_offset(5))
|
||||
meths.set_option_value('eol', true, {})
|
||||
meths.nvim_set_option_value('eol', true, {})
|
||||
eq(29, get_offset(5))
|
||||
|
||||
command('set hidden')
|
||||
@@ -2077,7 +2095,7 @@ describe('api/buf', function()
|
||||
eq(false, pcall(curbufmeths.set_mark, 'fail', 1, 0, {}))
|
||||
end)
|
||||
it('fails when invalid buffer number is used', function()
|
||||
eq(false, pcall(meths.buf_set_mark, 99, 'a', 1, 1, {}))
|
||||
eq(false, pcall(meths.nvim_buf_set_mark, 99, 'a', 1, 1, {}))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -2095,7 +2113,7 @@ describe('api/buf', function()
|
||||
eq({ 0, 0 }, curbufmeths.get_mark('Z'))
|
||||
end)
|
||||
it('returns false in marks not set in this buffer', function()
|
||||
local abuf = meths.create_buf(false, true)
|
||||
local abuf = meths.nvim_create_buf(false, true)
|
||||
bufmeths.set_lines(abuf, -1, -1, true, { 'a', 'bit of', 'text' })
|
||||
bufmeths.set_mark(abuf, 'A', 2, 2, {})
|
||||
eq(false, curbufmeths.del_mark('A'))
|
||||
@@ -2112,7 +2130,7 @@ describe('api/buf', function()
|
||||
eq(false, pcall(curbufmeths.del_mark, 'fail'))
|
||||
end)
|
||||
it('fails when invalid buffer number is used', function()
|
||||
eq(false, pcall(meths.buf_del_mark, 99, 'a'))
|
||||
eq(false, pcall(meths.nvim_buf_del_mark, 99, 'a'))
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
@@ -51,24 +51,24 @@ describe('nvim_get_commands', function()
|
||||
before_each(clear)
|
||||
|
||||
it('gets empty list if no commands were defined', function()
|
||||
eq({}, meths.get_commands({ builtin = false }))
|
||||
eq({}, meths.nvim_get_commands({ builtin = false }))
|
||||
end)
|
||||
|
||||
it('validation', function()
|
||||
eq('builtin=true not implemented', pcall_err(meths.get_commands, { builtin = true }))
|
||||
eq("Invalid key: 'foo'", pcall_err(meths.get_commands, { foo = 'blah' }))
|
||||
eq('builtin=true not implemented', pcall_err(meths.nvim_get_commands, { builtin = true }))
|
||||
eq("Invalid key: 'foo'", pcall_err(meths.nvim_get_commands, { foo = 'blah' }))
|
||||
end)
|
||||
|
||||
it('gets global user-defined commands', function()
|
||||
-- Define a command.
|
||||
command('command -nargs=1 Hello echo "Hello World"')
|
||||
eq({ Hello = cmd_dict }, meths.get_commands({ builtin = false }))
|
||||
eq({ Hello = cmd_dict }, meths.nvim_get_commands({ builtin = false }))
|
||||
-- Define another command.
|
||||
command('command -nargs=? Pwd pwd')
|
||||
eq({ Hello = cmd_dict, Pwd = cmd_dict2 }, meths.get_commands({ builtin = false }))
|
||||
eq({ Hello = cmd_dict, Pwd = cmd_dict2 }, meths.nvim_get_commands({ builtin = false }))
|
||||
-- Delete a command.
|
||||
command('delcommand Pwd')
|
||||
eq({ Hello = cmd_dict }, meths.get_commands({ builtin = false }))
|
||||
eq({ Hello = cmd_dict }, meths.nvim_get_commands({ builtin = false }))
|
||||
end)
|
||||
|
||||
it('gets buffer-local user-defined commands', function()
|
||||
@@ -171,9 +171,9 @@ describe('nvim_get_commands', function()
|
||||
let s:foo = 1
|
||||
command -complete=custom,ListUsers -nargs=+ Finger !finger <args>
|
||||
]])
|
||||
eq({ Finger = cmd1 }, meths.get_commands({ builtin = false }))
|
||||
eq({ Finger = cmd1 }, meths.nvim_get_commands({ builtin = false }))
|
||||
command('command -nargs=1 -complete=dir -addr=arguments -count=10 TestCmd pwd <args>')
|
||||
eq({ Finger = cmd1, TestCmd = cmd0 }, meths.get_commands({ builtin = false }))
|
||||
eq({ Finger = cmd1, TestCmd = cmd0 }, meths.nvim_get_commands({ builtin = false }))
|
||||
|
||||
source([[
|
||||
function! s:foo() abort
|
||||
@@ -193,7 +193,7 @@ describe('nvim_get_commands', function()
|
||||
-- TODO(justinmk): Order is stable but undefined. Sort before return?
|
||||
eq(
|
||||
{ Cmd2 = cmd2, Cmd3 = cmd3, Cmd4 = cmd4, Finger = cmd1, TestCmd = cmd0 },
|
||||
meths.get_commands({ builtin = false })
|
||||
meths.nvim_get_commands({ builtin = false })
|
||||
)
|
||||
end)
|
||||
end)
|
||||
@@ -202,9 +202,9 @@ describe('nvim_create_user_command', function()
|
||||
before_each(clear)
|
||||
|
||||
it('works with strings', function()
|
||||
meths.create_user_command('SomeCommand', 'let g:command_fired = <args>', { nargs = 1 })
|
||||
meths.command('SomeCommand 42')
|
||||
eq(42, meths.eval('g:command_fired'))
|
||||
meths.nvim_create_user_command('SomeCommand', 'let g:command_fired = <args>', { nargs = 1 })
|
||||
meths.nvim_command('SomeCommand 42')
|
||||
eq(42, meths.nvim_eval('g:command_fired'))
|
||||
end)
|
||||
|
||||
it('works with Lua functions', function()
|
||||
@@ -646,11 +646,11 @@ describe('nvim_create_user_command', function()
|
||||
end)
|
||||
|
||||
it('can define buffer-local commands', function()
|
||||
local bufnr = meths.create_buf(false, false)
|
||||
local bufnr = meths.nvim_create_buf(false, false)
|
||||
bufmeths.create_user_command(bufnr, 'Hello', '', {})
|
||||
matches('Not an editor command: Hello', pcall_err(meths.command, 'Hello'))
|
||||
meths.set_current_buf(bufnr)
|
||||
meths.command('Hello')
|
||||
matches('Not an editor command: Hello', pcall_err(meths.nvim_command, 'Hello'))
|
||||
meths.nvim_set_current_buf(bufnr)
|
||||
meths.nvim_command('Hello')
|
||||
assert_alive()
|
||||
end)
|
||||
|
||||
@@ -731,28 +731,28 @@ describe('nvim_create_user_command', function()
|
||||
vim.api.nvim_cmd({ cmd = 'echo', args = { '&verbose' }, mods = opts.smods }, {})
|
||||
end, {})
|
||||
]]
|
||||
eq('3', meths.cmd({ cmd = 'MyEcho', mods = { verbose = 3 } }, { output = true }))
|
||||
eq('3', meths.nvim_cmd({ cmd = 'MyEcho', mods = { verbose = 3 } }, { output = true }))
|
||||
|
||||
eq(1, #meths.list_tabpages())
|
||||
eq(1, #meths.nvim_list_tabpages())
|
||||
exec_lua [[
|
||||
vim.api.nvim_create_user_command('MySplit', function(opts)
|
||||
vim.api.nvim_cmd({ cmd = 'split', mods = opts.smods }, {})
|
||||
end, {})
|
||||
]]
|
||||
meths.cmd({ cmd = 'MySplit' }, {})
|
||||
eq(1, #meths.list_tabpages())
|
||||
eq(2, #meths.list_wins())
|
||||
meths.cmd({ cmd = 'MySplit', mods = { tab = 1 } }, {})
|
||||
eq(2, #meths.list_tabpages())
|
||||
meths.nvim_cmd({ cmd = 'MySplit' }, {})
|
||||
eq(1, #meths.nvim_list_tabpages())
|
||||
eq(2, #meths.nvim_list_wins())
|
||||
meths.nvim_cmd({ cmd = 'MySplit', mods = { tab = 1 } }, {})
|
||||
eq(2, #meths.nvim_list_tabpages())
|
||||
eq(2, funcs.tabpagenr())
|
||||
meths.cmd({ cmd = 'MySplit', mods = { tab = 1 } }, {})
|
||||
eq(3, #meths.list_tabpages())
|
||||
meths.nvim_cmd({ cmd = 'MySplit', mods = { tab = 1 } }, {})
|
||||
eq(3, #meths.nvim_list_tabpages())
|
||||
eq(2, funcs.tabpagenr())
|
||||
meths.cmd({ cmd = 'MySplit', mods = { tab = 3 } }, {})
|
||||
eq(4, #meths.list_tabpages())
|
||||
meths.nvim_cmd({ cmd = 'MySplit', mods = { tab = 3 } }, {})
|
||||
eq(4, #meths.nvim_list_tabpages())
|
||||
eq(4, funcs.tabpagenr())
|
||||
meths.cmd({ cmd = 'MySplit', mods = { tab = 0 } }, {})
|
||||
eq(5, #meths.list_tabpages())
|
||||
meths.nvim_cmd({ cmd = 'MySplit', mods = { tab = 0 } }, {})
|
||||
eq(5, #meths.nvim_list_tabpages())
|
||||
eq(1, funcs.tabpagenr())
|
||||
end)
|
||||
end)
|
||||
@@ -761,16 +761,16 @@ describe('nvim_del_user_command', function()
|
||||
before_each(clear)
|
||||
|
||||
it('can delete global commands', function()
|
||||
meths.create_user_command('Hello', 'echo "Hi"', {})
|
||||
meths.command('Hello')
|
||||
meths.del_user_command('Hello')
|
||||
matches('Not an editor command: Hello', pcall_err(meths.command, 'Hello'))
|
||||
meths.nvim_create_user_command('Hello', 'echo "Hi"', {})
|
||||
meths.nvim_command('Hello')
|
||||
meths.nvim_del_user_command('Hello')
|
||||
matches('Not an editor command: Hello', pcall_err(meths.nvim_command, 'Hello'))
|
||||
end)
|
||||
|
||||
it('can delete buffer-local commands', function()
|
||||
bufmeths.create_user_command(0, 'Hello', 'echo "Hi"', {})
|
||||
meths.command('Hello')
|
||||
meths.nvim_command('Hello')
|
||||
bufmeths.del_user_command(0, 'Hello')
|
||||
matches('Not an editor command: Hello', pcall_err(meths.command, 'Hello'))
|
||||
matches('Not an editor command: Hello', pcall_err(meths.nvim_command, 'Hello'))
|
||||
end)
|
||||
end)
|
||||
|
@@ -1472,7 +1472,7 @@ describe('API/extmarks', function()
|
||||
|
||||
it('in read-only buffer', function()
|
||||
command('view! runtime/doc/help.txt')
|
||||
eq(true, meths.get_option_value('ro', {}))
|
||||
eq(true, meths.nvim_get_option_value('ro', {}))
|
||||
local id = set_extmark(ns, 0, 0, 2)
|
||||
eq({ { id, 0, 2 } }, get_extmarks(ns, 0, -1))
|
||||
end)
|
||||
@@ -1512,7 +1512,7 @@ describe('API/extmarks', function()
|
||||
curbufmeths.set_text(0, 0, 0, 17, {})
|
||||
|
||||
-- handles set_text correctly as well
|
||||
eq({ { 1, 0, 0 }, { 2, 0, 0 } }, meths.buf_get_extmarks(0, ns, 0, -1, {}))
|
||||
eq({ { 1, 0, 0 }, { 2, 0, 0 } }, meths.nvim_buf_get_extmarks(0, ns, 0, -1, {}))
|
||||
curbufmeths.set_text(0, 0, 0, 0, { 'asdfasdf' })
|
||||
eq({ { 1, 0, 0 }, { 2, 0, 8 } }, curbufmeths.get_extmarks(ns, 0, -1, {}))
|
||||
|
||||
@@ -1520,7 +1520,7 @@ describe('API/extmarks', function()
|
||||
-- handles pasting
|
||||
exec([[let @a='asdfasdf']])
|
||||
feed([["ap]])
|
||||
eq({ { 1, 0, 0 }, { 2, 0, 8 } }, meths.buf_get_extmarks(0, ns, 0, -1, {}))
|
||||
eq({ { 1, 0, 0 }, { 2, 0, 8 } }, meths.nvim_buf_get_extmarks(0, ns, 0, -1, {}))
|
||||
end)
|
||||
|
||||
it('can accept "end_row" or "end_line" #16548', function()
|
||||
@@ -1547,7 +1547,7 @@ describe('API/extmarks', function()
|
||||
it('in prompt buffer', function()
|
||||
feed('dd')
|
||||
local id = set_extmark(ns, marks[1], 0, 0, {})
|
||||
meths.set_option_value('buftype', 'prompt', {})
|
||||
meths.nvim_set_option_value('buftype', 'prompt', {})
|
||||
feed('i<esc>')
|
||||
eq({ { id, 0, 2 } }, get_extmarks(ns, 0, -1))
|
||||
end)
|
||||
@@ -1695,7 +1695,7 @@ describe('API/extmarks', function()
|
||||
screen = Screen.new(40, 6)
|
||||
screen:attach()
|
||||
feed('dd6iaaa bbb ccc<CR><ESC>gg')
|
||||
meths.set_option_value('signcolumn', 'auto:2', {})
|
||||
meths.nvim_set_option_value('signcolumn', 'auto:2', {})
|
||||
set_extmark(ns, 1, 0, 0, { invalidate = true, sign_text = 'S1', end_row = 1 })
|
||||
set_extmark(ns, 2, 1, 0, { invalidate = true, sign_text = 'S2', end_row = 2 })
|
||||
-- mark with invalidate is removed
|
||||
|
@@ -59,7 +59,7 @@ describe('API: highlight', function()
|
||||
eq(expected_rgb, nvim('get_hl_by_id', hl_id, true))
|
||||
|
||||
-- Test invalid id.
|
||||
eq('Invalid highlight id: 30000', pcall_err(meths.get_hl_by_id, 30000, false))
|
||||
eq('Invalid highlight id: 30000', pcall_err(meths.nvim_get_hl_by_id, 30000, false))
|
||||
|
||||
-- Test all highlight properties.
|
||||
command('hi NewHighlight gui=underline,bold,italic,reverse,strikethrough,altfont,nocombine')
|
||||
@@ -72,30 +72,30 @@ describe('API: highlight', function()
|
||||
-- Test nil argument.
|
||||
eq(
|
||||
'Wrong type for argument 1 when calling nvim_get_hl_by_id, expecting Integer',
|
||||
pcall_err(meths.get_hl_by_id, { nil }, false)
|
||||
pcall_err(meths.nvim_get_hl_by_id, { nil }, false)
|
||||
)
|
||||
|
||||
-- Test 0 argument.
|
||||
eq('Invalid highlight id: 0', pcall_err(meths.get_hl_by_id, 0, false))
|
||||
eq('Invalid highlight id: 0', pcall_err(meths.nvim_get_hl_by_id, 0, false))
|
||||
|
||||
-- Test -1 argument.
|
||||
eq('Invalid highlight id: -1', pcall_err(meths.get_hl_by_id, -1, false))
|
||||
eq('Invalid highlight id: -1', pcall_err(meths.nvim_get_hl_by_id, -1, false))
|
||||
|
||||
-- Test highlight group without ctermbg value.
|
||||
command('hi Normal ctermfg=red ctermbg=yellow')
|
||||
command('hi NewConstant ctermfg=green guifg=white guibg=blue')
|
||||
hl_id = eval("hlID('NewConstant')")
|
||||
eq({ foreground = 10 }, meths.get_hl_by_id(hl_id, false))
|
||||
eq({ foreground = 10 }, meths.nvim_get_hl_by_id(hl_id, false))
|
||||
|
||||
-- Test highlight group without ctermfg value.
|
||||
command('hi clear NewConstant')
|
||||
command('hi NewConstant ctermbg=Magenta guifg=white guibg=blue')
|
||||
eq({ background = 13 }, meths.get_hl_by_id(hl_id, false))
|
||||
eq({ background = 13 }, meths.nvim_get_hl_by_id(hl_id, false))
|
||||
|
||||
-- Test highlight group with ctermfg and ctermbg values.
|
||||
command('hi clear NewConstant')
|
||||
command('hi NewConstant ctermfg=green ctermbg=Magenta guifg=white guibg=blue')
|
||||
eq({ foreground = 10, background = 13 }, meths.get_hl_by_id(hl_id, false))
|
||||
eq({ foreground = 10, background = 13 }, meths.nvim_get_hl_by_id(hl_id, false))
|
||||
end)
|
||||
|
||||
it('nvim_get_hl_by_name', function()
|
||||
@@ -114,28 +114,28 @@ describe('API: highlight', function()
|
||||
-- Test invalid name.
|
||||
eq(
|
||||
"Invalid highlight name: 'unknown_highlight'",
|
||||
pcall_err(meths.get_hl_by_name, 'unknown_highlight', false)
|
||||
pcall_err(meths.nvim_get_hl_by_name, 'unknown_highlight', false)
|
||||
)
|
||||
|
||||
-- Test nil argument.
|
||||
eq(
|
||||
'Wrong type for argument 1 when calling nvim_get_hl_by_name, expecting String',
|
||||
pcall_err(meths.get_hl_by_name, { nil }, false)
|
||||
pcall_err(meths.nvim_get_hl_by_name, { nil }, false)
|
||||
)
|
||||
|
||||
-- Test empty string argument.
|
||||
eq('Invalid highlight name', pcall_err(meths.get_hl_by_name, '', false))
|
||||
eq('Invalid highlight name', pcall_err(meths.nvim_get_hl_by_name, '', false))
|
||||
|
||||
-- Test "standout" attribute. #8054
|
||||
eq({ underline = true }, meths.get_hl_by_name('cursorline', 0))
|
||||
eq({ underline = true }, meths.nvim_get_hl_by_name('cursorline', 0))
|
||||
command('hi CursorLine cterm=standout,underline term=standout,underline gui=standout,underline')
|
||||
command('set cursorline')
|
||||
eq({ underline = true, standout = true }, meths.get_hl_by_name('cursorline', 0))
|
||||
eq({ underline = true, standout = true }, meths.nvim_get_hl_by_name('cursorline', 0))
|
||||
|
||||
-- Test cterm & Normal values. #18024 (tail) & #18980
|
||||
-- Ensure Normal, and groups that match Normal return their fg & bg cterm values
|
||||
meths.set_hl(0, 'Normal', { ctermfg = 17, ctermbg = 213 })
|
||||
meths.set_hl(0, 'NotNormal', { ctermfg = 17, ctermbg = 213, nocombine = true })
|
||||
meths.nvim_set_hl(0, 'Normal', { ctermfg = 17, ctermbg = 213 })
|
||||
meths.nvim_set_hl(0, 'NotNormal', { ctermfg = 17, ctermbg = 213, nocombine = true })
|
||||
-- Note colors are "cterm" values, not rgb-as-ints
|
||||
eq({ foreground = 17, background = 213 }, nvim('get_hl_by_name', 'Normal', false))
|
||||
eq(
|
||||
@@ -146,31 +146,34 @@ describe('API: highlight', function()
|
||||
|
||||
it('nvim_get_hl_id_by_name', function()
|
||||
-- precondition: use a hl group that does not yet exist
|
||||
eq("Invalid highlight name: 'Shrubbery'", pcall_err(meths.get_hl_by_name, 'Shrubbery', true))
|
||||
eq(
|
||||
"Invalid highlight name: 'Shrubbery'",
|
||||
pcall_err(meths.nvim_get_hl_by_name, 'Shrubbery', true)
|
||||
)
|
||||
eq(0, funcs.hlID('Shrubbery'))
|
||||
|
||||
local hl_id = meths.get_hl_id_by_name('Shrubbery')
|
||||
local hl_id = meths.nvim_get_hl_id_by_name('Shrubbery')
|
||||
ok(hl_id > 0)
|
||||
eq(hl_id, funcs.hlID('Shrubbery'))
|
||||
|
||||
command('hi Shrubbery guifg=#888888 guibg=#888888')
|
||||
eq(
|
||||
{ foreground = tonumber('0x888888'), background = tonumber('0x888888') },
|
||||
meths.get_hl_by_id(hl_id, true)
|
||||
meths.nvim_get_hl_by_id(hl_id, true)
|
||||
)
|
||||
eq(
|
||||
{ foreground = tonumber('0x888888'), background = tonumber('0x888888') },
|
||||
meths.get_hl_by_name('Shrubbery', true)
|
||||
meths.nvim_get_hl_by_name('Shrubbery', true)
|
||||
)
|
||||
end)
|
||||
|
||||
it("nvim_buf_add_highlight to other buffer doesn't crash if undo is disabled #12873", function()
|
||||
command('vsplit file')
|
||||
local err, _ = pcall(meths.set_option_value, 'undofile', false, { buf = 1 })
|
||||
local err, _ = pcall(meths.nvim_set_option_value, 'undofile', false, { buf = 1 })
|
||||
eq(true, err)
|
||||
err, _ = pcall(meths.set_option_value, 'undolevels', -1, { buf = 1 })
|
||||
err, _ = pcall(meths.nvim_set_option_value, 'undolevels', -1, { buf = 1 })
|
||||
eq(true, err)
|
||||
err, _ = pcall(meths.buf_add_highlight, 1, -1, 'Question', 0, 0, -1)
|
||||
err, _ = pcall(meths.nvim_buf_add_highlight, 1, -1, 'Question', 0, 0, -1)
|
||||
eq(true, err)
|
||||
assert_alive()
|
||||
end)
|
||||
@@ -241,8 +244,8 @@ describe('API: set highlight', function()
|
||||
}
|
||||
|
||||
local function get_ns()
|
||||
local ns = meths.create_namespace('Test_set_hl')
|
||||
meths.set_hl_ns(ns)
|
||||
local ns = meths.nvim_create_namespace('Test_set_hl')
|
||||
meths.nvim_set_hl_ns(ns)
|
||||
return ns
|
||||
end
|
||||
|
||||
@@ -251,51 +254,51 @@ describe('API: set highlight', function()
|
||||
it('validation', function()
|
||||
eq(
|
||||
"Invalid 'blend': out of range",
|
||||
pcall_err(meths.set_hl, 0, 'Test_hl3', { fg = '#FF00FF', blend = 999 })
|
||||
pcall_err(meths.nvim_set_hl, 0, 'Test_hl3', { fg = '#FF00FF', blend = 999 })
|
||||
)
|
||||
eq(
|
||||
"Invalid 'blend': expected Integer, got Array",
|
||||
pcall_err(meths.set_hl, 0, 'Test_hl3', { fg = '#FF00FF', blend = {} })
|
||||
pcall_err(meths.nvim_set_hl, 0, 'Test_hl3', { fg = '#FF00FF', blend = {} })
|
||||
)
|
||||
end)
|
||||
|
||||
it('can set gui highlight', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', highlight1)
|
||||
eq(highlight1, meths.get_hl_by_name('Test_hl', true))
|
||||
meths.nvim_set_hl(ns, 'Test_hl', highlight1)
|
||||
eq(highlight1, meths.nvim_get_hl_by_name('Test_hl', true))
|
||||
end)
|
||||
|
||||
it('can set cterm highlight', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', highlight2_config)
|
||||
eq(highlight2_result, meths.get_hl_by_name('Test_hl', false))
|
||||
meths.nvim_set_hl(ns, 'Test_hl', highlight2_config)
|
||||
eq(highlight2_result, meths.nvim_get_hl_by_name('Test_hl', false))
|
||||
end)
|
||||
|
||||
it('can set empty cterm attr', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', { cterm = {} })
|
||||
eq({}, meths.get_hl_by_name('Test_hl', false))
|
||||
meths.nvim_set_hl(ns, 'Test_hl', { cterm = {} })
|
||||
eq({}, meths.nvim_get_hl_by_name('Test_hl', false))
|
||||
end)
|
||||
|
||||
it('cterm attr defaults to gui attr', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', highlight1)
|
||||
meths.nvim_set_hl(ns, 'Test_hl', highlight1)
|
||||
eq({
|
||||
bold = true,
|
||||
italic = true,
|
||||
}, meths.get_hl_by_name('Test_hl', false))
|
||||
}, meths.nvim_get_hl_by_name('Test_hl', false))
|
||||
end)
|
||||
|
||||
it('can overwrite attr for cterm', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', highlight3_config)
|
||||
eq(highlight3_result_gui, meths.get_hl_by_name('Test_hl', true))
|
||||
eq(highlight3_result_cterm, meths.get_hl_by_name('Test_hl', false))
|
||||
meths.nvim_set_hl(ns, 'Test_hl', highlight3_config)
|
||||
eq(highlight3_result_gui, meths.nvim_get_hl_by_name('Test_hl', true))
|
||||
eq(highlight3_result_cterm, meths.nvim_get_hl_by_name('Test_hl', false))
|
||||
end)
|
||||
|
||||
it('only allows one underline attribute #22371', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', {
|
||||
meths.nvim_set_hl(ns, 'Test_hl', {
|
||||
underdouble = true,
|
||||
underdotted = true,
|
||||
cterm = {
|
||||
@@ -303,21 +306,21 @@ describe('API: set highlight', function()
|
||||
undercurl = true,
|
||||
},
|
||||
})
|
||||
eq({ undercurl = true }, meths.get_hl_by_name('Test_hl', false))
|
||||
eq({ underdotted = true }, meths.get_hl_by_name('Test_hl', true))
|
||||
eq({ undercurl = true }, meths.nvim_get_hl_by_name('Test_hl', false))
|
||||
eq({ underdotted = true }, meths.nvim_get_hl_by_name('Test_hl', true))
|
||||
end)
|
||||
|
||||
it('can set a highlight in the global namespace', function()
|
||||
meths.set_hl(0, 'Test_hl', highlight2_config)
|
||||
meths.nvim_set_hl(0, 'Test_hl', highlight2_config)
|
||||
eq(
|
||||
'Test_hl xxx cterm=underline,reverse ctermfg=8 ctermbg=15 gui=underline,reverse',
|
||||
exec_capture('highlight Test_hl')
|
||||
)
|
||||
|
||||
meths.set_hl(0, 'Test_hl', { background = highlight_color.bg })
|
||||
meths.nvim_set_hl(0, 'Test_hl', { background = highlight_color.bg })
|
||||
eq('Test_hl xxx guibg=#0032aa', exec_capture('highlight Test_hl'))
|
||||
|
||||
meths.set_hl(0, 'Test_hl2', highlight3_config)
|
||||
meths.nvim_set_hl(0, 'Test_hl2', highlight3_config)
|
||||
eq(
|
||||
'Test_hl2 xxx cterm=italic,reverse,strikethrough,altfont,nocombine ctermfg=8 ctermbg=15 gui=bold,underdashed,italic,reverse,strikethrough,altfont guifg=#ff0000 guibg=#0032aa',
|
||||
exec_capture('highlight Test_hl2')
|
||||
@@ -325,58 +328,64 @@ describe('API: set highlight', function()
|
||||
|
||||
-- Colors are stored with the name they are defined, but
|
||||
-- with canonical casing
|
||||
meths.set_hl(0, 'Test_hl3', { bg = 'reD', fg = 'bLue' })
|
||||
meths.nvim_set_hl(0, 'Test_hl3', { bg = 'reD', fg = 'bLue' })
|
||||
eq('Test_hl3 xxx guifg=Blue guibg=Red', exec_capture('highlight Test_hl3'))
|
||||
end)
|
||||
|
||||
it('can modify a highlight in the global namespace', function()
|
||||
meths.set_hl(0, 'Test_hl3', { bg = 'red', fg = 'blue' })
|
||||
meths.nvim_set_hl(0, 'Test_hl3', { bg = 'red', fg = 'blue' })
|
||||
eq('Test_hl3 xxx guifg=Blue guibg=Red', exec_capture('highlight Test_hl3'))
|
||||
|
||||
meths.set_hl(0, 'Test_hl3', { bg = 'red' })
|
||||
meths.nvim_set_hl(0, 'Test_hl3', { bg = 'red' })
|
||||
eq('Test_hl3 xxx guibg=Red', exec_capture('highlight Test_hl3'))
|
||||
|
||||
meths.set_hl(0, 'Test_hl3', { ctermbg = 9, ctermfg = 12 })
|
||||
meths.nvim_set_hl(0, 'Test_hl3', { ctermbg = 9, ctermfg = 12 })
|
||||
eq('Test_hl3 xxx ctermfg=12 ctermbg=9', exec_capture('highlight Test_hl3'))
|
||||
|
||||
meths.set_hl(0, 'Test_hl3', { ctermbg = 'red', ctermfg = 'blue' })
|
||||
meths.nvim_set_hl(0, 'Test_hl3', { ctermbg = 'red', ctermfg = 'blue' })
|
||||
eq('Test_hl3 xxx ctermfg=12 ctermbg=9', exec_capture('highlight Test_hl3'))
|
||||
|
||||
meths.set_hl(0, 'Test_hl3', { ctermbg = 9 })
|
||||
meths.nvim_set_hl(0, 'Test_hl3', { ctermbg = 9 })
|
||||
eq('Test_hl3 xxx ctermbg=9', exec_capture('highlight Test_hl3'))
|
||||
|
||||
eq("Invalid highlight color: 'redd'", pcall_err(meths.set_hl, 0, 'Test_hl3', { fg = 'redd' }))
|
||||
eq(
|
||||
"Invalid highlight color: 'redd'",
|
||||
pcall_err(meths.nvim_set_hl, 0, 'Test_hl3', { fg = 'redd' })
|
||||
)
|
||||
|
||||
eq(
|
||||
"Invalid highlight color: 'bleu'",
|
||||
pcall_err(meths.set_hl, 0, 'Test_hl3', { ctermfg = 'bleu' })
|
||||
pcall_err(meths.nvim_set_hl, 0, 'Test_hl3', { ctermfg = 'bleu' })
|
||||
)
|
||||
|
||||
meths.set_hl(0, 'Test_hl3', { fg = '#FF00FF' })
|
||||
meths.nvim_set_hl(0, 'Test_hl3', { fg = '#FF00FF' })
|
||||
eq('Test_hl3 xxx guifg=#ff00ff', exec_capture('highlight Test_hl3'))
|
||||
|
||||
eq(
|
||||
"Invalid highlight color: '#FF00FF'",
|
||||
pcall_err(meths.set_hl, 0, 'Test_hl3', { ctermfg = '#FF00FF' })
|
||||
pcall_err(meths.nvim_set_hl, 0, 'Test_hl3', { ctermfg = '#FF00FF' })
|
||||
)
|
||||
|
||||
for _, fg_val in ipairs { nil, 'NONE', 'nOnE', '', -1 } do
|
||||
meths.set_hl(0, 'Test_hl3', { fg = fg_val })
|
||||
meths.nvim_set_hl(0, 'Test_hl3', { fg = fg_val })
|
||||
eq('Test_hl3 xxx cleared', exec_capture('highlight Test_hl3'))
|
||||
end
|
||||
|
||||
meths.set_hl(0, 'Test_hl3', { fg = '#FF00FF', blend = 50 })
|
||||
meths.nvim_set_hl(0, 'Test_hl3', { fg = '#FF00FF', blend = 50 })
|
||||
eq('Test_hl3 xxx guifg=#ff00ff blend=50', exec_capture('highlight Test_hl3'))
|
||||
end)
|
||||
|
||||
it("correctly sets 'Normal' internal properties", function()
|
||||
-- Normal has some special handling internally. #18024
|
||||
meths.set_hl(0, 'Normal', { fg = '#000083', bg = '#0000F3' })
|
||||
meths.nvim_set_hl(0, 'Normal', { fg = '#000083', bg = '#0000F3' })
|
||||
eq({ foreground = 131, background = 243 }, nvim('get_hl_by_name', 'Normal', true))
|
||||
end)
|
||||
|
||||
it('does not segfault on invalid group name #20009', function()
|
||||
eq("Invalid highlight name: 'foo bar'", pcall_err(meths.set_hl, 0, 'foo bar', { bold = true }))
|
||||
eq(
|
||||
"Invalid highlight name: 'foo bar'",
|
||||
pcall_err(meths.nvim_set_hl, 0, 'foo bar', { bold = true })
|
||||
)
|
||||
assert_alive()
|
||||
end)
|
||||
end)
|
||||
@@ -443,14 +452,14 @@ describe('API: get highlight', function()
|
||||
|
||||
local function get_ns()
|
||||
-- Test namespace filtering behavior
|
||||
local ns2 = meths.create_namespace('Another_namespace')
|
||||
meths.set_hl(ns2, 'Test_hl', { ctermfg = 23 })
|
||||
meths.set_hl(ns2, 'Test_another_hl', { link = 'Test_hl' })
|
||||
meths.set_hl(ns2, 'Test_hl_link', { link = 'Test_another_hl' })
|
||||
meths.set_hl(ns2, 'Test_another_hl_link', { link = 'Test_hl_link' })
|
||||
local ns2 = meths.nvim_create_namespace('Another_namespace')
|
||||
meths.nvim_set_hl(ns2, 'Test_hl', { ctermfg = 23 })
|
||||
meths.nvim_set_hl(ns2, 'Test_another_hl', { link = 'Test_hl' })
|
||||
meths.nvim_set_hl(ns2, 'Test_hl_link', { link = 'Test_another_hl' })
|
||||
meths.nvim_set_hl(ns2, 'Test_another_hl_link', { link = 'Test_hl_link' })
|
||||
|
||||
local ns = meths.create_namespace('Test_set_hl')
|
||||
meths.set_hl_ns(ns)
|
||||
local ns = meths.nvim_create_namespace('Test_set_hl')
|
||||
meths.nvim_set_hl_ns(ns)
|
||||
|
||||
return ns
|
||||
end
|
||||
@@ -458,23 +467,26 @@ describe('API: get highlight', function()
|
||||
before_each(clear)
|
||||
|
||||
it('validation', function()
|
||||
eq("Invalid 'name': expected String, got Integer", pcall_err(meths.get_hl, 0, { name = 177 }))
|
||||
eq('Highlight id out of bounds', pcall_err(meths.get_hl, 0, { name = 'Test set hl' }))
|
||||
eq(
|
||||
"Invalid 'name': expected String, got Integer",
|
||||
pcall_err(meths.nvim_get_hl, 0, { name = 177 })
|
||||
)
|
||||
eq('Highlight id out of bounds', pcall_err(meths.nvim_get_hl, 0, { name = 'Test set hl' }))
|
||||
end)
|
||||
|
||||
it('nvim_get_hl with create flag', function()
|
||||
eq({}, nvim('get_hl', 0, { name = 'Foo', create = false }))
|
||||
eq(0, funcs.hlexists('Foo'))
|
||||
meths.get_hl(0, { name = 'Bar', create = true })
|
||||
meths.nvim_get_hl(0, { name = 'Bar', create = true })
|
||||
eq(1, funcs.hlexists('Bar'))
|
||||
meths.get_hl(0, { name = 'FooBar' })
|
||||
meths.nvim_get_hl(0, { name = 'FooBar' })
|
||||
eq(1, funcs.hlexists('FooBar'))
|
||||
end)
|
||||
|
||||
it('can get all highlights in current namespace', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', { bg = '#B4BEFE' })
|
||||
meths.set_hl(ns, 'Test_hl_link', { link = 'Test_hl' })
|
||||
meths.nvim_set_hl(ns, 'Test_hl', { bg = '#B4BEFE' })
|
||||
meths.nvim_set_hl(ns, 'Test_hl_link', { link = 'Test_hl' })
|
||||
eq({
|
||||
Test_hl = {
|
||||
bg = 11845374,
|
||||
@@ -482,42 +494,42 @@ describe('API: get highlight', function()
|
||||
Test_hl_link = {
|
||||
link = 'Test_hl',
|
||||
},
|
||||
}, meths.get_hl(ns, {}))
|
||||
}, meths.nvim_get_hl(ns, {}))
|
||||
end)
|
||||
|
||||
it('can get gui highlight', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', highlight1)
|
||||
eq(highlight1, meths.get_hl(ns, { name = 'Test_hl' }))
|
||||
meths.nvim_set_hl(ns, 'Test_hl', highlight1)
|
||||
eq(highlight1, meths.nvim_get_hl(ns, { name = 'Test_hl' }))
|
||||
end)
|
||||
|
||||
it('can get cterm highlight', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', highlight2)
|
||||
eq(highlight2, meths.get_hl(ns, { name = 'Test_hl' }))
|
||||
meths.nvim_set_hl(ns, 'Test_hl', highlight2)
|
||||
eq(highlight2, meths.nvim_get_hl(ns, { name = 'Test_hl' }))
|
||||
end)
|
||||
|
||||
it('can get empty cterm attr', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', { cterm = {} })
|
||||
eq({}, meths.get_hl(ns, { name = 'Test_hl' }))
|
||||
meths.nvim_set_hl(ns, 'Test_hl', { cterm = {} })
|
||||
eq({}, meths.nvim_get_hl(ns, { name = 'Test_hl' }))
|
||||
end)
|
||||
|
||||
it('cterm attr defaults to gui attr', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', highlight1)
|
||||
eq(highlight1, meths.get_hl(ns, { name = 'Test_hl' }))
|
||||
meths.nvim_set_hl(ns, 'Test_hl', highlight1)
|
||||
eq(highlight1, meths.nvim_get_hl(ns, { name = 'Test_hl' }))
|
||||
end)
|
||||
|
||||
it('can overwrite attr for cterm', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', highlight3_config)
|
||||
eq(highlight3_result, meths.get_hl(ns, { name = 'Test_hl' }))
|
||||
meths.nvim_set_hl(ns, 'Test_hl', highlight3_config)
|
||||
eq(highlight3_result, meths.nvim_get_hl(ns, { name = 'Test_hl' }))
|
||||
end)
|
||||
|
||||
it('only allows one underline attribute #22371', function()
|
||||
local ns = get_ns()
|
||||
meths.set_hl(ns, 'Test_hl', {
|
||||
meths.nvim_set_hl(ns, 'Test_hl', {
|
||||
underdouble = true,
|
||||
underdotted = true,
|
||||
cterm = {
|
||||
@@ -525,32 +537,35 @@ describe('API: get highlight', function()
|
||||
undercurl = true,
|
||||
},
|
||||
})
|
||||
eq({ underdotted = true, cterm = { undercurl = true } }, meths.get_hl(ns, { name = 'Test_hl' }))
|
||||
eq(
|
||||
{ underdotted = true, cterm = { undercurl = true } },
|
||||
meths.nvim_get_hl(ns, { name = 'Test_hl' })
|
||||
)
|
||||
end)
|
||||
|
||||
it('can get a highlight in the global namespace', function()
|
||||
meths.set_hl(0, 'Test_hl', highlight2)
|
||||
eq(highlight2, meths.get_hl(0, { name = 'Test_hl' }))
|
||||
meths.nvim_set_hl(0, 'Test_hl', highlight2)
|
||||
eq(highlight2, meths.nvim_get_hl(0, { name = 'Test_hl' }))
|
||||
|
||||
meths.set_hl(0, 'Test_hl', { background = highlight_color.bg })
|
||||
meths.nvim_set_hl(0, 'Test_hl', { background = highlight_color.bg })
|
||||
eq({
|
||||
bg = 12970,
|
||||
}, meths.get_hl(0, { name = 'Test_hl' }))
|
||||
}, meths.nvim_get_hl(0, { name = 'Test_hl' }))
|
||||
|
||||
meths.set_hl(0, 'Test_hl2', highlight3_config)
|
||||
eq(highlight3_result, meths.get_hl(0, { name = 'Test_hl2' }))
|
||||
meths.nvim_set_hl(0, 'Test_hl2', highlight3_config)
|
||||
eq(highlight3_result, meths.nvim_get_hl(0, { name = 'Test_hl2' }))
|
||||
|
||||
-- Colors are stored with the name they are defined, but
|
||||
-- with canonical casing
|
||||
meths.set_hl(0, 'Test_hl3', { bg = 'reD', fg = 'bLue' })
|
||||
meths.nvim_set_hl(0, 'Test_hl3', { bg = 'reD', fg = 'bLue' })
|
||||
eq({
|
||||
bg = 16711680,
|
||||
fg = 255,
|
||||
}, meths.get_hl(0, { name = 'Test_hl3' }))
|
||||
}, meths.nvim_get_hl(0, { name = 'Test_hl3' }))
|
||||
end)
|
||||
|
||||
it('nvim_get_hl by id', function()
|
||||
local hl_id = meths.get_hl_id_by_name('NewHighlight')
|
||||
local hl_id = meths.nvim_get_hl_id_by_name('NewHighlight')
|
||||
|
||||
command(
|
||||
'hi NewHighlight cterm=underline ctermbg=green guifg=red guibg=yellow guisp=blue gui=bold'
|
||||
@@ -562,14 +577,14 @@ describe('API: get highlight', function()
|
||||
bold = true,
|
||||
ctermbg = 10,
|
||||
cterm = { underline = true },
|
||||
}, meths.get_hl(0, { id = hl_id }))
|
||||
}, meths.nvim_get_hl(0, { id = hl_id }))
|
||||
|
||||
-- Test 0 argument
|
||||
eq('Highlight id out of bounds', pcall_err(meths.get_hl, 0, { id = 0 }))
|
||||
eq('Highlight id out of bounds', pcall_err(meths.nvim_get_hl, 0, { id = 0 }))
|
||||
|
||||
eq(
|
||||
"Invalid 'id': expected Integer, got String",
|
||||
pcall_err(meths.get_hl, 0, { id = 'Test_set_hl' })
|
||||
pcall_err(meths.nvim_get_hl, 0, { id = 'Test_set_hl' })
|
||||
)
|
||||
|
||||
-- Test all highlight properties.
|
||||
@@ -587,7 +602,7 @@ describe('API: get highlight', function()
|
||||
underline = true,
|
||||
ctermbg = 10,
|
||||
cterm = { underline = true },
|
||||
}, meths.get_hl(0, { id = hl_id }))
|
||||
}, meths.nvim_get_hl(0, { id = hl_id }))
|
||||
|
||||
-- Test undercurl
|
||||
command('hi NewHighlight gui=undercurl')
|
||||
@@ -598,16 +613,16 @@ describe('API: get highlight', function()
|
||||
undercurl = true,
|
||||
ctermbg = 10,
|
||||
cterm = { underline = true },
|
||||
}, meths.get_hl(0, { id = hl_id }))
|
||||
}, meths.nvim_get_hl(0, { id = hl_id }))
|
||||
end)
|
||||
|
||||
it('can correctly detect links', function()
|
||||
command('hi String guifg=#a6e3a1 ctermfg=NONE')
|
||||
command('hi link @string string')
|
||||
command('hi link @string.cpp @string')
|
||||
eq({ fg = 10937249 }, meths.get_hl(0, { name = 'String' }))
|
||||
eq({ link = 'String' }, meths.get_hl(0, { name = '@string' }))
|
||||
eq({ fg = 10937249 }, meths.get_hl(0, { name = '@string.cpp', link = false }))
|
||||
eq({ fg = 10937249 }, meths.nvim_get_hl(0, { name = 'String' }))
|
||||
eq({ link = 'String' }, meths.nvim_get_hl(0, { name = '@string' }))
|
||||
eq({ fg = 10937249 }, meths.nvim_get_hl(0, { name = '@string.cpp', link = false }))
|
||||
end)
|
||||
|
||||
it('can get all attributes for a linked group', function()
|
||||
@@ -616,55 +631,55 @@ describe('API: get highlight', function()
|
||||
command('hi! link Foo Bar')
|
||||
eq(
|
||||
{ link = 'Bar', fg = tonumber('00ff00', 16), bold = true, underline = true },
|
||||
meths.get_hl(0, { name = 'Foo', link = true })
|
||||
meths.nvim_get_hl(0, { name = 'Foo', link = true })
|
||||
)
|
||||
end)
|
||||
|
||||
it('can set link as well as other attributes', function()
|
||||
command('hi Bar guifg=red')
|
||||
local hl = { link = 'Bar', fg = tonumber('00ff00', 16), bold = true, cterm = { bold = true } }
|
||||
meths.set_hl(0, 'Foo', hl)
|
||||
eq(hl, meths.get_hl(0, { name = 'Foo', link = true }))
|
||||
meths.nvim_set_hl(0, 'Foo', hl)
|
||||
eq(hl, meths.nvim_get_hl(0, { name = 'Foo', link = true }))
|
||||
end)
|
||||
|
||||
it("doesn't contain unset groups", function()
|
||||
local id = meths.get_hl_id_by_name '@foobar.hubbabubba'
|
||||
local id = meths.nvim_get_hl_id_by_name '@foobar.hubbabubba'
|
||||
ok(id > 0)
|
||||
|
||||
local data = meths.get_hl(0, {})
|
||||
local data = meths.nvim_get_hl(0, {})
|
||||
eq(nil, data['@foobar.hubbabubba'])
|
||||
eq(nil, data['@foobar'])
|
||||
|
||||
command 'hi @foobar.hubbabubba gui=bold'
|
||||
data = meths.get_hl(0, {})
|
||||
data = meths.nvim_get_hl(0, {})
|
||||
eq({ bold = true }, data['@foobar.hubbabubba'])
|
||||
eq(nil, data['@foobar'])
|
||||
|
||||
-- @foobar.hubbabubba was explicitly cleared and thus shows up
|
||||
-- but @foobar was never touched, and thus doesn't
|
||||
command 'hi clear @foobar.hubbabubba'
|
||||
data = meths.get_hl(0, {})
|
||||
data = meths.nvim_get_hl(0, {})
|
||||
eq({}, data['@foobar.hubbabubba'])
|
||||
eq(nil, data['@foobar'])
|
||||
end)
|
||||
|
||||
it('should return default flag', function()
|
||||
meths.set_hl(0, 'Tried', { fg = '#00ff00', default = true })
|
||||
eq({ fg = tonumber('00ff00', 16), default = true }, meths.get_hl(0, { name = 'Tried' }))
|
||||
meths.nvim_set_hl(0, 'Tried', { fg = '#00ff00', default = true })
|
||||
eq({ fg = tonumber('00ff00', 16), default = true }, meths.nvim_get_hl(0, { name = 'Tried' }))
|
||||
end)
|
||||
|
||||
it('should not output empty gui and cterm #23474', function()
|
||||
meths.set_hl(0, 'Foo', { default = true })
|
||||
meths.set_hl(0, 'Bar', { default = true, fg = '#ffffff' })
|
||||
meths.set_hl(0, 'FooBar', { default = true, fg = '#ffffff', cterm = { bold = true } })
|
||||
meths.set_hl(
|
||||
meths.nvim_set_hl(0, 'Foo', { default = true })
|
||||
meths.nvim_set_hl(0, 'Bar', { default = true, fg = '#ffffff' })
|
||||
meths.nvim_set_hl(0, 'FooBar', { default = true, fg = '#ffffff', cterm = { bold = true } })
|
||||
meths.nvim_set_hl(
|
||||
0,
|
||||
'FooBarA',
|
||||
{ default = true, fg = '#ffffff', cterm = { bold = true, italic = true } }
|
||||
)
|
||||
|
||||
eq('Foo xxx cleared', exec_capture('highlight Foo'))
|
||||
eq({ default = true }, meths.get_hl(0, { name = 'Foo' }))
|
||||
eq({ default = true }, meths.nvim_get_hl(0, { name = 'Foo' }))
|
||||
eq('Bar xxx guifg=#ffffff', exec_capture('highlight Bar'))
|
||||
eq('FooBar xxx cterm=bold guifg=#ffffff', exec_capture('highlight FooBar'))
|
||||
eq('FooBarA xxx cterm=bold,italic guifg=#ffffff', exec_capture('highlight FooBarA'))
|
||||
@@ -673,27 +688,27 @@ describe('API: get highlight', function()
|
||||
it('can override exist highlight group by force #20323', function()
|
||||
local white = tonumber('ffffff', 16)
|
||||
local green = tonumber('00ff00', 16)
|
||||
meths.set_hl(0, 'Foo', { fg = white })
|
||||
meths.set_hl(0, 'Foo', { fg = green, force = true })
|
||||
eq({ fg = green }, meths.get_hl(0, { name = 'Foo' }))
|
||||
meths.set_hl(0, 'Bar', { link = 'Comment', default = true })
|
||||
meths.set_hl(0, 'Bar', { link = 'Foo', default = true, force = true })
|
||||
eq({ link = 'Foo', default = true }, meths.get_hl(0, { name = 'Bar' }))
|
||||
meths.nvim_set_hl(0, 'Foo', { fg = white })
|
||||
meths.nvim_set_hl(0, 'Foo', { fg = green, force = true })
|
||||
eq({ fg = green }, meths.nvim_get_hl(0, { name = 'Foo' }))
|
||||
meths.nvim_set_hl(0, 'Bar', { link = 'Comment', default = true })
|
||||
meths.nvim_set_hl(0, 'Bar', { link = 'Foo', default = true, force = true })
|
||||
eq({ link = 'Foo', default = true }, meths.nvim_get_hl(0, { name = 'Bar' }))
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('API: set/get highlight namespace', function()
|
||||
it('set/get highlight namespace', function()
|
||||
eq(0, meths.get_hl_ns({}))
|
||||
local ns = meths.create_namespace('')
|
||||
meths.set_hl_ns(ns)
|
||||
eq(ns, meths.get_hl_ns({}))
|
||||
eq(0, meths.nvim_get_hl_ns({}))
|
||||
local ns = meths.nvim_create_namespace('')
|
||||
meths.nvim_set_hl_ns(ns)
|
||||
eq(ns, meths.nvim_get_hl_ns({}))
|
||||
end)
|
||||
|
||||
it('set/get window highlight namespace', function()
|
||||
eq(-1, meths.get_hl_ns({ winid = 0 }))
|
||||
local ns = meths.create_namespace('')
|
||||
meths.win_set_hl_ns(0, ns)
|
||||
eq(ns, meths.get_hl_ns({ winid = 0 }))
|
||||
eq(-1, meths.nvim_get_hl_ns({ winid = 0 }))
|
||||
local ns = meths.nvim_create_namespace('')
|
||||
meths.nvim_win_set_hl_ns(0, ns)
|
||||
eq(ns, meths.nvim_get_hl_ns({ winid = 0 }))
|
||||
end)
|
||||
end)
|
||||
|
@@ -57,7 +57,7 @@ describe('nvim_get_keymap', function()
|
||||
}
|
||||
|
||||
it('returns empty list when no map', function()
|
||||
eq({}, meths.get_keymap('n'))
|
||||
eq({}, meths.nvim_get_keymap('n'))
|
||||
end)
|
||||
|
||||
it('returns list of all applicable mappings', function()
|
||||
@@ -66,8 +66,8 @@ describe('nvim_get_keymap', function()
|
||||
-- Should be the same as the dictionary we supplied earlier
|
||||
-- and the dictionary you would get from maparg
|
||||
-- since this is a global map, and not script local
|
||||
eq({ foo_bar_map_table }, meths.get_keymap('n'))
|
||||
eq({ funcs.maparg('foo', 'n', false, true) }, meths.get_keymap('n'))
|
||||
eq({ foo_bar_map_table }, meths.nvim_get_keymap('n'))
|
||||
eq({ funcs.maparg('foo', 'n', false, true) }, meths.nvim_get_keymap('n'))
|
||||
|
||||
-- Add another mapping
|
||||
command('nnoremap foo_longer bar_longer')
|
||||
@@ -76,11 +76,11 @@ describe('nvim_get_keymap', function()
|
||||
foolong_bar_map_table['lhsraw'] = 'foo_longer'
|
||||
foolong_bar_map_table['rhs'] = 'bar_longer'
|
||||
|
||||
eq({ foolong_bar_map_table, foo_bar_map_table }, meths.get_keymap('n'))
|
||||
eq({ foolong_bar_map_table, foo_bar_map_table }, meths.nvim_get_keymap('n'))
|
||||
|
||||
-- Remove a mapping
|
||||
command('unmap foo_longer')
|
||||
eq({ foo_bar_map_table }, meths.get_keymap('n'))
|
||||
eq({ foo_bar_map_table }, meths.nvim_get_keymap('n'))
|
||||
end)
|
||||
|
||||
it('works for other modes', function()
|
||||
@@ -94,7 +94,7 @@ describe('nvim_get_keymap', function()
|
||||
insert_table['mode'] = 'i'
|
||||
insert_table['mode_bits'] = 0x10
|
||||
|
||||
eq({ insert_table }, meths.get_keymap('i'))
|
||||
eq({ insert_table }, meths.nvim_get_keymap('i'))
|
||||
end)
|
||||
|
||||
it('considers scope', function()
|
||||
@@ -111,7 +111,7 @@ describe('nvim_get_keymap', function()
|
||||
command('nnoremap <buffer> foo bar')
|
||||
|
||||
-- The buffer mapping should not show up
|
||||
eq({ foolong_bar_map_table }, meths.get_keymap('n'))
|
||||
eq({ foolong_bar_map_table }, meths.nvim_get_keymap('n'))
|
||||
eq({ buffer_table }, curbufmeths.get_keymap('n'))
|
||||
end)
|
||||
|
||||
@@ -123,7 +123,7 @@ describe('nvim_get_keymap', function()
|
||||
|
||||
command('nnoremap <buffer> foo bar')
|
||||
|
||||
eq({ foo_bar_map_table }, meths.get_keymap('n'))
|
||||
eq({ foo_bar_map_table }, meths.nvim_get_keymap('n'))
|
||||
eq({ buffer_table }, curbufmeths.get_keymap('n'))
|
||||
end)
|
||||
|
||||
@@ -143,15 +143,15 @@ describe('nvim_get_keymap', function()
|
||||
-- Final buffer will have buffer mappings
|
||||
local buffer_table = shallowcopy(foo_bar_map_table)
|
||||
buffer_table['buffer'] = final_buffer
|
||||
eq({ buffer_table }, meths.buf_get_keymap(final_buffer, 'n'))
|
||||
eq({ buffer_table }, meths.buf_get_keymap(0, 'n'))
|
||||
eq({ buffer_table }, meths.nvim_buf_get_keymap(final_buffer, 'n'))
|
||||
eq({ buffer_table }, meths.nvim_buf_get_keymap(0, 'n'))
|
||||
|
||||
command('buffer ' .. original_buffer)
|
||||
eq(original_buffer, curbufmeths.get_number())
|
||||
-- Original buffer won't have any mappings
|
||||
eq({}, meths.get_keymap('n'))
|
||||
eq({}, meths.nvim_get_keymap('n'))
|
||||
eq({}, curbufmeths.get_keymap('n'))
|
||||
eq({ buffer_table }, meths.buf_get_keymap(final_buffer, 'n'))
|
||||
eq({ buffer_table }, meths.nvim_buf_get_keymap(final_buffer, 'n'))
|
||||
end)
|
||||
|
||||
-- Test toggle switches for basic options
|
||||
@@ -191,7 +191,7 @@ describe('nvim_get_keymap', function()
|
||||
function()
|
||||
make_new_windows(new_windows)
|
||||
command(map .. ' ' .. option_token .. ' foo bar')
|
||||
local result = meths.get_keymap(mode)[1][option]
|
||||
local result = meths.nvim_get_keymap(mode)[1][option]
|
||||
eq(global_on_result, result)
|
||||
end
|
||||
)
|
||||
@@ -228,7 +228,7 @@ describe('nvim_get_keymap', function()
|
||||
function()
|
||||
make_new_windows(new_windows)
|
||||
command(map .. ' baz bat')
|
||||
local result = meths.get_keymap(mode)[1][option]
|
||||
local result = meths.nvim_get_keymap(mode)[1][option]
|
||||
eq(global_off_result, result)
|
||||
end
|
||||
)
|
||||
@@ -277,9 +277,9 @@ describe('nvim_get_keymap', function()
|
||||
|
||||
nnoremap fizz :call <SID>maparg_test_function()<CR>
|
||||
]])
|
||||
local sid_result = meths.get_keymap('n')[1]['sid']
|
||||
local sid_result = meths.nvim_get_keymap('n')[1]['sid']
|
||||
eq(1, sid_result)
|
||||
eq('testing', meths.call_function('<SNR>' .. sid_result .. '_maparg_test_function', {}))
|
||||
eq('testing', meths.nvim_call_function('<SNR>' .. sid_result .. '_maparg_test_function', {}))
|
||||
end)
|
||||
|
||||
it('returns script numbers for buffer maps', function()
|
||||
@@ -292,13 +292,13 @@ describe('nvim_get_keymap', function()
|
||||
]])
|
||||
local sid_result = curbufmeths.get_keymap('n')[1]['sid']
|
||||
eq(1, sid_result)
|
||||
eq('testing', meths.call_function('<SNR>' .. sid_result .. '_maparg_test_function', {}))
|
||||
eq('testing', meths.nvim_call_function('<SNR>' .. sid_result .. '_maparg_test_function', {}))
|
||||
end)
|
||||
|
||||
it('works with <F12> and others', function()
|
||||
command('nnoremap <F12> :let g:maparg_test_var = 1<CR>')
|
||||
eq('<F12>', meths.get_keymap('n')[1]['lhs'])
|
||||
eq(':let g:maparg_test_var = 1<CR>', meths.get_keymap('n')[1]['rhs'])
|
||||
eq('<F12>', meths.nvim_get_keymap('n')[1]['lhs'])
|
||||
eq(':let g:maparg_test_var = 1<CR>', meths.nvim_get_keymap('n')[1]['rhs'])
|
||||
end)
|
||||
|
||||
it('works correctly despite various &cpo settings', function()
|
||||
@@ -341,7 +341,7 @@ describe('nvim_get_keymap', function()
|
||||
|
||||
-- wrapper around get_keymap() that drops "lhsraw" and "lhsrawalt" which are hard to check
|
||||
local function get_keymap_noraw(...)
|
||||
local ret = meths.get_keymap(...)
|
||||
local ret = meths.nvim_get_keymap(...)
|
||||
for _, item in ipairs(ret) do
|
||||
item.lhsraw = nil
|
||||
item.lhsrawalt = nil
|
||||
@@ -392,7 +392,7 @@ describe('nvim_get_keymap', function()
|
||||
lnum = 0,
|
||||
}
|
||||
command('nnoremap \\|<Char-0x20><Char-32><Space><Bar> \\|<Char-0x20><Char-32><Space> <Bar>')
|
||||
eq({ space_table }, meths.get_keymap('n'))
|
||||
eq({ space_table }, meths.nvim_get_keymap('n'))
|
||||
end)
|
||||
|
||||
it('can handle lua mappings', function()
|
||||
@@ -421,7 +421,7 @@ describe('nvim_get_keymap', function()
|
||||
]])
|
||||
eq(3, exec_lua([[return GlobalCount]]))
|
||||
|
||||
local mapargs = meths.get_keymap('n')
|
||||
local mapargs = meths.nvim_get_keymap('n')
|
||||
mapargs[1].callback = nil
|
||||
eq({
|
||||
lhs = 'asdf',
|
||||
@@ -442,7 +442,7 @@ describe('nvim_get_keymap', function()
|
||||
end)
|
||||
|
||||
it('can handle map descriptions', function()
|
||||
meths.set_keymap('n', 'lhs', 'rhs', { desc = 'map description' })
|
||||
meths.nvim_set_keymap('n', 'lhs', 'rhs', { desc = 'map description' })
|
||||
eq({
|
||||
lhs = 'lhs',
|
||||
lhsraw = 'lhs',
|
||||
@@ -460,7 +460,7 @@ describe('nvim_get_keymap', function()
|
||||
noremap = 0,
|
||||
lnum = 0,
|
||||
desc = 'map description',
|
||||
}, meths.get_keymap('n')[1])
|
||||
}, meths.nvim_get_keymap('n')[1])
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -522,9 +522,9 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
|
||||
it('error on empty LHS', function()
|
||||
-- escape parentheses in lua string, else comparison fails erroneously
|
||||
eq('Invalid (empty) LHS', pcall_err(meths.set_keymap, '', '', 'rhs', {}))
|
||||
eq('Invalid (empty) LHS', pcall_err(meths.set_keymap, '', '', '', {}))
|
||||
eq('Invalid (empty) LHS', pcall_err(meths.del_keymap, '', ''))
|
||||
eq('Invalid (empty) LHS', pcall_err(meths.nvim_set_keymap, '', '', 'rhs', {}))
|
||||
eq('Invalid (empty) LHS', pcall_err(meths.nvim_set_keymap, '', '', '', {}))
|
||||
eq('Invalid (empty) LHS', pcall_err(meths.nvim_del_keymap, '', ''))
|
||||
end)
|
||||
|
||||
it('error if LHS longer than MAXMAPLEN', function()
|
||||
@@ -536,16 +536,19 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
end
|
||||
|
||||
-- exactly 50 chars should be fine
|
||||
meths.set_keymap('', lhs, 'rhs', {})
|
||||
meths.nvim_set_keymap('', lhs, 'rhs', {})
|
||||
|
||||
-- del_keymap should unmap successfully
|
||||
meths.del_keymap('', lhs)
|
||||
meths.nvim_del_keymap('', lhs)
|
||||
eq({}, get_mapargs('', lhs))
|
||||
|
||||
-- 51 chars should produce an error
|
||||
lhs = lhs .. '1'
|
||||
eq('LHS exceeds maximum map length: ' .. lhs, pcall_err(meths.set_keymap, '', lhs, 'rhs', {}))
|
||||
eq('LHS exceeds maximum map length: ' .. lhs, pcall_err(meths.del_keymap, '', lhs))
|
||||
eq(
|
||||
'LHS exceeds maximum map length: ' .. lhs,
|
||||
pcall_err(meths.nvim_set_keymap, '', lhs, 'rhs', {})
|
||||
)
|
||||
eq('LHS exceeds maximum map length: ' .. lhs, pcall_err(meths.nvim_del_keymap, '', lhs))
|
||||
end)
|
||||
|
||||
it('does not throw errors when rhs is longer than MAXMAPLEN', function()
|
||||
@@ -555,56 +558,65 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
rhs = rhs .. (i % 10)
|
||||
end
|
||||
rhs = rhs .. '1'
|
||||
meths.set_keymap('', 'lhs', rhs, {})
|
||||
meths.nvim_set_keymap('', 'lhs', rhs, {})
|
||||
eq(generate_mapargs('', 'lhs', rhs), get_mapargs('', 'lhs'))
|
||||
end)
|
||||
|
||||
it('error on invalid mode shortname', function()
|
||||
eq('Invalid mode shortname: " "', pcall_err(meths.set_keymap, ' ', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "m"', pcall_err(meths.set_keymap, 'm', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "?"', pcall_err(meths.set_keymap, '?', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "y"', pcall_err(meths.set_keymap, 'y', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "p"', pcall_err(meths.set_keymap, 'p', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "a"', pcall_err(meths.set_keymap, 'a', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "oa"', pcall_err(meths.set_keymap, 'oa', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "!o"', pcall_err(meths.set_keymap, '!o', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "!i"', pcall_err(meths.set_keymap, '!i', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "!!"', pcall_err(meths.set_keymap, '!!', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "map"', pcall_err(meths.set_keymap, 'map', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "vmap"', pcall_err(meths.set_keymap, 'vmap', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: " "', pcall_err(meths.nvim_set_keymap, ' ', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "m"', pcall_err(meths.nvim_set_keymap, 'm', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "?"', pcall_err(meths.nvim_set_keymap, '?', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "y"', pcall_err(meths.nvim_set_keymap, 'y', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "p"', pcall_err(meths.nvim_set_keymap, 'p', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "a"', pcall_err(meths.nvim_set_keymap, 'a', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "oa"', pcall_err(meths.nvim_set_keymap, 'oa', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "!o"', pcall_err(meths.nvim_set_keymap, '!o', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "!i"', pcall_err(meths.nvim_set_keymap, '!i', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "!!"', pcall_err(meths.nvim_set_keymap, '!!', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "map"', pcall_err(meths.nvim_set_keymap, 'map', 'lhs', 'rhs', {}))
|
||||
eq('Invalid mode shortname: "vmap"', pcall_err(meths.nvim_set_keymap, 'vmap', 'lhs', 'rhs', {}))
|
||||
eq(
|
||||
'Invalid mode shortname: "xnoremap"',
|
||||
pcall_err(meths.set_keymap, 'xnoremap', 'lhs', 'rhs', {})
|
||||
pcall_err(meths.nvim_set_keymap, 'xnoremap', 'lhs', 'rhs', {})
|
||||
)
|
||||
eq('Invalid mode shortname: " "', pcall_err(meths.del_keymap, ' ', 'lhs'))
|
||||
eq('Invalid mode shortname: "m"', pcall_err(meths.del_keymap, 'm', 'lhs'))
|
||||
eq('Invalid mode shortname: "?"', pcall_err(meths.del_keymap, '?', 'lhs'))
|
||||
eq('Invalid mode shortname: "y"', pcall_err(meths.del_keymap, 'y', 'lhs'))
|
||||
eq('Invalid mode shortname: "p"', pcall_err(meths.del_keymap, 'p', 'lhs'))
|
||||
eq('Invalid mode shortname: "a"', pcall_err(meths.del_keymap, 'a', 'lhs'))
|
||||
eq('Invalid mode shortname: "oa"', pcall_err(meths.del_keymap, 'oa', 'lhs'))
|
||||
eq('Invalid mode shortname: "!o"', pcall_err(meths.del_keymap, '!o', 'lhs'))
|
||||
eq('Invalid mode shortname: "!i"', pcall_err(meths.del_keymap, '!i', 'lhs'))
|
||||
eq('Invalid mode shortname: "!!"', pcall_err(meths.del_keymap, '!!', 'lhs'))
|
||||
eq('Invalid mode shortname: "map"', pcall_err(meths.del_keymap, 'map', 'lhs'))
|
||||
eq('Invalid mode shortname: "vmap"', pcall_err(meths.del_keymap, 'vmap', 'lhs'))
|
||||
eq('Invalid mode shortname: "xnoremap"', pcall_err(meths.del_keymap, 'xnoremap', 'lhs'))
|
||||
eq('Invalid mode shortname: " "', pcall_err(meths.nvim_del_keymap, ' ', 'lhs'))
|
||||
eq('Invalid mode shortname: "m"', pcall_err(meths.nvim_del_keymap, 'm', 'lhs'))
|
||||
eq('Invalid mode shortname: "?"', pcall_err(meths.nvim_del_keymap, '?', 'lhs'))
|
||||
eq('Invalid mode shortname: "y"', pcall_err(meths.nvim_del_keymap, 'y', 'lhs'))
|
||||
eq('Invalid mode shortname: "p"', pcall_err(meths.nvim_del_keymap, 'p', 'lhs'))
|
||||
eq('Invalid mode shortname: "a"', pcall_err(meths.nvim_del_keymap, 'a', 'lhs'))
|
||||
eq('Invalid mode shortname: "oa"', pcall_err(meths.nvim_del_keymap, 'oa', 'lhs'))
|
||||
eq('Invalid mode shortname: "!o"', pcall_err(meths.nvim_del_keymap, '!o', 'lhs'))
|
||||
eq('Invalid mode shortname: "!i"', pcall_err(meths.nvim_del_keymap, '!i', 'lhs'))
|
||||
eq('Invalid mode shortname: "!!"', pcall_err(meths.nvim_del_keymap, '!!', 'lhs'))
|
||||
eq('Invalid mode shortname: "map"', pcall_err(meths.nvim_del_keymap, 'map', 'lhs'))
|
||||
eq('Invalid mode shortname: "vmap"', pcall_err(meths.nvim_del_keymap, 'vmap', 'lhs'))
|
||||
eq('Invalid mode shortname: "xnoremap"', pcall_err(meths.nvim_del_keymap, 'xnoremap', 'lhs'))
|
||||
end)
|
||||
|
||||
it('error on invalid optnames', function()
|
||||
eq("Invalid key: 'silentt'", pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', { silentt = true }))
|
||||
eq("Invalid key: 'sidd'", pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', { sidd = false }))
|
||||
eq("Invalid key: 'nowaiT'", pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', { nowaiT = false }))
|
||||
eq(
|
||||
"Invalid key: 'silentt'",
|
||||
pcall_err(meths.nvim_set_keymap, 'n', 'lhs', 'rhs', { silentt = true })
|
||||
)
|
||||
eq("Invalid key: 'sidd'", pcall_err(meths.nvim_set_keymap, 'n', 'lhs', 'rhs', { sidd = false }))
|
||||
eq(
|
||||
"Invalid key: 'nowaiT'",
|
||||
pcall_err(meths.nvim_set_keymap, 'n', 'lhs', 'rhs', { nowaiT = false })
|
||||
)
|
||||
end)
|
||||
|
||||
it('error on <buffer> option key', function()
|
||||
eq("Invalid key: 'buffer'", pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', { buffer = true }))
|
||||
eq(
|
||||
"Invalid key: 'buffer'",
|
||||
pcall_err(meths.nvim_set_keymap, 'n', 'lhs', 'rhs', { buffer = true })
|
||||
)
|
||||
end)
|
||||
|
||||
it('error when "replace_keycodes" is used without "expr"', function()
|
||||
eq(
|
||||
'"replace_keycodes" requires "expr"',
|
||||
pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', { replace_keycodes = true })
|
||||
pcall_err(meths.nvim_set_keymap, 'n', 'lhs', 'rhs', { replace_keycodes = true })
|
||||
)
|
||||
end)
|
||||
|
||||
@@ -614,45 +626,45 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
it('throws an error when given non-boolean value for ' .. opt, function()
|
||||
local opts = {}
|
||||
opts[opt] = 'fooo'
|
||||
eq(opt .. ' is not a boolean', pcall_err(meths.set_keymap, 'n', 'lhs', 'rhs', opts))
|
||||
eq(opt .. ' is not a boolean', pcall_err(meths.nvim_set_keymap, 'n', 'lhs', 'rhs', opts))
|
||||
end)
|
||||
end
|
||||
|
||||
-- Perform tests of basic functionality
|
||||
it('sets ordinary mappings', function()
|
||||
meths.set_keymap('n', 'lhs', 'rhs', {})
|
||||
meths.nvim_set_keymap('n', 'lhs', 'rhs', {})
|
||||
eq(generate_mapargs('n', 'lhs', 'rhs'), get_mapargs('n', 'lhs'))
|
||||
|
||||
meths.set_keymap('v', 'lhs', 'rhs', {})
|
||||
meths.nvim_set_keymap('v', 'lhs', 'rhs', {})
|
||||
eq(generate_mapargs('v', 'lhs', 'rhs'), get_mapargs('v', 'lhs'))
|
||||
end)
|
||||
|
||||
it('does not throw when LHS or RHS have leading/trailing whitespace', function()
|
||||
meths.set_keymap('n', ' lhs', 'rhs', {})
|
||||
meths.nvim_set_keymap('n', ' lhs', 'rhs', {})
|
||||
eq(generate_mapargs('n', '<Space><Space><Space>lhs', 'rhs'), get_mapargs('n', ' lhs'))
|
||||
|
||||
meths.set_keymap('n', 'lhs ', 'rhs', {})
|
||||
meths.nvim_set_keymap('n', 'lhs ', 'rhs', {})
|
||||
eq(generate_mapargs('n', 'lhs<Space><Space><Space><Space>', 'rhs'), get_mapargs('n', 'lhs '))
|
||||
|
||||
meths.set_keymap('v', ' lhs ', '\trhs\t\f', {})
|
||||
meths.nvim_set_keymap('v', ' lhs ', '\trhs\t\f', {})
|
||||
eq(generate_mapargs('v', '<Space>lhs<Space><Space>', '\trhs\t\f'), get_mapargs('v', ' lhs '))
|
||||
end)
|
||||
|
||||
it('can set noremap mappings', function()
|
||||
meths.set_keymap('x', 'lhs', 'rhs', { noremap = true })
|
||||
meths.nvim_set_keymap('x', 'lhs', 'rhs', { noremap = true })
|
||||
eq(generate_mapargs('x', 'lhs', 'rhs', { noremap = true }), get_mapargs('x', 'lhs'))
|
||||
|
||||
meths.set_keymap('t', 'lhs', 'rhs', { noremap = true })
|
||||
meths.nvim_set_keymap('t', 'lhs', 'rhs', { noremap = true })
|
||||
eq(generate_mapargs('t', 'lhs', 'rhs', { noremap = true }), get_mapargs('t', 'lhs'))
|
||||
end)
|
||||
|
||||
it('can unmap mappings', function()
|
||||
meths.set_keymap('v', 'lhs', 'rhs', {})
|
||||
meths.del_keymap('v', 'lhs')
|
||||
meths.nvim_set_keymap('v', 'lhs', 'rhs', {})
|
||||
meths.nvim_del_keymap('v', 'lhs')
|
||||
eq({}, get_mapargs('v', 'lhs'))
|
||||
|
||||
meths.set_keymap('t', 'lhs', 'rhs', { noremap = true })
|
||||
meths.del_keymap('t', 'lhs')
|
||||
meths.nvim_set_keymap('t', 'lhs', 'rhs', { noremap = true })
|
||||
meths.nvim_del_keymap('t', 'lhs')
|
||||
eq({}, get_mapargs('t', 'lhs'))
|
||||
end)
|
||||
|
||||
@@ -660,8 +672,8 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
it('"!" and empty string are synonyms for mapmode-nvo', function()
|
||||
local nvo_shortnames = { '', '!' }
|
||||
for _, name in ipairs(nvo_shortnames) do
|
||||
meths.set_keymap(name, 'lhs', 'rhs', {})
|
||||
meths.del_keymap(name, 'lhs')
|
||||
meths.nvim_set_keymap(name, 'lhs', 'rhs', {})
|
||||
meths.nvim_del_keymap(name, 'lhs')
|
||||
eq({}, get_mapargs(name, 'lhs'))
|
||||
end
|
||||
end)
|
||||
@@ -671,46 +683,46 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
for _, rhs in ipairs(special_chars) do
|
||||
local mapmode = '!'
|
||||
it('can set mappings with special characters, lhs: ' .. lhs .. ', rhs: ' .. rhs, function()
|
||||
meths.set_keymap(mapmode, lhs, rhs, {})
|
||||
meths.nvim_set_keymap(mapmode, lhs, rhs, {})
|
||||
eq(generate_mapargs(mapmode, lhs, rhs), get_mapargs(mapmode, lhs))
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
it('can set mappings containing literal keycodes', function()
|
||||
meths.set_keymap('n', '\n\r\n', 'rhs', {})
|
||||
meths.nvim_set_keymap('n', '\n\r\n', 'rhs', {})
|
||||
local expected = generate_mapargs('n', '<NL><CR><NL>', 'rhs')
|
||||
eq(expected, get_mapargs('n', '<NL><CR><NL>'))
|
||||
end)
|
||||
|
||||
it('can set mappings whose RHS is a <Nop>', function()
|
||||
meths.set_keymap('i', 'lhs', '<Nop>', {})
|
||||
meths.nvim_set_keymap('i', 'lhs', '<Nop>', {})
|
||||
command('normal ilhs')
|
||||
eq({ '' }, curbufmeths.get_lines(0, -1, 0)) -- imap to <Nop> does nothing
|
||||
eq(generate_mapargs('i', 'lhs', '<Nop>', {}), get_mapargs('i', 'lhs'))
|
||||
|
||||
-- also test for case insensitivity
|
||||
meths.set_keymap('i', 'lhs', '<nOp>', {})
|
||||
meths.nvim_set_keymap('i', 'lhs', '<nOp>', {})
|
||||
command('normal ilhs')
|
||||
eq({ '' }, curbufmeths.get_lines(0, -1, 0))
|
||||
-- note: RHS in returned mapargs() dict reflects the original RHS
|
||||
-- provided by the user
|
||||
eq(generate_mapargs('i', 'lhs', '<nOp>', {}), get_mapargs('i', 'lhs'))
|
||||
|
||||
meths.set_keymap('i', 'lhs', '<NOP>', {})
|
||||
meths.nvim_set_keymap('i', 'lhs', '<NOP>', {})
|
||||
command('normal ilhs')
|
||||
eq({ '' }, curbufmeths.get_lines(0, -1, 0))
|
||||
eq(generate_mapargs('i', 'lhs', '<NOP>', {}), get_mapargs('i', 'lhs'))
|
||||
|
||||
-- a single ^V in RHS is also <Nop> (see :h map-empty-rhs)
|
||||
meths.set_keymap('i', 'lhs', '\022', {})
|
||||
meths.nvim_set_keymap('i', 'lhs', '\022', {})
|
||||
command('normal ilhs')
|
||||
eq({ '' }, curbufmeths.get_lines(0, -1, 0))
|
||||
eq(generate_mapargs('i', 'lhs', '\022', {}), get_mapargs('i', 'lhs'))
|
||||
end)
|
||||
|
||||
it('treats an empty RHS in a mapping like a <Nop>', function()
|
||||
meths.set_keymap('i', 'lhs', '', {})
|
||||
meths.nvim_set_keymap('i', 'lhs', '', {})
|
||||
command('normal ilhs')
|
||||
eq({ '' }, curbufmeths.get_lines(0, -1, 0))
|
||||
eq(generate_mapargs('i', 'lhs', '', {}), get_mapargs('i', 'lhs'))
|
||||
@@ -720,8 +732,8 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
-- Taken from the legacy test: test_mapping.vim. Exposes a bug in which
|
||||
-- replace_termcodes changes the length of the mapping's LHS, but
|
||||
-- do_map continues to use the *old* length of LHS.
|
||||
meths.set_keymap('i', '<M-">', 'foo', {})
|
||||
meths.del_keymap('i', '<M-">')
|
||||
meths.nvim_set_keymap('i', '<M-">', 'foo', {})
|
||||
meths.nvim_del_keymap('i', '<M-">')
|
||||
eq({}, get_mapargs('i', '<M-">'))
|
||||
end)
|
||||
|
||||
@@ -736,13 +748,13 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
)
|
||||
|
||||
it('throws appropriate error messages when setting <unique> maps', function()
|
||||
meths.set_keymap('l', 'lhs', 'rhs', {})
|
||||
meths.nvim_set_keymap('l', 'lhs', 'rhs', {})
|
||||
eq(
|
||||
'E227: mapping already exists for lhs',
|
||||
pcall_err(meths.set_keymap, 'l', 'lhs', 'rhs', { unique = true })
|
||||
pcall_err(meths.nvim_set_keymap, 'l', 'lhs', 'rhs', { unique = true })
|
||||
)
|
||||
-- different mapmode, no error should be thrown
|
||||
meths.set_keymap('t', 'lhs', 'rhs', { unique = true })
|
||||
meths.nvim_set_keymap('t', 'lhs', 'rhs', { unique = true })
|
||||
end)
|
||||
|
||||
it('can set <expr> mappings whose RHS change dynamically', function()
|
||||
@@ -753,12 +765,12 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
return g:flip
|
||||
endfunction
|
||||
]])
|
||||
eq(1, meths.call_function('FlipFlop', {}))
|
||||
eq(0, meths.call_function('FlipFlop', {}))
|
||||
eq(1, meths.call_function('FlipFlop', {}))
|
||||
eq(0, meths.call_function('FlipFlop', {}))
|
||||
eq(1, meths.nvim_call_function('FlipFlop', {}))
|
||||
eq(0, meths.nvim_call_function('FlipFlop', {}))
|
||||
eq(1, meths.nvim_call_function('FlipFlop', {}))
|
||||
eq(0, meths.nvim_call_function('FlipFlop', {}))
|
||||
|
||||
meths.set_keymap('i', 'lhs', 'FlipFlop()', { expr = true })
|
||||
meths.nvim_set_keymap('i', 'lhs', 'FlipFlop()', { expr = true })
|
||||
command('normal ilhs')
|
||||
eq({ '1' }, curbufmeths.get_lines(0, -1, 0))
|
||||
|
||||
@@ -769,8 +781,8 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
end)
|
||||
|
||||
it('can set mappings that do trigger other mappings', function()
|
||||
meths.set_keymap('i', 'mhs', 'rhs', {})
|
||||
meths.set_keymap('i', 'lhs', 'mhs', {})
|
||||
meths.nvim_set_keymap('i', 'mhs', 'rhs', {})
|
||||
meths.nvim_set_keymap('i', 'lhs', 'mhs', {})
|
||||
|
||||
command('normal imhs')
|
||||
eq({ 'rhs' }, curbufmeths.get_lines(0, -1, 0))
|
||||
@@ -782,8 +794,8 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
end)
|
||||
|
||||
it("can set noremap mappings that don't trigger other mappings", function()
|
||||
meths.set_keymap('i', 'mhs', 'rhs', {})
|
||||
meths.set_keymap('i', 'lhs', 'mhs', { noremap = true })
|
||||
meths.nvim_set_keymap('i', 'mhs', 'rhs', {})
|
||||
meths.nvim_set_keymap('i', 'lhs', 'mhs', { noremap = true })
|
||||
|
||||
command('normal imhs')
|
||||
eq({ 'rhs' }, curbufmeths.get_lines(0, -1, 0))
|
||||
@@ -795,8 +807,8 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
end)
|
||||
|
||||
it('can set nowait mappings that fire without waiting', function()
|
||||
meths.set_keymap('i', '123456', 'longer', {})
|
||||
meths.set_keymap('i', '123', 'shorter', { nowait = true })
|
||||
meths.nvim_set_keymap('i', '123456', 'longer', {})
|
||||
meths.nvim_set_keymap('i', '123', 'shorter', { nowait = true })
|
||||
|
||||
-- feed keys one at a time; if all keys arrive atomically, the longer
|
||||
-- mapping will trigger
|
||||
@@ -812,22 +824,22 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
local mapmodes = { 'n', 'v', 'x', 's', 'o', '!', 'i', 'l', 'c', 't', '', 'ia', 'ca', '!a' }
|
||||
for _, mapmode in ipairs(mapmodes) do
|
||||
it('can set/unset normal mappings in mapmode ' .. mapmode, function()
|
||||
meths.set_keymap(mapmode, 'lhs', 'rhs', {})
|
||||
meths.nvim_set_keymap(mapmode, 'lhs', 'rhs', {})
|
||||
eq(generate_mapargs(mapmode, 'lhs', 'rhs'), get_mapargs(mapmode, 'lhs'))
|
||||
|
||||
-- some mapmodes (like 'o') will prevent other mapmodes (like '!') from
|
||||
-- taking effect, so unmap after each mapping
|
||||
meths.del_keymap(mapmode, 'lhs')
|
||||
meths.nvim_del_keymap(mapmode, 'lhs')
|
||||
eq({}, get_mapargs(mapmode, 'lhs'))
|
||||
end)
|
||||
end
|
||||
|
||||
for _, mapmode in ipairs(mapmodes) do
|
||||
it('can set/unset noremap mappings using mapmode ' .. mapmode, function()
|
||||
meths.set_keymap(mapmode, 'lhs', 'rhs', { noremap = true })
|
||||
meths.nvim_set_keymap(mapmode, 'lhs', 'rhs', { noremap = true })
|
||||
eq(generate_mapargs(mapmode, 'lhs', 'rhs', { noremap = true }), get_mapargs(mapmode, 'lhs'))
|
||||
|
||||
meths.del_keymap(mapmode, 'lhs')
|
||||
meths.nvim_del_keymap(mapmode, 'lhs')
|
||||
eq({}, get_mapargs(mapmode, 'lhs'))
|
||||
end)
|
||||
end
|
||||
@@ -839,12 +851,12 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
-- Test with single mappings
|
||||
for _, maparg in ipairs(optnames) do
|
||||
it('can set/unset ' .. mapmode .. '-mappings with maparg: ' .. maparg, function()
|
||||
meths.set_keymap(mapmode, 'lhs', 'rhs', { [maparg] = true })
|
||||
meths.nvim_set_keymap(mapmode, 'lhs', 'rhs', { [maparg] = true })
|
||||
eq(
|
||||
generate_mapargs(mapmode, 'lhs', 'rhs', { [maparg] = true }),
|
||||
get_mapargs(mapmode, 'lhs')
|
||||
)
|
||||
meths.del_keymap(mapmode, 'lhs')
|
||||
meths.nvim_del_keymap(mapmode, 'lhs')
|
||||
eq({}, get_mapargs(mapmode, 'lhs'))
|
||||
end)
|
||||
it(
|
||||
@@ -854,9 +866,9 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
.. maparg
|
||||
.. ', whose value is false',
|
||||
function()
|
||||
meths.set_keymap(mapmode, 'lhs', 'rhs', { [maparg] = false })
|
||||
meths.nvim_set_keymap(mapmode, 'lhs', 'rhs', { [maparg] = false })
|
||||
eq(generate_mapargs(mapmode, 'lhs', 'rhs'), get_mapargs(mapmode, 'lhs'))
|
||||
meths.del_keymap(mapmode, 'lhs')
|
||||
meths.nvim_del_keymap(mapmode, 'lhs')
|
||||
eq({}, get_mapargs(mapmode, 'lhs'))
|
||||
end
|
||||
)
|
||||
@@ -876,9 +888,9 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
.. opt3,
|
||||
function()
|
||||
local opts = { [opt1] = true, [opt2] = false, [opt3] = true }
|
||||
meths.set_keymap(mapmode, 'lhs', 'rhs', opts)
|
||||
meths.nvim_set_keymap(mapmode, 'lhs', 'rhs', opts)
|
||||
eq(generate_mapargs(mapmode, 'lhs', 'rhs', opts), get_mapargs(mapmode, 'lhs'))
|
||||
meths.del_keymap(mapmode, 'lhs')
|
||||
meths.nvim_del_keymap(mapmode, 'lhs')
|
||||
eq({}, get_mapargs(mapmode, 'lhs'))
|
||||
end
|
||||
)
|
||||
@@ -958,7 +970,7 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
|
||||
feed('aa')
|
||||
|
||||
eq({ 'π<M-π>foo<' }, meths.buf_get_lines(0, 0, -1, false))
|
||||
eq({ 'π<M-π>foo<' }, meths.nvim_buf_get_lines(0, 0, -1, false))
|
||||
end)
|
||||
|
||||
it('can make lua expr mappings without replacing keycodes', function()
|
||||
@@ -968,7 +980,7 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
|
||||
feed('iaa<esc>')
|
||||
|
||||
eq({ '<space>' }, meths.buf_get_lines(0, 0, -1, false))
|
||||
eq({ '<space>' }, meths.nvim_buf_get_lines(0, 0, -1, false))
|
||||
end)
|
||||
|
||||
it('lua expr mapping returning nil is equivalent to returning an empty string', function()
|
||||
@@ -978,7 +990,7 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
|
||||
feed('iaa<esc>')
|
||||
|
||||
eq({ '' }, meths.buf_get_lines(0, 0, -1, false))
|
||||
eq({ '' }, meths.nvim_buf_get_lines(0, 0, -1, false))
|
||||
end)
|
||||
|
||||
it('does not reset pum in lua mapping', function()
|
||||
@@ -1081,7 +1093,7 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
end)
|
||||
|
||||
it('can set descriptions on mappings', function()
|
||||
meths.set_keymap('n', 'lhs', 'rhs', { desc = 'map description' })
|
||||
meths.nvim_set_keymap('n', 'lhs', 'rhs', { desc = 'map description' })
|
||||
eq(generate_mapargs('n', 'lhs', 'rhs', { desc = 'map description' }), get_mapargs('n', 'lhs'))
|
||||
eq('\nn lhs rhs\n map description', helpers.exec_capture('nmap lhs'))
|
||||
end)
|
||||
@@ -1096,10 +1108,10 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
]]
|
||||
|
||||
feed 'iThe foo and the bar and the foo again<esc>'
|
||||
eq('The 1 and the bar and the 2 again', meths.get_current_line())
|
||||
eq('The 1 and the bar and the 2 again', meths.nvim_get_current_line())
|
||||
|
||||
feed ':let x = "The foo is the one"<cr>'
|
||||
eq('The 3 is the one', meths.eval 'x')
|
||||
eq('The 3 is the one', meths.nvim_eval 'x')
|
||||
end)
|
||||
|
||||
it('can define insert mode abbreviations with lua callbacks', function()
|
||||
@@ -1112,10 +1124,10 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
]]
|
||||
|
||||
feed 'iThe foo and the bar and the foo again<esc>'
|
||||
eq('The 1 and the bar and the 2 again', meths.get_current_line())
|
||||
eq('The 1 and the bar and the 2 again', meths.nvim_get_current_line())
|
||||
|
||||
feed ':let x = "The foo is the one"<cr>'
|
||||
eq('The foo is the one', meths.eval 'x')
|
||||
eq('The foo is the one', meths.nvim_eval 'x')
|
||||
end)
|
||||
|
||||
it('can define cmdline mode abbreviations with lua callbacks', function()
|
||||
@@ -1128,10 +1140,10 @@ describe('nvim_set_keymap, nvim_del_keymap', function()
|
||||
]]
|
||||
|
||||
feed 'iThe foo and the bar and the foo again<esc>'
|
||||
eq('The foo and the bar and the foo again', meths.get_current_line())
|
||||
eq('The foo and the bar and the foo again', meths.nvim_get_current_line())
|
||||
|
||||
feed ':let x = "The foo is the one"<cr>'
|
||||
eq('The 1 is the one', meths.eval 'x')
|
||||
eq('The 1 is the one', meths.nvim_eval 'x')
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -1154,9 +1166,9 @@ describe('nvim_buf_set_keymap, nvim_buf_del_keymap', function()
|
||||
local function make_two_buffers(start_from_first)
|
||||
command('set hidden')
|
||||
|
||||
local first_buf = meths.call_function('bufnr', { '%' })
|
||||
local first_buf = meths.nvim_call_function('bufnr', { '%' })
|
||||
command('new')
|
||||
local second_buf = meths.call_function('bufnr', { '%' })
|
||||
local second_buf = meths.nvim_call_function('bufnr', { '%' })
|
||||
neq(second_buf, first_buf) -- sanity check
|
||||
|
||||
if start_from_first then
|
||||
@@ -1254,7 +1266,7 @@ describe('nvim_buf_set_keymap, nvim_buf_del_keymap', function()
|
||||
|
||||
feed('aa')
|
||||
|
||||
eq({ 'π<M-π>foo<' }, meths.buf_get_lines(0, 0, -1, false))
|
||||
eq({ 'π<M-π>foo<' }, meths.nvim_buf_get_lines(0, 0, -1, false))
|
||||
end)
|
||||
|
||||
it('can make lua expr mappings without replacing keycodes', function()
|
||||
@@ -1264,7 +1276,7 @@ describe('nvim_buf_set_keymap, nvim_buf_del_keymap', function()
|
||||
|
||||
feed('iaa<esc>')
|
||||
|
||||
eq({ '<space>' }, meths.buf_get_lines(0, 0, -1, false))
|
||||
eq({ '<space>' }, meths.nvim_buf_get_lines(0, 0, -1, false))
|
||||
end)
|
||||
|
||||
it('can overwrite lua mappings', function()
|
||||
|
@@ -47,9 +47,11 @@ describe('notify', function()
|
||||
end)
|
||||
|
||||
it('does not crash for deeply nested variable', function()
|
||||
meths.set_var('l', {})
|
||||
meths.nvim_set_var('l', {})
|
||||
local nest_level = 1000
|
||||
meths.command(('call map(range(%u), "extend(g:, {\'l\': [g:l]})")'):format(nest_level - 1))
|
||||
meths.nvim_command(
|
||||
('call map(range(%u), "extend(g:, {\'l\': [g:l]})")'):format(nest_level - 1)
|
||||
)
|
||||
eval('rpcnotify(' .. channel .. ', "event", g:l)')
|
||||
local msg = next_msg()
|
||||
eq('notification', msg[1])
|
||||
@@ -106,7 +108,7 @@ describe('notify', function()
|
||||
exec_lua([[ return {pcall(vim.rpcrequest, ..., 'nvim_eval', '1+1')}]], catchan)
|
||||
)
|
||||
retry(nil, 3000, function()
|
||||
eq({}, meths.get_chan_info(catchan))
|
||||
eq({}, meths.nvim_get_chan_info(catchan))
|
||||
end) -- cat be dead :(
|
||||
end)
|
||||
end)
|
||||
|
@@ -244,7 +244,7 @@ describe('server -> client', function()
|
||||
\ 'rpc': v:true
|
||||
\ }
|
||||
]])
|
||||
meths.set_var('args', {
|
||||
meths.nvim_set_var('args', {
|
||||
nvim_prog,
|
||||
'-ll',
|
||||
'test/functional/api/rpc_fixture.lua',
|
||||
@@ -296,7 +296,7 @@ describe('server -> client', function()
|
||||
|
||||
set_session(server)
|
||||
eq(serverpid, funcs.getpid())
|
||||
eq('hello', meths.get_current_line())
|
||||
eq('hello', meths.nvim_get_current_line())
|
||||
|
||||
-- method calls work both ways
|
||||
funcs.rpcrequest(client_id, 'nvim_set_current_line', 'howdy!')
|
||||
@@ -304,7 +304,7 @@ describe('server -> client', function()
|
||||
|
||||
set_session(client)
|
||||
eq(clientpid, funcs.getpid())
|
||||
eq('howdy!', meths.get_current_line())
|
||||
eq('howdy!', meths.nvim_get_current_line())
|
||||
|
||||
server:close()
|
||||
client:close()
|
||||
@@ -375,7 +375,7 @@ describe('server -> client', function()
|
||||
local id = funcs.sockconnect('pipe', address, { rpc = true })
|
||||
|
||||
funcs.rpcrequest(id, 'nvim_set_current_line', 'hello')
|
||||
eq('hello', meths.get_current_line())
|
||||
eq('hello', meths.nvim_get_current_line())
|
||||
eq(serverpid, funcs.rpcrequest(id, 'nvim_eval', 'getpid()'))
|
||||
|
||||
eq(id, funcs.rpcrequest(id, 'nvim_get_api_info')[1])
|
||||
|
@@ -23,39 +23,39 @@ describe('nvim_ui_attach()', function()
|
||||
end)
|
||||
|
||||
it('validation', function()
|
||||
eq('No such UI option: foo', pcall_err(meths.ui_attach, 80, 24, { foo = { 'foo' } }))
|
||||
eq('No such UI option: foo', pcall_err(meths.nvim_ui_attach, 80, 24, { foo = { 'foo' } }))
|
||||
|
||||
eq(
|
||||
"Invalid 'ext_linegrid': expected Boolean, got Array",
|
||||
pcall_err(meths.ui_attach, 80, 24, { ext_linegrid = {} })
|
||||
pcall_err(meths.nvim_ui_attach, 80, 24, { ext_linegrid = {} })
|
||||
)
|
||||
eq(
|
||||
"Invalid 'override': expected Boolean, got Array",
|
||||
pcall_err(meths.ui_attach, 80, 24, { override = {} })
|
||||
pcall_err(meths.nvim_ui_attach, 80, 24, { override = {} })
|
||||
)
|
||||
eq(
|
||||
"Invalid 'rgb': expected Boolean, got Array",
|
||||
pcall_err(meths.ui_attach, 80, 24, { rgb = {} })
|
||||
pcall_err(meths.nvim_ui_attach, 80, 24, { rgb = {} })
|
||||
)
|
||||
eq(
|
||||
"Invalid 'term_name': expected String, got Boolean",
|
||||
pcall_err(meths.ui_attach, 80, 24, { term_name = true })
|
||||
pcall_err(meths.nvim_ui_attach, 80, 24, { term_name = true })
|
||||
)
|
||||
eq(
|
||||
"Invalid 'term_colors': expected Integer, got Boolean",
|
||||
pcall_err(meths.ui_attach, 80, 24, { term_colors = true })
|
||||
pcall_err(meths.nvim_ui_attach, 80, 24, { term_colors = true })
|
||||
)
|
||||
eq(
|
||||
"Invalid 'stdin_fd': expected Integer, got String",
|
||||
pcall_err(meths.ui_attach, 80, 24, { stdin_fd = 'foo' })
|
||||
pcall_err(meths.nvim_ui_attach, 80, 24, { stdin_fd = 'foo' })
|
||||
)
|
||||
eq(
|
||||
"Invalid 'stdin_tty': expected Boolean, got String",
|
||||
pcall_err(meths.ui_attach, 80, 24, { stdin_tty = 'foo' })
|
||||
pcall_err(meths.nvim_ui_attach, 80, 24, { stdin_tty = 'foo' })
|
||||
)
|
||||
eq(
|
||||
"Invalid 'stdout_tty': expected Boolean, got String",
|
||||
pcall_err(meths.ui_attach, 80, 24, { stdout_tty = 'foo' })
|
||||
pcall_err(meths.nvim_ui_attach, 80, 24, { stdout_tty = 'foo' })
|
||||
)
|
||||
|
||||
eq('UI not attached to channel: 1', pcall_err(request, 'nvim_ui_try_resize', 40, 10))
|
||||
@@ -117,17 +117,17 @@ it('autocmds VimSuspend/VimResume #22041', function()
|
||||
end)
|
||||
eq({ 's', 'r', 's' }, eval('g:ev'))
|
||||
screen.suspended = false
|
||||
meths.input_mouse('move', '', '', 0, 0, 0)
|
||||
meths.nvim_input_mouse('move', '', '', 0, 0, 0)
|
||||
eq({ 's', 'r', 's', 'r' }, eval('g:ev'))
|
||||
|
||||
feed('<C-Z><C-Z><C-Z>')
|
||||
screen:expect(function()
|
||||
eq(true, screen.suspended)
|
||||
end)
|
||||
meths.ui_set_focus(false)
|
||||
meths.nvim_ui_set_focus(false)
|
||||
eq({ 's', 'r', 's', 'r', 's' }, eval('g:ev'))
|
||||
screen.suspended = false
|
||||
meths.ui_set_focus(true)
|
||||
meths.nvim_ui_set_focus(true)
|
||||
eq({ 's', 'r', 's', 'r', 's', 'r' }, eval('g:ev'))
|
||||
|
||||
command('suspend | suspend | suspend')
|
||||
|
@@ -94,7 +94,7 @@ describe('api metadata', function()
|
||||
local old_api = {}
|
||||
setup(function()
|
||||
clear() -- Ensure a session before requesting api_info.
|
||||
api = meths.get_api_info()[2]
|
||||
api = meths.nvim_get_api_info()[2]
|
||||
compat = api.version.api_compatible
|
||||
api_level = api.version.api_level
|
||||
if api.version.api_prerelease then
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -53,9 +53,9 @@ describe('API/win', function()
|
||||
end)
|
||||
|
||||
it('disallowed in cmdwin if win={old_}curwin or buf=curbuf', function()
|
||||
local new_buf = meths.create_buf(true, true)
|
||||
local old_win = meths.get_current_win()
|
||||
local new_win = meths.open_win(new_buf, false, {
|
||||
local new_buf = meths.nvim_create_buf(true, true)
|
||||
local old_win = meths.nvim_get_current_win()
|
||||
local new_win = meths.nvim_open_win(new_buf, false, {
|
||||
relative = 'editor',
|
||||
row = 10,
|
||||
col = 10,
|
||||
@@ -65,20 +65,20 @@ describe('API/win', function()
|
||||
feed('q:')
|
||||
eq(
|
||||
'E11: Invalid in command-line window; <CR> executes, CTRL-C quits',
|
||||
pcall_err(meths.win_set_buf, 0, new_buf)
|
||||
pcall_err(meths.nvim_win_set_buf, 0, new_buf)
|
||||
)
|
||||
eq(
|
||||
'E11: Invalid in command-line window; <CR> executes, CTRL-C quits',
|
||||
pcall_err(meths.win_set_buf, old_win, new_buf)
|
||||
pcall_err(meths.nvim_win_set_buf, old_win, new_buf)
|
||||
)
|
||||
eq(
|
||||
'E11: Invalid in command-line window; <CR> executes, CTRL-C quits',
|
||||
pcall_err(meths.win_set_buf, new_win, 0)
|
||||
pcall_err(meths.nvim_win_set_buf, new_win, 0)
|
||||
)
|
||||
|
||||
local next_buf = meths.create_buf(true, true)
|
||||
meths.win_set_buf(new_win, next_buf)
|
||||
eq(next_buf, meths.win_get_buf(new_win))
|
||||
local next_buf = meths.nvim_create_buf(true, true)
|
||||
meths.nvim_win_set_buf(new_win, next_buf)
|
||||
eq(next_buf, meths.nvim_win_get_buf(new_win))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -94,7 +94,7 @@ describe('API/win', function()
|
||||
end)
|
||||
|
||||
it('does not leak memory when using invalid window ID with invalid pos', function()
|
||||
eq('Invalid window id: 1', pcall_err(meths.win_set_cursor, 1, { 'b\na' }))
|
||||
eq('Invalid window id: 1', pcall_err(meths.nvim_win_set_cursor, 1, { 'b\na' }))
|
||||
end)
|
||||
|
||||
it('updates the screen, and also when the window is unfocused', function()
|
||||
@@ -334,7 +334,7 @@ describe('API/win', function()
|
||||
call nvim_win_set_height(w, 5)
|
||||
]])
|
||||
feed('l')
|
||||
eq('', meths.get_vvar('errmsg'))
|
||||
eq('', meths.nvim_get_vvar('errmsg'))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -365,7 +365,7 @@ describe('API/win', function()
|
||||
call nvim_win_set_width(w, 5)
|
||||
]])
|
||||
feed('l')
|
||||
eq('', meths.get_vvar('errmsg'))
|
||||
eq('', meths.nvim_get_vvar('errmsg'))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -501,48 +501,48 @@ describe('API/win', function()
|
||||
|
||||
describe('close', function()
|
||||
it('can close current window', function()
|
||||
local oldwin = meths.get_current_win()
|
||||
local oldwin = meths.nvim_get_current_win()
|
||||
command('split')
|
||||
local newwin = meths.get_current_win()
|
||||
meths.win_close(newwin, false)
|
||||
eq({ oldwin }, meths.list_wins())
|
||||
local newwin = meths.nvim_get_current_win()
|
||||
meths.nvim_win_close(newwin, false)
|
||||
eq({ oldwin }, meths.nvim_list_wins())
|
||||
end)
|
||||
|
||||
it('can close noncurrent window', function()
|
||||
local oldwin = meths.get_current_win()
|
||||
local oldwin = meths.nvim_get_current_win()
|
||||
command('split')
|
||||
local newwin = meths.get_current_win()
|
||||
meths.win_close(oldwin, false)
|
||||
eq({ newwin }, meths.list_wins())
|
||||
local newwin = meths.nvim_get_current_win()
|
||||
meths.nvim_win_close(oldwin, false)
|
||||
eq({ newwin }, meths.nvim_list_wins())
|
||||
end)
|
||||
|
||||
it("handles changed buffer when 'hidden' is unset", function()
|
||||
command('set nohidden')
|
||||
local oldwin = meths.get_current_win()
|
||||
local oldwin = meths.nvim_get_current_win()
|
||||
insert('text')
|
||||
command('new')
|
||||
local newwin = meths.get_current_win()
|
||||
local newwin = meths.nvim_get_current_win()
|
||||
eq(
|
||||
'Vim:E37: No write since last change (add ! to override)',
|
||||
pcall_err(meths.win_close, oldwin, false)
|
||||
pcall_err(meths.nvim_win_close, oldwin, false)
|
||||
)
|
||||
eq({ newwin, oldwin }, meths.list_wins())
|
||||
eq({ newwin, oldwin }, meths.nvim_list_wins())
|
||||
end)
|
||||
|
||||
it('handles changed buffer with force', function()
|
||||
local oldwin = meths.get_current_win()
|
||||
local oldwin = meths.nvim_get_current_win()
|
||||
insert('text')
|
||||
command('new')
|
||||
local newwin = meths.get_current_win()
|
||||
meths.win_close(oldwin, true)
|
||||
eq({ newwin }, meths.list_wins())
|
||||
local newwin = meths.nvim_get_current_win()
|
||||
meths.nvim_win_close(oldwin, true)
|
||||
eq({ newwin }, meths.nvim_list_wins())
|
||||
end)
|
||||
|
||||
it('in cmdline-window #9767', function()
|
||||
command('split')
|
||||
eq(2, #meths.list_wins())
|
||||
local oldwin = meths.get_current_win()
|
||||
local otherwin = meths.open_win(0, false, {
|
||||
eq(2, #meths.nvim_list_wins())
|
||||
local oldwin = meths.nvim_get_current_win()
|
||||
local otherwin = meths.nvim_open_win(0, false, {
|
||||
relative = 'editor',
|
||||
row = 10,
|
||||
col = 10,
|
||||
@@ -551,19 +551,19 @@ describe('API/win', function()
|
||||
})
|
||||
-- Open cmdline-window.
|
||||
feed('q:')
|
||||
eq(4, #meths.list_wins())
|
||||
eq(4, #meths.nvim_list_wins())
|
||||
eq(':', funcs.getcmdwintype())
|
||||
-- Not allowed to close previous window from cmdline-window.
|
||||
eq(
|
||||
'E11: Invalid in command-line window; <CR> executes, CTRL-C quits',
|
||||
pcall_err(meths.win_close, oldwin, true)
|
||||
pcall_err(meths.nvim_win_close, oldwin, true)
|
||||
)
|
||||
-- Closing other windows is fine.
|
||||
meths.win_close(otherwin, true)
|
||||
eq(false, meths.win_is_valid(otherwin))
|
||||
meths.nvim_win_close(otherwin, true)
|
||||
eq(false, meths.nvim_win_is_valid(otherwin))
|
||||
-- Close cmdline-window.
|
||||
meths.win_close(0, true)
|
||||
eq(2, #meths.list_wins())
|
||||
meths.nvim_win_close(0, true)
|
||||
eq(2, #meths.nvim_list_wins())
|
||||
eq('', funcs.getcmdwintype())
|
||||
end)
|
||||
|
||||
@@ -572,7 +572,7 @@ describe('API/win', function()
|
||||
command('botright split')
|
||||
local prevwin = curwin().id
|
||||
eq(2, eval('tabpagenr()'))
|
||||
local win = meths.open_win(0, true, {
|
||||
local win = meths.nvim_open_win(0, true, {
|
||||
relative = 'editor',
|
||||
row = 10,
|
||||
col = 10,
|
||||
@@ -582,67 +582,67 @@ describe('API/win', function()
|
||||
local tab = eval('tabpagenr()')
|
||||
command('tabprevious')
|
||||
eq(1, eval('tabpagenr()'))
|
||||
meths.win_close(win, false)
|
||||
meths.nvim_win_close(win, false)
|
||||
|
||||
eq(prevwin, meths.tabpage_get_win(tab).id)
|
||||
eq(prevwin, meths.nvim_tabpage_get_win(tab).id)
|
||||
assert_alive()
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('hide', function()
|
||||
it('can hide current window', function()
|
||||
local oldwin = meths.get_current_win()
|
||||
local oldwin = meths.nvim_get_current_win()
|
||||
command('split')
|
||||
local newwin = meths.get_current_win()
|
||||
meths.win_hide(newwin)
|
||||
eq({ oldwin }, meths.list_wins())
|
||||
local newwin = meths.nvim_get_current_win()
|
||||
meths.nvim_win_hide(newwin)
|
||||
eq({ oldwin }, meths.nvim_list_wins())
|
||||
end)
|
||||
it('can hide noncurrent window', function()
|
||||
local oldwin = meths.get_current_win()
|
||||
local oldwin = meths.nvim_get_current_win()
|
||||
command('split')
|
||||
local newwin = meths.get_current_win()
|
||||
meths.win_hide(oldwin)
|
||||
eq({ newwin }, meths.list_wins())
|
||||
local newwin = meths.nvim_get_current_win()
|
||||
meths.nvim_win_hide(oldwin)
|
||||
eq({ newwin }, meths.nvim_list_wins())
|
||||
end)
|
||||
it('does not close the buffer', function()
|
||||
local oldwin = meths.get_current_win()
|
||||
local oldbuf = meths.get_current_buf()
|
||||
local buf = meths.create_buf(true, false)
|
||||
local newwin = meths.open_win(buf, true, {
|
||||
local oldwin = meths.nvim_get_current_win()
|
||||
local oldbuf = meths.nvim_get_current_buf()
|
||||
local buf = meths.nvim_create_buf(true, false)
|
||||
local newwin = meths.nvim_open_win(buf, true, {
|
||||
relative = 'win',
|
||||
row = 3,
|
||||
col = 3,
|
||||
width = 12,
|
||||
height = 3,
|
||||
})
|
||||
meths.win_hide(newwin)
|
||||
eq({ oldwin }, meths.list_wins())
|
||||
eq({ oldbuf, buf }, meths.list_bufs())
|
||||
meths.nvim_win_hide(newwin)
|
||||
eq({ oldwin }, meths.nvim_list_wins())
|
||||
eq({ oldbuf, buf }, meths.nvim_list_bufs())
|
||||
end)
|
||||
it('deletes the buffer when bufhidden=wipe', function()
|
||||
local oldwin = meths.get_current_win()
|
||||
local oldbuf = meths.get_current_buf()
|
||||
local buf = meths.create_buf(true, false).id
|
||||
local newwin = meths.open_win(buf, true, {
|
||||
local oldwin = meths.nvim_get_current_win()
|
||||
local oldbuf = meths.nvim_get_current_buf()
|
||||
local buf = meths.nvim_create_buf(true, false).id
|
||||
local newwin = meths.nvim_open_win(buf, true, {
|
||||
relative = 'win',
|
||||
row = 3,
|
||||
col = 3,
|
||||
width = 12,
|
||||
height = 3,
|
||||
})
|
||||
meths.set_option_value('bufhidden', 'wipe', { buf = buf })
|
||||
meths.win_hide(newwin)
|
||||
eq({ oldwin }, meths.list_wins())
|
||||
eq({ oldbuf }, meths.list_bufs())
|
||||
meths.nvim_set_option_value('bufhidden', 'wipe', { buf = buf })
|
||||
meths.nvim_win_hide(newwin)
|
||||
eq({ oldwin }, meths.nvim_list_wins())
|
||||
eq({ oldbuf }, meths.nvim_list_bufs())
|
||||
end)
|
||||
it('in the cmdwin', function()
|
||||
feed('q:')
|
||||
-- Can close the cmdwin.
|
||||
meths.win_hide(0)
|
||||
meths.nvim_win_hide(0)
|
||||
eq('', funcs.getcmdwintype())
|
||||
|
||||
local old_win = meths.get_current_win()
|
||||
local other_win = meths.open_win(0, false, {
|
||||
local old_win = meths.nvim_get_current_win()
|
||||
local other_win = meths.nvim_open_win(0, false, {
|
||||
relative = 'win',
|
||||
row = 3,
|
||||
col = 3,
|
||||
@@ -653,24 +653,24 @@ describe('API/win', function()
|
||||
-- Cannot close the previous window.
|
||||
eq(
|
||||
'E11: Invalid in command-line window; <CR> executes, CTRL-C quits',
|
||||
pcall_err(meths.win_hide, old_win)
|
||||
pcall_err(meths.nvim_win_hide, old_win)
|
||||
)
|
||||
-- Can close other windows.
|
||||
meths.win_hide(other_win)
|
||||
eq(false, meths.win_is_valid(other_win))
|
||||
meths.nvim_win_hide(other_win)
|
||||
eq(false, meths.nvim_win_is_valid(other_win))
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('text_height', function()
|
||||
it('validation', function()
|
||||
local X = meths.get_vvar('maxcol')
|
||||
local X = meths.nvim_get_vvar('maxcol')
|
||||
insert([[
|
||||
aaa
|
||||
bbb
|
||||
ccc
|
||||
ddd
|
||||
eee]])
|
||||
eq('Invalid window id: 23', pcall_err(meths.win_text_height, 23, {}))
|
||||
eq('Invalid window id: 23', pcall_err(meths.nvim_win_text_height, 23, {}))
|
||||
eq('Line index out of bounds', pcall_err(curwinmeths.text_height, { start_row = 5 }))
|
||||
eq('Line index out of bounds', pcall_err(curwinmeths.text_height, { start_row = -6 }))
|
||||
eq('Line index out of bounds', pcall_err(curwinmeths.text_height, { end_row = 5 }))
|
||||
@@ -713,7 +713,7 @@ describe('API/win', function()
|
||||
end)
|
||||
|
||||
it('with two diff windows', function()
|
||||
local X = meths.get_vvar('maxcol')
|
||||
local X = meths.nvim_get_vvar('maxcol')
|
||||
local screen = Screen.new(45, 22)
|
||||
screen:set_default_attr_ids({
|
||||
[0] = { foreground = Screen.colors.Blue1, bold = true },
|
||||
@@ -775,70 +775,88 @@ describe('API/win', function()
|
||||
|
|
||||
]],
|
||||
}
|
||||
eq({ all = 20, fill = 5 }, meths.win_text_height(1000, {}))
|
||||
eq({ all = 20, fill = 5 }, meths.win_text_height(1001, {}))
|
||||
eq({ all = 20, fill = 5 }, meths.win_text_height(1000, { start_row = 0 }))
|
||||
eq({ all = 20, fill = 5 }, meths.win_text_height(1001, { start_row = 0 }))
|
||||
eq({ all = 15, fill = 0 }, meths.win_text_height(1000, { end_row = -1 }))
|
||||
eq({ all = 15, fill = 0 }, meths.win_text_height(1000, { end_row = 40 }))
|
||||
eq({ all = 20, fill = 5 }, meths.win_text_height(1001, { end_row = -1 }))
|
||||
eq({ all = 20, fill = 5 }, meths.win_text_height(1001, { end_row = 40 }))
|
||||
eq({ all = 10, fill = 5 }, meths.win_text_height(1000, { start_row = 23 }))
|
||||
eq({ all = 13, fill = 3 }, meths.win_text_height(1001, { start_row = 18 }))
|
||||
eq({ all = 11, fill = 0 }, meths.win_text_height(1000, { end_row = 23 }))
|
||||
eq({ all = 11, fill = 5 }, meths.win_text_height(1001, { end_row = 18 }))
|
||||
eq({ all = 11, fill = 0 }, meths.win_text_height(1000, { start_row = 3, end_row = 39 }))
|
||||
eq({ all = 11, fill = 3 }, meths.win_text_height(1001, { start_row = 1, end_row = 34 }))
|
||||
eq({ all = 9, fill = 0 }, meths.win_text_height(1000, { start_row = 4, end_row = 38 }))
|
||||
eq({ all = 9, fill = 3 }, meths.win_text_height(1001, { start_row = 2, end_row = 33 }))
|
||||
eq({ all = 9, fill = 0 }, meths.win_text_height(1000, { start_row = 5, end_row = 37 }))
|
||||
eq({ all = 9, fill = 3 }, meths.win_text_height(1001, { start_row = 3, end_row = 32 }))
|
||||
eq({ all = 9, fill = 0 }, meths.win_text_height(1000, { start_row = 17, end_row = 25 }))
|
||||
eq({ all = 9, fill = 3 }, meths.win_text_height(1001, { start_row = 15, end_row = 20 }))
|
||||
eq({ all = 7, fill = 0 }, meths.win_text_height(1000, { start_row = 18, end_row = 24 }))
|
||||
eq({ all = 7, fill = 3 }, meths.win_text_height(1001, { start_row = 16, end_row = 19 }))
|
||||
eq({ all = 6, fill = 5 }, meths.win_text_height(1000, { start_row = -1 }))
|
||||
eq({ all = 5, fill = 5 }, meths.win_text_height(1000, { start_row = -1, start_vcol = X }))
|
||||
eq({ all = 20, fill = 5 }, meths.nvim_win_text_height(1000, {}))
|
||||
eq({ all = 20, fill = 5 }, meths.nvim_win_text_height(1001, {}))
|
||||
eq({ all = 20, fill = 5 }, meths.nvim_win_text_height(1000, { start_row = 0 }))
|
||||
eq({ all = 20, fill = 5 }, meths.nvim_win_text_height(1001, { start_row = 0 }))
|
||||
eq({ all = 15, fill = 0 }, meths.nvim_win_text_height(1000, { end_row = -1 }))
|
||||
eq({ all = 15, fill = 0 }, meths.nvim_win_text_height(1000, { end_row = 40 }))
|
||||
eq({ all = 20, fill = 5 }, meths.nvim_win_text_height(1001, { end_row = -1 }))
|
||||
eq({ all = 20, fill = 5 }, meths.nvim_win_text_height(1001, { end_row = 40 }))
|
||||
eq({ all = 10, fill = 5 }, meths.nvim_win_text_height(1000, { start_row = 23 }))
|
||||
eq({ all = 13, fill = 3 }, meths.nvim_win_text_height(1001, { start_row = 18 }))
|
||||
eq({ all = 11, fill = 0 }, meths.nvim_win_text_height(1000, { end_row = 23 }))
|
||||
eq({ all = 11, fill = 5 }, meths.nvim_win_text_height(1001, { end_row = 18 }))
|
||||
eq({ all = 11, fill = 0 }, meths.nvim_win_text_height(1000, { start_row = 3, end_row = 39 }))
|
||||
eq({ all = 11, fill = 3 }, meths.nvim_win_text_height(1001, { start_row = 1, end_row = 34 }))
|
||||
eq({ all = 9, fill = 0 }, meths.nvim_win_text_height(1000, { start_row = 4, end_row = 38 }))
|
||||
eq({ all = 9, fill = 3 }, meths.nvim_win_text_height(1001, { start_row = 2, end_row = 33 }))
|
||||
eq({ all = 9, fill = 0 }, meths.nvim_win_text_height(1000, { start_row = 5, end_row = 37 }))
|
||||
eq({ all = 9, fill = 3 }, meths.nvim_win_text_height(1001, { start_row = 3, end_row = 32 }))
|
||||
eq({ all = 9, fill = 0 }, meths.nvim_win_text_height(1000, { start_row = 17, end_row = 25 }))
|
||||
eq({ all = 9, fill = 3 }, meths.nvim_win_text_height(1001, { start_row = 15, end_row = 20 }))
|
||||
eq({ all = 7, fill = 0 }, meths.nvim_win_text_height(1000, { start_row = 18, end_row = 24 }))
|
||||
eq({ all = 7, fill = 3 }, meths.nvim_win_text_height(1001, { start_row = 16, end_row = 19 }))
|
||||
eq({ all = 6, fill = 5 }, meths.nvim_win_text_height(1000, { start_row = -1 }))
|
||||
eq(
|
||||
{ all = 0, fill = 0 },
|
||||
meths.win_text_height(1000, { start_row = -1, start_vcol = X, end_row = -1 })
|
||||
{ all = 5, fill = 5 },
|
||||
meths.nvim_win_text_height(1000, { start_row = -1, start_vcol = X })
|
||||
)
|
||||
eq(
|
||||
{ all = 0, fill = 0 },
|
||||
meths.win_text_height(1000, { start_row = -1, start_vcol = X, end_row = -1, end_vcol = X })
|
||||
meths.nvim_win_text_height(1000, { start_row = -1, start_vcol = X, end_row = -1 })
|
||||
)
|
||||
eq(
|
||||
{ all = 0, fill = 0 },
|
||||
meths.nvim_win_text_height(
|
||||
1000,
|
||||
{ start_row = -1, start_vcol = X, end_row = -1, end_vcol = X }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 1, fill = 0 },
|
||||
meths.win_text_height(1000, { start_row = -1, start_vcol = 0, end_row = -1, end_vcol = X })
|
||||
meths.nvim_win_text_height(
|
||||
1000,
|
||||
{ start_row = -1, start_vcol = 0, end_row = -1, end_vcol = X }
|
||||
)
|
||||
eq({ all = 3, fill = 2 }, meths.win_text_height(1001, { end_row = 0 }))
|
||||
eq({ all = 2, fill = 2 }, meths.win_text_height(1001, { end_row = 0, end_vcol = 0 }))
|
||||
)
|
||||
eq({ all = 3, fill = 2 }, meths.nvim_win_text_height(1001, { end_row = 0 }))
|
||||
eq({ all = 2, fill = 2 }, meths.nvim_win_text_height(1001, { end_row = 0, end_vcol = 0 }))
|
||||
eq(
|
||||
{ all = 2, fill = 2 },
|
||||
meths.win_text_height(1001, { start_row = 0, end_row = 0, end_vcol = 0 })
|
||||
meths.nvim_win_text_height(1001, { start_row = 0, end_row = 0, end_vcol = 0 })
|
||||
)
|
||||
eq(
|
||||
{ all = 0, fill = 0 },
|
||||
meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 0, end_vcol = 0 })
|
||||
meths.nvim_win_text_height(
|
||||
1001,
|
||||
{ start_row = 0, start_vcol = 0, end_row = 0, end_vcol = 0 }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 1, fill = 0 },
|
||||
meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 0, end_vcol = X })
|
||||
meths.nvim_win_text_height(
|
||||
1001,
|
||||
{ start_row = 0, start_vcol = 0, end_row = 0, end_vcol = X }
|
||||
)
|
||||
eq({ all = 11, fill = 5 }, meths.win_text_height(1001, { end_row = 18 }))
|
||||
)
|
||||
eq({ all = 11, fill = 5 }, meths.nvim_win_text_height(1001, { end_row = 18 }))
|
||||
eq(
|
||||
{ all = 9, fill = 3 },
|
||||
meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 18 })
|
||||
meths.nvim_win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 18 })
|
||||
)
|
||||
eq({ all = 10, fill = 5 }, meths.win_text_height(1001, { end_row = 18, end_vcol = 0 }))
|
||||
eq({ all = 10, fill = 5 }, meths.nvim_win_text_height(1001, { end_row = 18, end_vcol = 0 }))
|
||||
eq(
|
||||
{ all = 8, fill = 3 },
|
||||
meths.win_text_height(1001, { start_row = 0, start_vcol = 0, end_row = 18, end_vcol = 0 })
|
||||
meths.nvim_win_text_height(
|
||||
1001,
|
||||
{ start_row = 0, start_vcol = 0, end_row = 18, end_vcol = 0 }
|
||||
)
|
||||
)
|
||||
end)
|
||||
|
||||
it('with wrapped lines', function()
|
||||
local X = meths.get_vvar('maxcol')
|
||||
local X = meths.nvim_get_vvar('maxcol')
|
||||
local screen = Screen.new(45, 22)
|
||||
screen:set_default_attr_ids({
|
||||
[0] = { foreground = Screen.colors.Blue1, bold = true },
|
||||
@@ -850,15 +868,15 @@ describe('API/win', function()
|
||||
set number cpoptions+=n
|
||||
call setline(1, repeat([repeat('foobar-', 36)], 3))
|
||||
]])
|
||||
local ns = meths.create_namespace('')
|
||||
meths.buf_set_extmark(
|
||||
local ns = meths.nvim_create_namespace('')
|
||||
meths.nvim_buf_set_extmark(
|
||||
0,
|
||||
ns,
|
||||
1,
|
||||
100,
|
||||
{ virt_text = { { ('?'):rep(15), 'Search' } }, virt_text_pos = 'inline' }
|
||||
)
|
||||
meths.buf_set_extmark(
|
||||
meths.nvim_buf_set_extmark(
|
||||
0,
|
||||
ns,
|
||||
2,
|
||||
@@ -898,113 +916,155 @@ describe('API/win', function()
|
||||
|
|
||||
]],
|
||||
}
|
||||
eq({ all = 21, fill = 0 }, meths.win_text_height(0, {}))
|
||||
eq({ all = 6, fill = 0 }, meths.win_text_height(0, { start_row = 0, end_row = 0 }))
|
||||
eq({ all = 7, fill = 0 }, meths.win_text_height(0, { start_row = 1, end_row = 1 }))
|
||||
eq({ all = 8, fill = 0 }, meths.win_text_height(0, { start_row = 2, end_row = 2 }))
|
||||
eq({ all = 21, fill = 0 }, meths.nvim_win_text_height(0, {}))
|
||||
eq({ all = 6, fill = 0 }, meths.nvim_win_text_height(0, { start_row = 0, end_row = 0 }))
|
||||
eq({ all = 7, fill = 0 }, meths.nvim_win_text_height(0, { start_row = 1, end_row = 1 }))
|
||||
eq({ all = 8, fill = 0 }, meths.nvim_win_text_height(0, { start_row = 2, end_row = 2 }))
|
||||
eq(
|
||||
{ all = 0, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 0 })
|
||||
meths.nvim_win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 0 })
|
||||
)
|
||||
eq(
|
||||
{ all = 1, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 41 })
|
||||
meths.nvim_win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 41 })
|
||||
)
|
||||
eq(
|
||||
{ all = 2, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 42 })
|
||||
meths.nvim_win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 42 })
|
||||
)
|
||||
eq(
|
||||
{ all = 2, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 86 })
|
||||
meths.nvim_win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 86 })
|
||||
)
|
||||
eq(
|
||||
{ all = 3, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 87 })
|
||||
meths.nvim_win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 87 })
|
||||
)
|
||||
eq(
|
||||
{ all = 6, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 266 })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 266 }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 7, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 267 })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 267 }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 7, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 311 })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 311 }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 7, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 312 })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 1, start_vcol = 0, end_row = 1, end_vcol = 312 }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 7, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = X })
|
||||
meths.nvim_win_text_height(0, { start_row = 1, start_vcol = 0, end_row = 1, end_vcol = X })
|
||||
)
|
||||
eq(
|
||||
{ all = 7, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 40, end_row = 1, end_vcol = X })
|
||||
meths.nvim_win_text_height(0, { start_row = 1, start_vcol = 40, end_row = 1, end_vcol = X })
|
||||
)
|
||||
eq(
|
||||
{ all = 6, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 41, end_row = 1, end_vcol = X })
|
||||
meths.nvim_win_text_height(0, { start_row = 1, start_vcol = 41, end_row = 1, end_vcol = X })
|
||||
)
|
||||
eq(
|
||||
{ all = 6, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 85, end_row = 1, end_vcol = X })
|
||||
meths.nvim_win_text_height(0, { start_row = 1, start_vcol = 85, end_row = 1, end_vcol = X })
|
||||
)
|
||||
eq(
|
||||
{ all = 5, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 86, end_row = 1, end_vcol = X })
|
||||
meths.nvim_win_text_height(0, { start_row = 1, start_vcol = 86, end_row = 1, end_vcol = X })
|
||||
)
|
||||
eq(
|
||||
{ all = 2, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 265, end_row = 1, end_vcol = X })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 1, start_vcol = 265, end_row = 1, end_vcol = X }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 1, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 266, end_row = 1, end_vcol = X })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 1, start_vcol = 266, end_row = 1, end_vcol = X }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 1, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 310, end_row = 1, end_vcol = X })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 1, start_vcol = 310, end_row = 1, end_vcol = X }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 0, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 311, end_row = 1, end_vcol = X })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 1, start_vcol = 311, end_row = 1, end_vcol = X }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 1, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 86, end_row = 1, end_vcol = 131 })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 1, start_vcol = 86, end_row = 1, end_vcol = 131 }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 1, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 1, start_vcol = 221, end_row = 1, end_vcol = 266 })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 1, start_vcol = 221, end_row = 1, end_vcol = 266 }
|
||||
)
|
||||
eq({ all = 18, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 131 }))
|
||||
eq({ all = 19, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 130 }))
|
||||
eq({ all = 20, fill = 0 }, meths.win_text_height(0, { end_row = 2, end_vcol = 311 }))
|
||||
eq({ all = 21, fill = 0 }, meths.win_text_height(0, { end_row = 2, end_vcol = 312 }))
|
||||
)
|
||||
eq({ all = 18, fill = 0 }, meths.nvim_win_text_height(0, { start_row = 0, start_vcol = 131 }))
|
||||
eq({ all = 19, fill = 0 }, meths.nvim_win_text_height(0, { start_row = 0, start_vcol = 130 }))
|
||||
eq({ all = 20, fill = 0 }, meths.nvim_win_text_height(0, { end_row = 2, end_vcol = 311 }))
|
||||
eq({ all = 21, fill = 0 }, meths.nvim_win_text_height(0, { end_row = 2, end_vcol = 312 }))
|
||||
eq(
|
||||
{ all = 17, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 0, start_vcol = 131, end_row = 2, end_vcol = 311 })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 0, start_vcol = 131, end_row = 2, end_vcol = 311 }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 19, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 0, start_vcol = 130, end_row = 2, end_vcol = 312 })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 0, start_vcol = 130, end_row = 2, end_vcol = 312 }
|
||||
)
|
||||
eq({ all = 16, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 221 }))
|
||||
eq({ all = 17, fill = 0 }, meths.win_text_height(0, { start_row = 0, start_vcol = 220 }))
|
||||
eq({ all = 14, fill = 0 }, meths.win_text_height(0, { end_row = 2, end_vcol = 41 }))
|
||||
eq({ all = 15, fill = 0 }, meths.win_text_height(0, { end_row = 2, end_vcol = 42 }))
|
||||
)
|
||||
eq({ all = 16, fill = 0 }, meths.nvim_win_text_height(0, { start_row = 0, start_vcol = 221 }))
|
||||
eq({ all = 17, fill = 0 }, meths.nvim_win_text_height(0, { start_row = 0, start_vcol = 220 }))
|
||||
eq({ all = 14, fill = 0 }, meths.nvim_win_text_height(0, { end_row = 2, end_vcol = 41 }))
|
||||
eq({ all = 15, fill = 0 }, meths.nvim_win_text_height(0, { end_row = 2, end_vcol = 42 }))
|
||||
eq(
|
||||
{ all = 9, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 0, start_vcol = 221, end_row = 2, end_vcol = 41 })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 0, start_vcol = 221, end_row = 2, end_vcol = 41 }
|
||||
)
|
||||
)
|
||||
eq(
|
||||
{ all = 11, fill = 0 },
|
||||
meths.win_text_height(0, { start_row = 0, start_vcol = 220, end_row = 2, end_vcol = 42 })
|
||||
meths.nvim_win_text_height(
|
||||
0,
|
||||
{ start_row = 0, start_vcol = 220, end_row = 2, end_vcol = 42 }
|
||||
)
|
||||
)
|
||||
end)
|
||||
end)
|
||||
@@ -1012,7 +1072,7 @@ describe('API/win', function()
|
||||
describe('open_win', function()
|
||||
it('noautocmd option works', function()
|
||||
command('autocmd BufEnter,BufLeave,BufWinEnter * let g:fired = 1')
|
||||
meths.open_win(meths.create_buf(true, true), true, {
|
||||
meths.nvim_open_win(meths.nvim_create_buf(true, true), true, {
|
||||
relative = 'win',
|
||||
row = 3,
|
||||
col = 3,
|
||||
@@ -1021,7 +1081,7 @@ describe('API/win', function()
|
||||
noautocmd = true,
|
||||
})
|
||||
eq(0, funcs.exists('g:fired'))
|
||||
meths.open_win(meths.create_buf(true, true), true, {
|
||||
meths.nvim_open_win(meths.nvim_create_buf(true, true), true, {
|
||||
relative = 'win',
|
||||
row = 3,
|
||||
col = 3,
|
||||
@@ -1032,11 +1092,11 @@ describe('API/win', function()
|
||||
end)
|
||||
|
||||
it('disallowed in cmdwin if enter=true or buf=curbuf', function()
|
||||
local new_buf = meths.create_buf(true, true)
|
||||
local new_buf = meths.nvim_create_buf(true, true)
|
||||
feed('q:')
|
||||
eq(
|
||||
'E11: Invalid in command-line window; <CR> executes, CTRL-C quits',
|
||||
pcall_err(meths.open_win, new_buf, true, {
|
||||
pcall_err(meths.nvim_open_win, new_buf, true, {
|
||||
relative = 'editor',
|
||||
row = 5,
|
||||
col = 5,
|
||||
@@ -1046,7 +1106,7 @@ describe('API/win', function()
|
||||
)
|
||||
eq(
|
||||
'E11: Invalid in command-line window; <CR> executes, CTRL-C quits',
|
||||
pcall_err(meths.open_win, 0, false, {
|
||||
pcall_err(meths.nvim_open_win, 0, false, {
|
||||
relative = 'editor',
|
||||
row = 5,
|
||||
col = 5,
|
||||
@@ -1057,7 +1117,7 @@ describe('API/win', function()
|
||||
|
||||
eq(
|
||||
new_buf,
|
||||
meths.win_get_buf(meths.open_win(new_buf, false, {
|
||||
meths.nvim_win_get_buf(meths.nvim_open_win(new_buf, false, {
|
||||
relative = 'editor',
|
||||
row = 5,
|
||||
col = 5,
|
||||
@@ -1068,10 +1128,10 @@ describe('API/win', function()
|
||||
end)
|
||||
|
||||
it('aborts if buffer is invalid', function()
|
||||
local wins_before = meths.list_wins()
|
||||
local wins_before = meths.nvim_list_wins()
|
||||
eq(
|
||||
'Invalid buffer id: 1337',
|
||||
pcall_err(meths.open_win, 1337, false, {
|
||||
pcall_err(meths.nvim_open_win, 1337, false, {
|
||||
relative = 'editor',
|
||||
row = 5,
|
||||
col = 5,
|
||||
@@ -1079,14 +1139,14 @@ describe('API/win', function()
|
||||
height = 5,
|
||||
})
|
||||
)
|
||||
eq(wins_before, meths.list_wins())
|
||||
eq(wins_before, meths.nvim_list_wins())
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('get_config', function()
|
||||
it('includes border', function()
|
||||
local b = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' }
|
||||
local win = meths.open_win(0, true, {
|
||||
local win = meths.nvim_open_win(0, true, {
|
||||
relative = 'win',
|
||||
row = 3,
|
||||
col = 3,
|
||||
@@ -1095,7 +1155,7 @@ describe('API/win', function()
|
||||
border = b,
|
||||
})
|
||||
|
||||
local cfg = meths.win_get_config(win)
|
||||
local cfg = meths.nvim_win_get_config(win)
|
||||
eq(b, cfg.border)
|
||||
end)
|
||||
|
||||
@@ -1110,7 +1170,7 @@ describe('API/win', function()
|
||||
{ 'g', 'Constant' },
|
||||
{ 'h', 'PreProc' },
|
||||
}
|
||||
local win = meths.open_win(0, true, {
|
||||
local win = meths.nvim_open_win(0, true, {
|
||||
relative = 'win',
|
||||
row = 3,
|
||||
col = 3,
|
||||
@@ -1119,14 +1179,14 @@ describe('API/win', function()
|
||||
border = b,
|
||||
})
|
||||
|
||||
local cfg = meths.win_get_config(win)
|
||||
local cfg = meths.nvim_win_get_config(win)
|
||||
eq(b, cfg.border)
|
||||
end)
|
||||
|
||||
it('includes title and footer', function()
|
||||
local title = { { 'A', { 'StatusLine', 'TabLine' } }, { 'B' }, { 'C', 'WinBar' } }
|
||||
local footer = { { 'A', 'WinBar' }, { 'B' }, { 'C', { 'StatusLine', 'TabLine' } } }
|
||||
local win = meths.open_win(0, true, {
|
||||
local win = meths.nvim_open_win(0, true, {
|
||||
relative = 'win',
|
||||
row = 3,
|
||||
col = 3,
|
||||
@@ -1137,7 +1197,7 @@ describe('API/win', function()
|
||||
footer = footer,
|
||||
})
|
||||
|
||||
local cfg = meths.win_get_config(win)
|
||||
local cfg = meths.nvim_win_get_config(win)
|
||||
eq(title, cfg.title)
|
||||
eq(footer, cfg.footer)
|
||||
end)
|
||||
@@ -1145,7 +1205,7 @@ describe('API/win', function()
|
||||
|
||||
describe('set_config', function()
|
||||
it('no crash with invalid title', function()
|
||||
local win = meths.open_win(0, true, {
|
||||
local win = meths.nvim_open_win(0, true, {
|
||||
width = 10,
|
||||
height = 10,
|
||||
relative = 'editor',
|
||||
@@ -1156,14 +1216,14 @@ describe('API/win', function()
|
||||
})
|
||||
eq(
|
||||
'title/footer cannot be an empty array',
|
||||
pcall_err(meths.win_set_config, win, { title = {} })
|
||||
pcall_err(meths.nvim_win_set_config, win, { title = {} })
|
||||
)
|
||||
command('redraw!')
|
||||
assert_alive()
|
||||
end)
|
||||
|
||||
it('no crash with invalid footer', function()
|
||||
local win = meths.open_win(0, true, {
|
||||
local win = meths.nvim_open_win(0, true, {
|
||||
width = 10,
|
||||
height = 10,
|
||||
relative = 'editor',
|
||||
@@ -1174,7 +1234,7 @@ describe('API/win', function()
|
||||
})
|
||||
eq(
|
||||
'title/footer cannot be an empty array',
|
||||
pcall_err(meths.win_set_config, win, { footer = {} })
|
||||
pcall_err(meths.nvim_win_set_config, win, { footer = {} })
|
||||
)
|
||||
command('redraw!')
|
||||
assert_alive()
|
||||
|
@@ -23,7 +23,7 @@ describe('oldtests', function()
|
||||
]]
|
||||
|
||||
eq(3, #exec_lines('au vimBarTest'))
|
||||
eq(1, #meths.get_autocmds({ group = 'vimBarTest' }))
|
||||
eq(1, #meths.nvim_get_autocmds({ group = 'vimBarTest' }))
|
||||
end
|
||||
|
||||
it('should recognize a bar before the {event}', function()
|
||||
@@ -31,7 +31,7 @@ describe('oldtests', function()
|
||||
add_an_autocmd()
|
||||
exec [[ augroup vimBarTest | au! | augroup END ]]
|
||||
eq(1, #exec_lines('au vimBarTest'))
|
||||
eq({}, meths.get_autocmds({ group = 'vimBarTest' }))
|
||||
eq({}, meths.nvim_get_autocmds({ group = 'vimBarTest' }))
|
||||
|
||||
-- Sad spacing
|
||||
add_an_autocmd()
|
||||
@@ -74,7 +74,7 @@ describe('oldtests', function()
|
||||
funcs.writefile(funcs.split(content, '\n'), fname)
|
||||
|
||||
funcs.delete('Xout')
|
||||
funcs.system(string.format('%s --clean -N -S %s', meths.get_vvar('progpath'), fname))
|
||||
funcs.system(string.format('%s --clean -N -S %s', meths.nvim_get_vvar('progpath'), fname))
|
||||
eq(1, funcs.filereadable('Xout'))
|
||||
|
||||
funcs.delete('Xxx1')
|
||||
|
@@ -143,7 +143,7 @@ describe('autocmd', function()
|
||||
|
||||
describe('BufLeave autocommand', function()
|
||||
it('can wipe out the buffer created by :edit which triggered autocmd', function()
|
||||
meths.set_option_value('hidden', true, {})
|
||||
meths.nvim_set_option_value('hidden', true, {})
|
||||
curbufmeths.set_lines(0, 1, false, {
|
||||
'start of test file xx',
|
||||
'end of test file xx',
|
||||
@@ -416,7 +416,11 @@ describe('autocmd', function()
|
||||
end)
|
||||
|
||||
it('gives E814 when there are other floating windows', function()
|
||||
meths.open_win(0, true, { width = 10, height = 10, relative = 'editor', row = 10, col = 10 })
|
||||
meths.nvim_open_win(
|
||||
0,
|
||||
true,
|
||||
{ width = 10, height = 10, relative = 'editor', row = 10, col = 10 }
|
||||
)
|
||||
eq(
|
||||
'BufAdd Autocommands for "Xa.txt": Vim(close):E814: Cannot close window, only autocmd window would remain',
|
||||
pcall_err(command, 'doautoall BufAdd')
|
||||
@@ -512,15 +516,15 @@ describe('autocmd', function()
|
||||
command('autocmd ChanOpen * let v:event.info.id = 0')
|
||||
funcs.jobstart({ 'cat' })
|
||||
retry(nil, nil, function()
|
||||
eq('E46: Cannot change read-only variable "v:event.info"', meths.get_vvar('errmsg'))
|
||||
eq('E46: Cannot change read-only variable "v:event.info"', meths.nvim_get_vvar('errmsg'))
|
||||
end)
|
||||
end)
|
||||
|
||||
it('during ChanOpen event', function()
|
||||
command('autocmd ChanInfo * let v:event.info.id = 0')
|
||||
meths.set_client_info('foo', {}, 'remote', {}, {})
|
||||
meths.nvim_set_client_info('foo', {}, 'remote', {}, {})
|
||||
retry(nil, nil, function()
|
||||
eq('E46: Cannot change read-only variable "v:event.info"', meths.get_vvar('errmsg'))
|
||||
eq('E46: Cannot change read-only variable "v:event.info"', meths.nvim_get_vvar('errmsg'))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -574,7 +578,7 @@ describe('autocmd', function()
|
||||
call assert_fails('au WinNew * ++once ++once echo bad', 'E983:')
|
||||
]]
|
||||
|
||||
meths.set_var('did_split', 0)
|
||||
meths.nvim_set_var('did_split', 0)
|
||||
|
||||
source [[
|
||||
augroup Testing
|
||||
@@ -586,11 +590,11 @@ describe('autocmd', function()
|
||||
split
|
||||
]]
|
||||
|
||||
eq(2, meths.get_var('did_split'))
|
||||
eq(2, meths.nvim_get_var('did_split'))
|
||||
eq(1, funcs.exists('#WinNew'))
|
||||
|
||||
-- Now with once
|
||||
meths.set_var('did_split', 0)
|
||||
meths.nvim_set_var('did_split', 0)
|
||||
|
||||
source [[
|
||||
augroup Testing
|
||||
@@ -602,7 +606,7 @@ describe('autocmd', function()
|
||||
split
|
||||
]]
|
||||
|
||||
eq(1, meths.get_var('did_split'))
|
||||
eq(1, meths.nvim_get_var('did_split'))
|
||||
eq(0, funcs.exists('#WinNew'))
|
||||
|
||||
-- call assert_fails('au WinNew * ++once ++once echo bad', 'E983:')
|
||||
@@ -619,7 +623,7 @@ describe('autocmd', function()
|
||||
|
||||
it('should have autocmds in filetypedetect group', function()
|
||||
source [[filetype on]]
|
||||
neq({}, meths.get_autocmds { group = 'filetypedetect' })
|
||||
neq({}, meths.nvim_get_autocmds { group = 'filetypedetect' })
|
||||
end)
|
||||
|
||||
it('should allow comma-separated patterns', function()
|
||||
@@ -631,7 +635,7 @@ describe('autocmd', function()
|
||||
augroup END
|
||||
]]
|
||||
|
||||
eq(4, #meths.get_autocmds { event = 'BufReadCmd', group = 'TestingPatterns' })
|
||||
eq(4, #meths.nvim_get_autocmds { event = 'BufReadCmd', group = 'TestingPatterns' })
|
||||
end)
|
||||
end)
|
||||
|
||||
|
@@ -14,8 +14,8 @@ describe('cmdline autocommands', function()
|
||||
local channel
|
||||
before_each(function()
|
||||
clear()
|
||||
channel = meths.get_api_info()[1]
|
||||
meths.set_var('channel', channel)
|
||||
channel = meths.nvim_get_api_info()[1]
|
||||
meths.nvim_set_var('channel', channel)
|
||||
command("autocmd CmdlineEnter * call rpcnotify(g:channel, 'CmdlineEnter', v:event)")
|
||||
command("autocmd CmdlineLeave * call rpcnotify(g:channel, 'CmdlineLeave', v:event)")
|
||||
command("autocmd CmdWinEnter * call rpcnotify(g:channel, 'CmdWinEnter', v:event)")
|
||||
|
@@ -26,47 +26,47 @@ describe('CursorHold', function()
|
||||
-- if testing with small 'updatetime' fails, double its value and test again
|
||||
retry(10, nil, function()
|
||||
ut = ut * 2
|
||||
meths.set_option_value('updatetime', ut, {})
|
||||
meths.nvim_set_option_value('updatetime', ut, {})
|
||||
feed('0') -- reset did_cursorhold
|
||||
meths.set_var('cursorhold', 0)
|
||||
meths.nvim_set_var('cursorhold', 0)
|
||||
sleep(ut / 4)
|
||||
fn()
|
||||
eq(0, meths.get_var('cursorhold'))
|
||||
eq(0, meths.nvim_get_var('cursorhold'))
|
||||
sleep(ut / 2)
|
||||
fn()
|
||||
eq(0, meths.get_var('cursorhold'))
|
||||
eq(0, meths.nvim_get_var('cursorhold'))
|
||||
sleep(ut / 2)
|
||||
eq(early, meths.get_var('cursorhold'))
|
||||
eq(early, meths.nvim_get_var('cursorhold'))
|
||||
sleep(ut / 4 * 3)
|
||||
eq(1, meths.get_var('cursorhold'))
|
||||
eq(1, meths.nvim_get_var('cursorhold'))
|
||||
end)
|
||||
end
|
||||
|
||||
local ignore_key = meths.replace_termcodes('<Ignore>', true, true, true)
|
||||
local ignore_key = meths.nvim_replace_termcodes('<Ignore>', true, true, true)
|
||||
test_cursorhold(function() end, 1)
|
||||
test_cursorhold(function()
|
||||
feed('')
|
||||
end, 1)
|
||||
test_cursorhold(function()
|
||||
meths.feedkeys('', 'n', true)
|
||||
meths.nvim_feedkeys('', 'n', true)
|
||||
end, 1)
|
||||
test_cursorhold(function()
|
||||
feed('<Ignore>')
|
||||
end, 0)
|
||||
test_cursorhold(function()
|
||||
meths.feedkeys(ignore_key, 'n', true)
|
||||
meths.nvim_feedkeys(ignore_key, 'n', true)
|
||||
end, 0)
|
||||
end)
|
||||
|
||||
it("reducing 'updatetime' while waiting for CursorHold #20241", function()
|
||||
meths.set_option_value('updatetime', 10000, {})
|
||||
meths.nvim_set_option_value('updatetime', 10000, {})
|
||||
feed('0') -- reset did_cursorhold
|
||||
meths.set_var('cursorhold', 0)
|
||||
meths.nvim_set_var('cursorhold', 0)
|
||||
sleep(50)
|
||||
eq(0, meths.get_var('cursorhold'))
|
||||
meths.set_option_value('updatetime', 20, {})
|
||||
eq(0, meths.nvim_get_var('cursorhold'))
|
||||
meths.nvim_set_option_value('updatetime', 20, {})
|
||||
sleep(10)
|
||||
eq(1, meths.get_var('cursorhold'))
|
||||
eq(1, meths.nvim_get_var('cursorhold'))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -85,7 +85,7 @@ describe('CursorHoldI', function()
|
||||
feed('ifoo')
|
||||
retry(5, nil, function()
|
||||
sleep(1)
|
||||
eq(1, meths.get_var('cursorhold'))
|
||||
eq(1, meths.nvim_get_var('cursorhold'))
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
@@ -41,9 +41,9 @@ describe('CursorMoved', function()
|
||||
vsplit foo
|
||||
autocmd CursorMoved * let g:cursormoved += 1
|
||||
]])
|
||||
meths.buf_set_lines(eval('g:buf'), 0, -1, true, { 'aaa' })
|
||||
meths.nvim_buf_set_lines(eval('g:buf'), 0, -1, true, { 'aaa' })
|
||||
eq(0, eval('g:cursormoved'))
|
||||
eq({ 'aaa' }, meths.buf_get_lines(eval('g:buf'), 0, -1, true))
|
||||
eq({ 'aaa' }, meths.nvim_buf_get_lines(eval('g:buf'), 0, -1, true))
|
||||
eq(0, eval('g:cursormoved'))
|
||||
end)
|
||||
|
||||
|
@@ -18,40 +18,40 @@ describe('SafeState autocommand', function()
|
||||
it('with pending operator', function()
|
||||
feed('d')
|
||||
create_autocmd()
|
||||
eq(0, meths.get_var('safe'))
|
||||
eq(0, meths.nvim_get_var('safe'))
|
||||
feed('d')
|
||||
eq(1, meths.get_var('safe'))
|
||||
eq(1, meths.nvim_get_var('safe'))
|
||||
end)
|
||||
|
||||
it('with specified register', function()
|
||||
feed('"r')
|
||||
create_autocmd()
|
||||
eq(0, meths.get_var('safe'))
|
||||
eq(0, meths.nvim_get_var('safe'))
|
||||
feed('x')
|
||||
eq(1, meths.get_var('safe'))
|
||||
eq(1, meths.nvim_get_var('safe'))
|
||||
end)
|
||||
|
||||
it('with i_CTRL-O', function()
|
||||
feed('i<C-O>')
|
||||
create_autocmd()
|
||||
eq(0, meths.get_var('safe'))
|
||||
eq(0, meths.nvim_get_var('safe'))
|
||||
feed('x')
|
||||
eq(1, meths.get_var('safe'))
|
||||
eq(1, meths.nvim_get_var('safe'))
|
||||
end)
|
||||
|
||||
it('with Insert mode completion', function()
|
||||
feed('i<C-X><C-V>')
|
||||
create_autocmd()
|
||||
eq(0, meths.get_var('safe'))
|
||||
eq(0, meths.nvim_get_var('safe'))
|
||||
feed('<C-X><C-Z>')
|
||||
eq(1, meths.get_var('safe'))
|
||||
eq(1, meths.nvim_get_var('safe'))
|
||||
end)
|
||||
|
||||
it('with Cmdline completion', function()
|
||||
feed(':<Tab>')
|
||||
create_autocmd()
|
||||
eq(0, meths.get_var('safe'))
|
||||
eq(0, meths.nvim_get_var('safe'))
|
||||
feed('<C-E>')
|
||||
eq(1, meths.get_var('safe'))
|
||||
eq(1, meths.nvim_get_var('safe'))
|
||||
end)
|
||||
end)
|
||||
|
@@ -204,7 +204,7 @@ describe('autocmd TextChangedT', function()
|
||||
command('autocmd TextChangedT * ++once let g:called = 1')
|
||||
thelpers.feed_data('a')
|
||||
retry(nil, nil, function()
|
||||
eq(1, meths.get_var('called'))
|
||||
eq(1, meths.nvim_get_var('called'))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -212,6 +212,9 @@ describe('autocmd TextChangedT', function()
|
||||
command([[autocmd TextChangedT * call nvim_input('<CR>') | bwipe!]])
|
||||
thelpers.feed_data('a')
|
||||
screen:expect({ any = 'E937: ' })
|
||||
matches('^E937: Attempt to delete a buffer that is in use: term://', meths.get_vvar('errmsg'))
|
||||
matches(
|
||||
'^E937: Attempt to delete a buffer that is in use: term://',
|
||||
meths.nvim_get_vvar('errmsg')
|
||||
)
|
||||
end)
|
||||
end)
|
||||
|
@@ -45,7 +45,7 @@ describe('WinScrolled', function()
|
||||
local win_id
|
||||
|
||||
before_each(function()
|
||||
win_id = meths.get_current_win().id
|
||||
win_id = meths.nvim_get_current_win().id
|
||||
command(string.format('autocmd WinScrolled %d let g:matched = v:true', win_id))
|
||||
exec([[
|
||||
let g:scrolled = 0
|
||||
@@ -64,7 +64,7 @@ describe('WinScrolled', function()
|
||||
|
||||
it('is triggered by scrolling vertically', function()
|
||||
local lines = { '123', '123' }
|
||||
meths.buf_set_lines(0, 0, -1, true, lines)
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, lines)
|
||||
eq(0, eval('g:scrolled'))
|
||||
|
||||
feed('<C-E>')
|
||||
@@ -84,10 +84,10 @@ describe('WinScrolled', function()
|
||||
|
||||
it('is triggered by scrolling horizontally', function()
|
||||
command('set nowrap')
|
||||
local width = meths.win_get_width(0)
|
||||
local width = meths.nvim_win_get_width(0)
|
||||
local line = '123' .. ('*'):rep(width * 2)
|
||||
local lines = { line, line }
|
||||
meths.buf_set_lines(0, 0, -1, true, lines)
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, lines)
|
||||
eq(0, eval('g:scrolled'))
|
||||
|
||||
feed('zl')
|
||||
@@ -108,8 +108,8 @@ describe('WinScrolled', function()
|
||||
it('is triggered by horizontal scrolling from cursor move', function()
|
||||
command('set nowrap')
|
||||
local lines = { '', '', 'Foo' }
|
||||
meths.buf_set_lines(0, 0, -1, true, lines)
|
||||
meths.win_set_cursor(0, { 3, 0 })
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, lines)
|
||||
meths.nvim_win_set_cursor(0, { 3, 0 })
|
||||
eq(0, eval('g:scrolled'))
|
||||
|
||||
feed('zl')
|
||||
@@ -143,10 +143,10 @@ describe('WinScrolled', function()
|
||||
|
||||
-- oldtest: Test_WinScrolled_long_wrapped()
|
||||
it('is triggered by scrolling on a long wrapped line #19968', function()
|
||||
local height = meths.win_get_height(0)
|
||||
local width = meths.win_get_width(0)
|
||||
meths.buf_set_lines(0, 0, -1, true, { ('foo'):rep(height * width) })
|
||||
meths.win_set_cursor(0, { 1, height * width - 1 })
|
||||
local height = meths.nvim_win_get_height(0)
|
||||
local width = meths.nvim_win_get_width(0)
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { ('foo'):rep(height * width) })
|
||||
meths.nvim_win_set_cursor(0, { 1, height * width - 1 })
|
||||
eq(0, eval('g:scrolled'))
|
||||
|
||||
feed('gj')
|
||||
@@ -168,12 +168,12 @@ describe('WinScrolled', function()
|
||||
end)
|
||||
|
||||
it('is triggered when the window scrolls in Insert mode', function()
|
||||
local height = meths.win_get_height(0)
|
||||
local height = meths.nvim_win_get_height(0)
|
||||
local lines = {}
|
||||
for i = 1, height * 2 do
|
||||
lines[i] = tostring(i)
|
||||
end
|
||||
meths.buf_set_lines(0, 0, -1, true, lines)
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, lines)
|
||||
|
||||
feed('M')
|
||||
eq(0, eval('g:scrolled'))
|
||||
@@ -220,12 +220,12 @@ describe('WinScrolled', function()
|
||||
eq(0, eval('g:scrolled'))
|
||||
|
||||
-- With the upper split focused, send a scroll-down event to the unfocused one.
|
||||
meths.input_mouse('wheel', 'down', '', 0, 6, 0)
|
||||
meths.nvim_input_mouse('wheel', 'down', '', 0, 6, 0)
|
||||
eq(1, eval('g:scrolled'))
|
||||
|
||||
-- Again, but this time while we're in insert mode.
|
||||
feed('i')
|
||||
meths.input_mouse('wheel', 'down', '', 0, 6, 0)
|
||||
meths.nvim_input_mouse('wheel', 'down', '', 0, 6, 0)
|
||||
feed('<Esc>')
|
||||
eq(2, eval('g:scrolled'))
|
||||
end)
|
||||
@@ -296,15 +296,15 @@ describe('WinScrolled', function()
|
||||
]])
|
||||
eq(0, eval('g:scrolled'))
|
||||
|
||||
local buf = meths.create_buf(true, true)
|
||||
meths.buf_set_lines(
|
||||
local buf = meths.nvim_create_buf(true, true)
|
||||
meths.nvim_buf_set_lines(
|
||||
buf,
|
||||
0,
|
||||
-1,
|
||||
false,
|
||||
{ '@', 'b', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n' }
|
||||
)
|
||||
local win = meths.open_win(buf, false, {
|
||||
local win = meths.nvim_open_win(buf, false, {
|
||||
height = 5,
|
||||
width = 10,
|
||||
col = 0,
|
||||
@@ -317,7 +317,7 @@ describe('WinScrolled', function()
|
||||
-- WinScrolled should not be triggered when creating a new floating window
|
||||
eq(0, eval('g:scrolled'))
|
||||
|
||||
meths.input_mouse('wheel', 'down', '', 0, 3, 3)
|
||||
meths.nvim_input_mouse('wheel', 'down', '', 0, 3, 3)
|
||||
eq(1, eval('g:scrolled'))
|
||||
eq(winid_str, eval('g:amatch'))
|
||||
eq({
|
||||
@@ -325,7 +325,7 @@ describe('WinScrolled', function()
|
||||
[winid_str] = { leftcol = 0, topline = 3, topfill = 0, width = 0, height = 0, skipcol = 0 },
|
||||
}, eval('g:v_event'))
|
||||
|
||||
meths.input_mouse('wheel', 'up', '', 0, 3, 3)
|
||||
meths.nvim_input_mouse('wheel', 'up', '', 0, 3, 3)
|
||||
eq(2, eval('g:scrolled'))
|
||||
eq(tostring(win.id), eval('g:amatch'))
|
||||
eq({
|
||||
|
@@ -38,7 +38,7 @@ describe('channels', function()
|
||||
set_session(client)
|
||||
source(init)
|
||||
|
||||
meths.set_var('address', address)
|
||||
meths.nvim_set_var('address', address)
|
||||
command("let g:id = sockconnect('pipe', address, {'on_data':'OnEvent'})")
|
||||
local id = eval('g:id')
|
||||
ok(id > 0)
|
||||
@@ -46,7 +46,7 @@ describe('channels', function()
|
||||
command("call chansend(g:id, msgpackdump([[2,'nvim_set_var',['code',23]]]))")
|
||||
set_session(server)
|
||||
retry(nil, 1000, function()
|
||||
eq(23, meths.get_var('code'))
|
||||
eq(23, meths.nvim_get_var('code'))
|
||||
end)
|
||||
set_session(client)
|
||||
|
||||
@@ -67,8 +67,8 @@ describe('channels', function()
|
||||
\ 'on_exit': function('OnEvent'),
|
||||
\ }
|
||||
]])
|
||||
meths.set_var('nvim_prog', nvim_prog)
|
||||
meths.set_var(
|
||||
meths.nvim_set_var('nvim_prog', nvim_prog)
|
||||
meths.nvim_set_var(
|
||||
'code',
|
||||
[[
|
||||
function! OnEvent(id, data, event) dict
|
||||
@@ -117,8 +117,8 @@ describe('channels', function()
|
||||
\ 'on_exit': function('OnEvent'),
|
||||
\ }
|
||||
]])
|
||||
meths.set_var('nvim_prog', nvim_prog)
|
||||
meths.set_var(
|
||||
meths.nvim_set_var('nvim_prog', nvim_prog)
|
||||
meths.nvim_set_var(
|
||||
'code',
|
||||
[[
|
||||
function! OnStdin(id, data, event) dict
|
||||
@@ -165,8 +165,8 @@ describe('channels', function()
|
||||
\ 'pty': v:true,
|
||||
\ }
|
||||
]])
|
||||
meths.set_var('nvim_prog', nvim_prog)
|
||||
meths.set_var(
|
||||
meths.nvim_set_var('nvim_prog', nvim_prog)
|
||||
meths.nvim_set_var(
|
||||
'code',
|
||||
[[
|
||||
function! OnEvent(id, data, event) dict
|
||||
@@ -220,8 +220,8 @@ describe('channels', function()
|
||||
\ 'rpc': v:true,
|
||||
\ }
|
||||
]])
|
||||
meths.set_var('nvim_prog', nvim_prog)
|
||||
meths.set_var(
|
||||
meths.nvim_set_var('nvim_prog', nvim_prog)
|
||||
meths.nvim_set_var(
|
||||
'code',
|
||||
[[
|
||||
let id = stdioopen({'rpc':v:true})
|
||||
|
@@ -409,14 +409,14 @@ describe('tmpdir', function()
|
||||
funcs.tempname()
|
||||
funcs.tempname()
|
||||
funcs.tempname()
|
||||
eq('', meths.get_vvar('errmsg'))
|
||||
eq('', meths.nvim_get_vvar('errmsg'))
|
||||
rm_tmpdir()
|
||||
funcs.tempname()
|
||||
funcs.tempname()
|
||||
funcs.tempname()
|
||||
eq('E5431: tempdir disappeared (2 times)', meths.get_vvar('errmsg'))
|
||||
eq('E5431: tempdir disappeared (2 times)', meths.nvim_get_vvar('errmsg'))
|
||||
rm_tmpdir()
|
||||
eq('E5431: tempdir disappeared (3 times)', meths.get_vvar('errmsg'))
|
||||
eq('E5431: tempdir disappeared (3 times)', meths.nvim_get_vvar('errmsg'))
|
||||
end)
|
||||
|
||||
it('$NVIM_APPNAME relative path', function()
|
||||
|
@@ -403,11 +403,11 @@ describe('jobs', function()
|
||||
it('can get the pid value using getpid', function()
|
||||
nvim('command', "let j = jobstart(['cat', '-'], g:job_opts)")
|
||||
local pid = eval('jobpid(j)')
|
||||
neq(NIL, meths.get_proc(pid))
|
||||
neq(NIL, meths.nvim_get_proc(pid))
|
||||
nvim('command', 'call jobstop(j)')
|
||||
eq({ 'notification', 'stdout', { 0, { '' } } }, next_msg())
|
||||
eq({ 'notification', 'exit', { 0, 143 } }, next_msg())
|
||||
eq(NIL, meths.get_proc(pid))
|
||||
eq(NIL, meths.nvim_get_proc(pid))
|
||||
end)
|
||||
|
||||
it('disposed on Nvim exit', function()
|
||||
@@ -417,9 +417,9 @@ describe('jobs', function()
|
||||
"let g:j = jobstart(has('win32') ? ['ping', '-n', '1001', '127.0.0.1'] : ['sleep', '1000'], g:job_opts)"
|
||||
)
|
||||
local pid = eval('jobpid(g:j)')
|
||||
neq(NIL, meths.get_proc(pid))
|
||||
neq(NIL, meths.nvim_get_proc(pid))
|
||||
clear()
|
||||
eq(NIL, meths.get_proc(pid))
|
||||
eq(NIL, meths.nvim_get_proc(pid))
|
||||
end)
|
||||
|
||||
it('can survive the exit of nvim with "detach"', function()
|
||||
@@ -429,9 +429,9 @@ describe('jobs', function()
|
||||
"let g:j = jobstart(has('win32') ? ['ping', '-n', '1001', '127.0.0.1'] : ['sleep', '1000'], g:job_opts)"
|
||||
)
|
||||
local pid = eval('jobpid(g:j)')
|
||||
neq(NIL, meths.get_proc(pid))
|
||||
neq(NIL, meths.nvim_get_proc(pid))
|
||||
clear()
|
||||
neq(NIL, meths.get_proc(pid))
|
||||
neq(NIL, meths.nvim_get_proc(pid))
|
||||
-- clean up after ourselves
|
||||
eq(0, os_kill(pid))
|
||||
end)
|
||||
@@ -948,7 +948,7 @@ describe('jobs', function()
|
||||
]],
|
||||
}
|
||||
feed('<CR>')
|
||||
funcs.jobstop(meths.get_var('id'))
|
||||
funcs.jobstop(meths.nvim_get_var('id'))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -1066,7 +1066,7 @@ describe('jobs', function()
|
||||
local children
|
||||
if is_os('win') then
|
||||
local status, result = pcall(retry, nil, nil, function()
|
||||
children = meths.get_proc_children(ppid)
|
||||
children = meths.nvim_get_proc_children(ppid)
|
||||
-- On Windows conhost.exe may exist, and
|
||||
-- e.g. vctip.exe might appear. #10783
|
||||
ok(#children >= 3 and #children <= 5)
|
||||
@@ -1078,13 +1078,13 @@ describe('jobs', function()
|
||||
end
|
||||
else
|
||||
retry(nil, nil, function()
|
||||
children = meths.get_proc_children(ppid)
|
||||
children = meths.nvim_get_proc_children(ppid)
|
||||
eq(3, #children)
|
||||
end)
|
||||
end
|
||||
-- Assert that nvim_get_proc() sees the children.
|
||||
for _, child_pid in ipairs(children) do
|
||||
local info = meths.get_proc(child_pid)
|
||||
local info = meths.nvim_get_proc(child_pid)
|
||||
-- eq((is_os('win') and 'nvim.exe' or 'nvim'), info.name)
|
||||
eq(ppid, info.ppid)
|
||||
end
|
||||
@@ -1093,7 +1093,7 @@ describe('jobs', function()
|
||||
-- Assert that the children were killed.
|
||||
retry(nil, nil, function()
|
||||
for _, child_pid in ipairs(children) do
|
||||
eq(NIL, meths.get_proc(child_pid))
|
||||
eq(NIL, meths.nvim_get_proc(child_pid))
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@@ -1129,7 +1129,7 @@ describe('jobs', function()
|
||||
local j
|
||||
local function send(str)
|
||||
-- check no nvim_chan_free double free with pty job (#14198)
|
||||
meths.chan_send(j, str)
|
||||
meths.nvim_chan_send(j, str)
|
||||
end
|
||||
|
||||
before_each(function()
|
||||
|
@@ -24,7 +24,7 @@ describe('spellfile', function()
|
||||
-- │ ┌ Spell file version (#VIMSPELLVERSION)
|
||||
local spellheader = 'VIMspell\050'
|
||||
it('errors out when prefcond section is truncated', function()
|
||||
meths.set_option_value('runtimepath', testdir, {})
|
||||
meths.nvim_set_option_value('runtimepath', testdir, {})
|
||||
-- stylua: ignore
|
||||
write_file(testdir .. '/spell/en.ascii.spl',
|
||||
-- ┌ Section identifier (#SN_PREFCOND)
|
||||
@@ -35,11 +35,11 @@ describe('spellfile', function()
|
||||
-- │ ┌ Condition length (1 byte)
|
||||
-- │ │ ┌ Condition regex (missing!)
|
||||
.. '\000\001\001')
|
||||
meths.set_option_value('spelllang', 'en', {})
|
||||
meths.nvim_set_option_value('spelllang', 'en', {})
|
||||
eq('Vim(set):E758: Truncated spell file', exc_exec('set spell'))
|
||||
end)
|
||||
it('errors out when prefcond regexp contains NUL byte', function()
|
||||
meths.set_option_value('runtimepath', testdir, {})
|
||||
meths.nvim_set_option_value('runtimepath', testdir, {})
|
||||
-- stylua: ignore
|
||||
write_file(testdir .. '/spell/en.ascii.spl',
|
||||
-- ┌ Section identifier (#SN_PREFCOND)
|
||||
@@ -55,11 +55,11 @@ describe('spellfile', function()
|
||||
-- │ ┌ KWORDTREE tree length (4 bytes)
|
||||
-- │ │ ┌ PREFIXTREE tree length
|
||||
.. '\000\000\000\000\000\000\000\000\000\000\000\000')
|
||||
meths.set_option_value('spelllang', 'en', {})
|
||||
meths.nvim_set_option_value('spelllang', 'en', {})
|
||||
eq('Vim(set):E759: Format error in spell file', exc_exec('set spell'))
|
||||
end)
|
||||
it('errors out when region contains NUL byte', function()
|
||||
meths.set_option_value('runtimepath', testdir, {})
|
||||
meths.nvim_set_option_value('runtimepath', testdir, {})
|
||||
-- stylua: ignore
|
||||
write_file(testdir .. '/spell/en.ascii.spl',
|
||||
-- ┌ Section identifier (#SN_REGION)
|
||||
@@ -72,11 +72,11 @@ describe('spellfile', function()
|
||||
-- │ ┌ KWORDTREE tree length (4 bytes)
|
||||
-- │ │ ┌ PREFIXTREE tree length
|
||||
.. '\000\000\000\000\000\000\000\000\000\000\000\000')
|
||||
meths.set_option_value('spelllang', 'en', {})
|
||||
meths.nvim_set_option_value('spelllang', 'en', {})
|
||||
eq('Vim(set):E759: Format error in spell file', exc_exec('set spell'))
|
||||
end)
|
||||
it('errors out when SAL section contains NUL byte', function()
|
||||
meths.set_option_value('runtimepath', testdir, {})
|
||||
meths.nvim_set_option_value('runtimepath', testdir, {})
|
||||
-- stylua: ignore
|
||||
write_file(testdir .. '/spell/en.ascii.spl',
|
||||
-- ┌ Section identifier (#SN_SAL)
|
||||
@@ -96,13 +96,13 @@ describe('spellfile', function()
|
||||
-- │ ┌ KWORDTREE tree length (4 bytes)
|
||||
-- │ │ ┌ PREFIXTREE tree length
|
||||
.. '\000\000\000\000\000\000\000\000\000\000\000\000')
|
||||
meths.set_option_value('spelllang', 'en', {})
|
||||
meths.nvim_set_option_value('spelllang', 'en', {})
|
||||
eq('Vim(set):E759: Format error in spell file', exc_exec('set spell'))
|
||||
end)
|
||||
it('errors out when spell header contains NUL bytes', function()
|
||||
meths.set_option_value('runtimepath', testdir, {})
|
||||
meths.nvim_set_option_value('runtimepath', testdir, {})
|
||||
write_file(testdir .. '/spell/en.ascii.spl', spellheader:sub(1, -3) .. '\000\000')
|
||||
meths.set_option_value('spelllang', 'en', {})
|
||||
meths.nvim_set_option_value('spelllang', 'en', {})
|
||||
eq('Vim(set):E757: This does not look like a spell file', exc_exec('set spell'))
|
||||
end)
|
||||
end)
|
||||
|
@@ -38,7 +38,7 @@ describe('startup', function()
|
||||
clear()
|
||||
ok(
|
||||
string.find(
|
||||
alter_slashes(meths.get_option_value('runtimepath', {})),
|
||||
alter_slashes(meths.nvim_get_option_value('runtimepath', {})),
|
||||
funcs.stdpath('config'),
|
||||
1,
|
||||
true
|
||||
@@ -47,7 +47,7 @@ describe('startup', function()
|
||||
clear('--clean')
|
||||
ok(
|
||||
string.find(
|
||||
alter_slashes(meths.get_option_value('runtimepath', {})),
|
||||
alter_slashes(meths.nvim_get_option_value('runtimepath', {})),
|
||||
funcs.stdpath('config'),
|
||||
1,
|
||||
true
|
||||
@@ -737,11 +737,11 @@ describe('startup', function()
|
||||
os.remove('Xdiff.vim')
|
||||
end)
|
||||
clear { args = { '-u', 'Xdiff.vim', '-d', 'Xdiff.vim', 'Xdiff.vim' } }
|
||||
eq(true, meths.get_option_value('diff', { win = funcs.win_getid(1) }))
|
||||
eq(true, meths.get_option_value('diff', { win = funcs.win_getid(2) }))
|
||||
eq(true, meths.nvim_get_option_value('diff', { win = funcs.win_getid(1) }))
|
||||
eq(true, meths.nvim_get_option_value('diff', { win = funcs.win_getid(2) }))
|
||||
local float_win = funcs.win_getid(3)
|
||||
eq('editor', meths.win_get_config(float_win).relative)
|
||||
eq(false, meths.get_option_value('diff', { win = float_win }))
|
||||
eq('editor', meths.nvim_win_get_config(float_win).relative)
|
||||
eq(false, meths.nvim_get_option_value('diff', { win = float_win }))
|
||||
end)
|
||||
|
||||
it('does not crash if --embed is given twice', function()
|
||||
@@ -870,7 +870,7 @@ describe('startup', function()
|
||||
exec_lua [[ return _G.test_loadorder ]]
|
||||
)
|
||||
|
||||
local rtp = meths.get_option_value('rtp', {})
|
||||
local rtp = meths.nvim_get_option_value('rtp', {})
|
||||
ok(
|
||||
startswith(
|
||||
rtp,
|
||||
@@ -963,9 +963,9 @@ describe('startup', function()
|
||||
os.remove('Xtab2.noft')
|
||||
end)
|
||||
clear({ args = { '-p', 'Xtab1.noft', 'Xtab2.noft' } })
|
||||
eq(81, meths.win_get_width(0))
|
||||
eq(81, meths.nvim_win_get_width(0))
|
||||
command('tabnext')
|
||||
eq(81, meths.win_get_width(0))
|
||||
eq(81, meths.nvim_win_get_width(0))
|
||||
end)
|
||||
end)
|
||||
|
||||
|
@@ -61,9 +61,9 @@ describe('K', function()
|
||||
end)
|
||||
|
||||
it('empty string falls back to :help #19298', function()
|
||||
meths.set_option_value('keywordprg', '', {})
|
||||
meths.buf_set_lines(0, 0, -1, true, { 'doesnotexist' })
|
||||
meths.nvim_set_option_value('keywordprg', '', {})
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { 'doesnotexist' })
|
||||
feed('K')
|
||||
eq('E149: Sorry, no help for doesnotexist', meths.get_vvar('errmsg'))
|
||||
eq('E149: Sorry, no help for doesnotexist', meths.nvim_get_vvar('errmsg'))
|
||||
end)
|
||||
end)
|
||||
|
@@ -883,8 +883,8 @@ describe('completion', function()
|
||||
return ''
|
||||
endfunction
|
||||
]])
|
||||
meths.set_option_value('completeopt', 'menuone,noselect', {})
|
||||
meths.set_var('_complist', {
|
||||
meths.nvim_set_option_value('completeopt', 'menuone,noselect', {})
|
||||
meths.nvim_set_var('_complist', {
|
||||
{
|
||||
word = 0,
|
||||
abbr = 1,
|
||||
|
@@ -139,7 +139,7 @@ describe('immediately after a macro has finished executing,', function()
|
||||
|
||||
it('if the macro does not end with a <Nop> mapping', function()
|
||||
feed('@asq') -- "q" from "s" mapping should start recording a macro instead of being no-op
|
||||
eq({ mode = 'n', blocking = false }, meths.get_mode())
|
||||
eq({ mode = 'n', blocking = false }, meths.nvim_get_mode())
|
||||
expect('')
|
||||
eq('', eval('@a'))
|
||||
end)
|
||||
@@ -147,7 +147,7 @@ describe('immediately after a macro has finished executing,', function()
|
||||
it('if the macro ends with a <Nop> mapping', function()
|
||||
command('nnoremap 0 <Nop>')
|
||||
feed('@asq') -- "q" from "s" mapping should start recording a macro instead of being no-op
|
||||
eq({ mode = 'n', blocking = false }, meths.get_mode())
|
||||
eq({ mode = 'n', blocking = false }, meths.nvim_get_mode())
|
||||
expect('')
|
||||
eq('', eval('@a'))
|
||||
end)
|
||||
|
@@ -10,7 +10,7 @@ local feed = helpers.feed
|
||||
local write_file = helpers.write_file
|
||||
local pcall_err = helpers.pcall_err
|
||||
local cursor = function()
|
||||
return helpers.meths.win_get_cursor(0)
|
||||
return helpers.meths.nvim_win_get_cursor(0)
|
||||
end
|
||||
|
||||
describe('named marks', function()
|
||||
@@ -105,7 +105,7 @@ describe('named marks', function()
|
||||
feed('mA')
|
||||
command('next')
|
||||
feed("'A")
|
||||
eq(1, meths.get_current_buf().id)
|
||||
eq(1, meths.nvim_get_current_buf().id)
|
||||
eq({ 2, 0 }, cursor())
|
||||
end)
|
||||
|
||||
@@ -118,7 +118,7 @@ describe('named marks', function()
|
||||
feed('mA')
|
||||
command('next')
|
||||
feed('`A')
|
||||
eq(1, meths.get_current_buf().id)
|
||||
eq(1, meths.nvim_get_current_buf().id)
|
||||
eq({ 2, 2 }, cursor())
|
||||
end)
|
||||
|
||||
@@ -131,7 +131,7 @@ describe('named marks', function()
|
||||
feed('mA')
|
||||
command('next')
|
||||
feed("g'A")
|
||||
eq(1, meths.get_current_buf().id)
|
||||
eq(1, meths.nvim_get_current_buf().id)
|
||||
eq({ 2, 0 }, cursor())
|
||||
end)
|
||||
|
||||
@@ -144,7 +144,7 @@ describe('named marks', function()
|
||||
feed('mA')
|
||||
command('next')
|
||||
feed('g`A')
|
||||
eq(1, meths.get_current_buf().id)
|
||||
eq(1, meths.nvim_get_current_buf().id)
|
||||
eq({ 2, 2 }, cursor())
|
||||
end)
|
||||
|
||||
@@ -158,7 +158,7 @@ describe('named marks', function()
|
||||
feed('mA')
|
||||
command('next')
|
||||
command("'A")
|
||||
eq(1, meths.get_current_buf().id)
|
||||
eq(1, meths.nvim_get_current_buf().id)
|
||||
eq({ 2, 0 }, cursor())
|
||||
end)
|
||||
|
||||
@@ -303,24 +303,24 @@ describe('named marks', function()
|
||||
end)
|
||||
|
||||
it("getting '{ '} '( ') does not move cursor", function()
|
||||
meths.buf_set_lines(0, 0, 0, true, { 'aaaaa', 'bbbbb', 'ccccc', 'ddddd', 'eeeee' })
|
||||
meths.win_set_cursor(0, { 2, 0 })
|
||||
meths.nvim_buf_set_lines(0, 0, 0, true, { 'aaaaa', 'bbbbb', 'ccccc', 'ddddd', 'eeeee' })
|
||||
meths.nvim_win_set_cursor(0, { 2, 0 })
|
||||
funcs.getpos("'{")
|
||||
eq({ 2, 0 }, meths.win_get_cursor(0))
|
||||
eq({ 2, 0 }, meths.nvim_win_get_cursor(0))
|
||||
funcs.getpos("'}")
|
||||
eq({ 2, 0 }, meths.win_get_cursor(0))
|
||||
eq({ 2, 0 }, meths.nvim_win_get_cursor(0))
|
||||
funcs.getpos("'(")
|
||||
eq({ 2, 0 }, meths.win_get_cursor(0))
|
||||
eq({ 2, 0 }, meths.nvim_win_get_cursor(0))
|
||||
funcs.getpos("')")
|
||||
eq({ 2, 0 }, meths.win_get_cursor(0))
|
||||
eq({ 2, 0 }, meths.nvim_win_get_cursor(0))
|
||||
end)
|
||||
|
||||
it('in command range does not move cursor #19248', function()
|
||||
meths.create_user_command('Test', ':', { range = true })
|
||||
meths.buf_set_lines(0, 0, 0, true, { 'aaaaa', 'bbbbb', 'ccccc', 'ddddd', 'eeeee' })
|
||||
meths.win_set_cursor(0, { 2, 0 })
|
||||
meths.nvim_create_user_command('Test', ':', { range = true })
|
||||
meths.nvim_buf_set_lines(0, 0, 0, true, { 'aaaaa', 'bbbbb', 'ccccc', 'ddddd', 'eeeee' })
|
||||
meths.nvim_win_set_cursor(0, { 2, 0 })
|
||||
command([['{,'}Test]])
|
||||
eq({ 2, 0 }, meths.win_get_cursor(0))
|
||||
eq({ 2, 0 }, meths.nvim_win_get_cursor(0))
|
||||
end)
|
||||
end)
|
||||
|
||||
|
@@ -85,7 +85,7 @@ describe('cmdline', function()
|
||||
it('correctly clears end of the history', function()
|
||||
-- Regression test: check absence of the memory leak when clearing end of
|
||||
-- the history using cmdhist.c/clr_history().
|
||||
meths.set_option_value('history', 1, {})
|
||||
meths.nvim_set_option_value('history', 1, {})
|
||||
eq(1, funcs.histadd(':', 'foo'))
|
||||
eq(1, funcs.histdel(':'))
|
||||
eq('', funcs.histget(':', -1))
|
||||
|
@@ -74,28 +74,28 @@ describe('tabpage', function()
|
||||
end)
|
||||
|
||||
it('nvim_win_close and nvim_win_hide update tabline #20285', function()
|
||||
eq(1, #meths.list_tabpages())
|
||||
eq(1, #meths.nvim_list_tabpages())
|
||||
eq({ 1, 1 }, funcs.win_screenpos(0))
|
||||
local win1 = curwin().id
|
||||
|
||||
command('tabnew')
|
||||
eq(2, #meths.list_tabpages())
|
||||
eq(2, #meths.nvim_list_tabpages())
|
||||
eq({ 2, 1 }, funcs.win_screenpos(0))
|
||||
local win2 = curwin().id
|
||||
|
||||
meths.win_close(win1, true)
|
||||
meths.nvim_win_close(win1, true)
|
||||
eq(win2, curwin().id)
|
||||
eq(1, #meths.list_tabpages())
|
||||
eq(1, #meths.nvim_list_tabpages())
|
||||
eq({ 1, 1 }, funcs.win_screenpos(0))
|
||||
|
||||
command('tabnew')
|
||||
eq(2, #meths.list_tabpages())
|
||||
eq(2, #meths.nvim_list_tabpages())
|
||||
eq({ 2, 1 }, funcs.win_screenpos(0))
|
||||
local win3 = curwin().id
|
||||
|
||||
meths.win_hide(win2)
|
||||
meths.nvim_win_hide(win2)
|
||||
eq(win3, curwin().id)
|
||||
eq(1, #meths.list_tabpages())
|
||||
eq(1, #meths.nvim_list_tabpages())
|
||||
eq({ 1, 1 }, funcs.win_screenpos(0))
|
||||
end)
|
||||
|
||||
@@ -143,7 +143,7 @@ describe('tabpage', function()
|
||||
end)
|
||||
|
||||
it(':tabs does not overflow IObuff with long path with comma #20850', function()
|
||||
meths.buf_set_name(0, ('x'):rep(1024) .. ',' .. ('x'):rep(1024))
|
||||
meths.nvim_buf_set_name(0, ('x'):rep(1024) .. ',' .. ('x'):rep(1024))
|
||||
command('tabs')
|
||||
assert_alive()
|
||||
end)
|
||||
|
@@ -42,7 +42,7 @@ local cmdtest = function(cmd, prep, ret1)
|
||||
eq(hisline, funcs.histget(':', -2))
|
||||
eq(cmd, funcs.histget(':'))
|
||||
-- Test that command-line window was launched
|
||||
eq('nofile', meths.get_option_value('buftype', {}))
|
||||
eq('nofile', meths.nvim_get_option_value('buftype', {}))
|
||||
eq('n', funcs.mode(1))
|
||||
feed('<CR>')
|
||||
eq('c', funcs.mode(1))
|
||||
|
@@ -223,7 +223,7 @@ describe(':echo :echon :echomsg :echoerr', function()
|
||||
end)
|
||||
|
||||
it('does not crash or halt when dumping partials with reference cycles in self', function()
|
||||
meths.set_var('d', { v = true })
|
||||
meths.nvim_set_var('d', { v = true })
|
||||
eq(
|
||||
dedent(
|
||||
[[
|
||||
@@ -251,7 +251,7 @@ describe(':echo :echon :echomsg :echoerr', function()
|
||||
end)
|
||||
|
||||
it('does not crash or halt when dumping partials with reference cycles in arguments', function()
|
||||
meths.set_var('l', {})
|
||||
meths.nvim_set_var('l', {})
|
||||
eval('add(l, l)')
|
||||
-- Regression: the below line used to crash (add returns original list and
|
||||
-- there was error in dumping partials). Tested explicitly in
|
||||
@@ -269,8 +269,8 @@ describe(':echo :echon :echomsg :echoerr', function()
|
||||
it(
|
||||
'does not crash or halt when dumping partials with reference cycles in self and arguments',
|
||||
function()
|
||||
meths.set_var('d', { v = true })
|
||||
meths.set_var('l', {})
|
||||
meths.nvim_set_var('d', { v = true })
|
||||
meths.nvim_set_var('l', {})
|
||||
eval('add(l, l)')
|
||||
eval('add(l, function("Test1", l))')
|
||||
eval('add(l, function("Test1", d))')
|
||||
@@ -305,13 +305,13 @@ describe(':echo :echon :echomsg :echoerr', function()
|
||||
end)
|
||||
|
||||
it('does not error when dumping recursive lists', function()
|
||||
meths.set_var('l', {})
|
||||
meths.nvim_set_var('l', {})
|
||||
eval('add(l, l)')
|
||||
eq(0, exc_exec('echo String(l)'))
|
||||
end)
|
||||
|
||||
it('dumps recursive lists without error', function()
|
||||
meths.set_var('l', {})
|
||||
meths.nvim_set_var('l', {})
|
||||
eval('add(l, l)')
|
||||
eq('[[...@0]]', exec_capture('echo String(l)'))
|
||||
eq('[[[...@1]]]', exec_capture('echo String([l])'))
|
||||
@@ -335,13 +335,13 @@ describe(':echo :echon :echomsg :echoerr', function()
|
||||
end)
|
||||
|
||||
it('does not error when dumping recursive dictionaries', function()
|
||||
meths.set_var('d', { d = 1 })
|
||||
meths.nvim_set_var('d', { d = 1 })
|
||||
eval('extend(d, {"d": d})')
|
||||
eq(0, exc_exec('echo String(d)'))
|
||||
end)
|
||||
|
||||
it('dumps recursive dictionaries without the error', function()
|
||||
meths.set_var('d', { d = 1 })
|
||||
meths.nvim_set_var('d', { d = 1 })
|
||||
eval('extend(d, {"d": d})')
|
||||
eq("{'d': {...@0}}", exec_capture('echo String(d)'))
|
||||
eq("{'out': {'d': {...@1}}}", exec_capture('echo String({"out": d})'))
|
||||
|
@@ -40,6 +40,6 @@ describe(':help', function()
|
||||
command('helptags Xhelptags/doc')
|
||||
command('set rtp+=Xhelptags')
|
||||
command('help …')
|
||||
eq('*…*', meths.get_current_line())
|
||||
eq('*…*', meths.nvim_get_current_line())
|
||||
end)
|
||||
end)
|
||||
|
@@ -53,11 +53,11 @@ describe(':highlight', function()
|
||||
end)
|
||||
|
||||
it('clear', function()
|
||||
meths.set_var('colors_name', 'foo')
|
||||
meths.nvim_set_var('colors_name', 'foo')
|
||||
eq(1, funcs.exists('g:colors_name'))
|
||||
command('hi clear')
|
||||
eq(0, funcs.exists('g:colors_name'))
|
||||
meths.set_var('colors_name', 'foo')
|
||||
meths.nvim_set_var('colors_name', 'foo')
|
||||
eq(1, funcs.exists('g:colors_name'))
|
||||
exec([[
|
||||
func HiClear()
|
||||
|
@@ -16,13 +16,13 @@ describe(':*map', function()
|
||||
before_each(clear)
|
||||
|
||||
it('are not affected by &isident', function()
|
||||
meths.set_var('counter', 0)
|
||||
meths.nvim_set_var('counter', 0)
|
||||
command('nnoremap <C-x> :let counter+=1<CR>')
|
||||
meths.set_option_value('isident', ('%u'):format(('>'):byte()), {})
|
||||
meths.nvim_set_option_value('isident', ('%u'):format(('>'):byte()), {})
|
||||
command('nnoremap <C-y> :let counter+=1<CR>')
|
||||
-- &isident used to disable keycode parsing here as well
|
||||
feed('\24\25<C-x><C-y>')
|
||||
eq(4, meths.get_var('counter'))
|
||||
eq(4, meths.nvim_get_var('counter'))
|
||||
end)
|
||||
|
||||
it(':imap <M-">', function()
|
||||
@@ -42,9 +42,9 @@ n asdf <Nop>]],
|
||||
end)
|
||||
|
||||
it('mappings with description can be filtered', function()
|
||||
meths.set_keymap('n', 'asdf1', 'qwert', { desc = 'do the one thing' })
|
||||
meths.set_keymap('n', 'asdf2', 'qwert', { desc = 'doesnot really do anything' })
|
||||
meths.set_keymap('n', 'asdf3', 'qwert', { desc = 'do the other thing' })
|
||||
meths.nvim_set_keymap('n', 'asdf1', 'qwert', { desc = 'do the one thing' })
|
||||
meths.nvim_set_keymap('n', 'asdf2', 'qwert', { desc = 'doesnot really do anything' })
|
||||
meths.nvim_set_keymap('n', 'asdf3', 'qwert', { desc = 'do the other thing' })
|
||||
eq(
|
||||
[[
|
||||
|
||||
@@ -58,21 +58,21 @@ n asdf1 qwert
|
||||
|
||||
it('<Plug> mappings ignore nore', function()
|
||||
command('let x = 0')
|
||||
eq(0, meths.eval('x'))
|
||||
eq(0, meths.nvim_eval('x'))
|
||||
command [[
|
||||
nnoremap <Plug>(Increase_x) <cmd>let x+=1<cr>
|
||||
nmap increase_x_remap <Plug>(Increase_x)
|
||||
nnoremap increase_x_noremap <Plug>(Increase_x)
|
||||
]]
|
||||
feed('increase_x_remap')
|
||||
eq(1, meths.eval('x'))
|
||||
eq(1, meths.nvim_eval('x'))
|
||||
feed('increase_x_noremap')
|
||||
eq(2, meths.eval('x'))
|
||||
eq(2, meths.nvim_eval('x'))
|
||||
end)
|
||||
|
||||
it("Doesn't auto ignore nore for keys before or after <Plug> mapping", function()
|
||||
command('let x = 0')
|
||||
eq(0, meths.eval('x'))
|
||||
eq(0, meths.nvim_eval('x'))
|
||||
command [[
|
||||
nnoremap x <nop>
|
||||
nnoremap <Plug>(Increase_x) <cmd>let x+=1<cr>
|
||||
@@ -83,10 +83,10 @@ n asdf1 qwert
|
||||
eq('Some text', eval("getline('.')"))
|
||||
|
||||
feed('increase_x_remap')
|
||||
eq(1, meths.eval('x'))
|
||||
eq(1, meths.nvim_eval('x'))
|
||||
eq('Some text', eval("getline('.')"))
|
||||
feed('increase_x_noremap')
|
||||
eq(2, meths.eval('x'))
|
||||
eq(2, meths.nvim_eval('x'))
|
||||
eq('Some te', eval("getline('.')"))
|
||||
end)
|
||||
|
||||
|
@@ -70,7 +70,7 @@ describe(':mksession', function()
|
||||
-- Restore session.
|
||||
command('source ' .. session_file)
|
||||
|
||||
eq(expected_buf_count, #meths.list_bufs())
|
||||
eq(expected_buf_count, #meths.nvim_list_bufs())
|
||||
end
|
||||
|
||||
it(
|
||||
@@ -80,28 +80,28 @@ describe(':mksession', function()
|
||||
command('edit ' .. tmpfile_base)
|
||||
command('terminal')
|
||||
|
||||
local buf_count = #meths.list_bufs()
|
||||
local buf_count = #meths.nvim_list_bufs()
|
||||
eq(2, buf_count)
|
||||
|
||||
eq('terminal', meths.get_option_value('buftype', {}))
|
||||
eq('terminal', meths.nvim_get_option_value('buftype', {}))
|
||||
|
||||
test_terminal_session_disabled(2)
|
||||
|
||||
-- no terminal should be set. As a side effect we end up with a blank buffer
|
||||
eq('', meths.get_option_value('buftype', { buf = meths.list_bufs()[1] }))
|
||||
eq('', meths.get_option_value('buftype', { buf = meths.list_bufs()[2] }))
|
||||
eq('', meths.nvim_get_option_value('buftype', { buf = meths.nvim_list_bufs()[1] }))
|
||||
eq('', meths.nvim_get_option_value('buftype', { buf = meths.nvim_list_bufs()[2] }))
|
||||
end
|
||||
)
|
||||
|
||||
it('do not restore :terminal if not set in sessionoptions, terminal hidden #13078', function()
|
||||
command('terminal')
|
||||
local terminal_bufnr = meths.get_current_buf()
|
||||
local terminal_bufnr = meths.nvim_get_current_buf()
|
||||
|
||||
local tmpfile_base = file_prefix .. '-tmpfile'
|
||||
-- make terminal hidden by opening a new file
|
||||
command('edit ' .. tmpfile_base .. '1')
|
||||
|
||||
local buf_count = #meths.list_bufs()
|
||||
local buf_count = #meths.nvim_list_bufs()
|
||||
eq(2, buf_count)
|
||||
|
||||
eq(1, funcs.getbufinfo(terminal_bufnr)[1].hidden)
|
||||
@@ -109,20 +109,20 @@ describe(':mksession', function()
|
||||
test_terminal_session_disabled(1)
|
||||
|
||||
-- no terminal should exist here
|
||||
neq('', meths.buf_get_name(meths.list_bufs()[1]))
|
||||
neq('', meths.nvim_buf_get_name(meths.nvim_list_bufs()[1]))
|
||||
end)
|
||||
|
||||
it('do not restore :terminal if not set in sessionoptions, only buffer #13078', function()
|
||||
command('terminal')
|
||||
eq('terminal', meths.get_option_value('buftype', {}))
|
||||
eq('terminal', meths.nvim_get_option_value('buftype', {}))
|
||||
|
||||
local buf_count = #meths.list_bufs()
|
||||
local buf_count = #meths.nvim_list_bufs()
|
||||
eq(1, buf_count)
|
||||
|
||||
test_terminal_session_disabled(1)
|
||||
|
||||
-- no terminal should be set
|
||||
eq('', meths.get_option_value('buftype', {}))
|
||||
eq('', meths.nvim_get_option_value('buftype', {}))
|
||||
end)
|
||||
|
||||
it('restores tab-local working directories', function()
|
||||
@@ -238,7 +238,7 @@ describe(':mksession', function()
|
||||
local tmpfile = file_prefix .. '-tmpfile-float'
|
||||
|
||||
command('edit ' .. tmpfile)
|
||||
local buf = meths.create_buf(false, true)
|
||||
local buf = meths.nvim_create_buf(false, true)
|
||||
local config = {
|
||||
relative = 'editor',
|
||||
focusable = false,
|
||||
@@ -248,8 +248,8 @@ describe(':mksession', function()
|
||||
col = 1,
|
||||
style = 'minimal',
|
||||
}
|
||||
meths.open_win(buf, false, config)
|
||||
local cmdheight = meths.get_option_value('cmdheight', {})
|
||||
meths.nvim_open_win(buf, false, config)
|
||||
local cmdheight = meths.nvim_get_option_value('cmdheight', {})
|
||||
command('mksession ' .. session_file)
|
||||
|
||||
-- Create a new test instance of Nvim.
|
||||
@@ -262,7 +262,7 @@ describe(':mksession', function()
|
||||
-- window was not restored.
|
||||
eq(1, funcs.winnr('$'))
|
||||
-- The command-line height should remain the same as it was.
|
||||
eq(cmdheight, meths.get_option_value('cmdheight', {}))
|
||||
eq(cmdheight, meths.nvim_get_option_value('cmdheight', {}))
|
||||
|
||||
os.remove(tmpfile)
|
||||
end)
|
||||
|
@@ -42,7 +42,7 @@ describe(':oldfiles', function()
|
||||
feed_command('edit testfile2')
|
||||
feed_command('wshada')
|
||||
feed_command('rshada!')
|
||||
local oldfiles = helpers.meths.get_vvar('oldfiles')
|
||||
local oldfiles = helpers.meths.nvim_get_vvar('oldfiles')
|
||||
feed_command('oldfiles')
|
||||
screen:expect([[
|
||||
|
|
||||
@@ -108,7 +108,7 @@ describe(':browse oldfiles', function()
|
||||
-- Ensure v:oldfiles isn't busted. Since things happen so fast,
|
||||
-- the ordering of v:oldfiles is unstable (it uses qsort() under-the-hood).
|
||||
-- Let's verify the contents and the length of v:oldfiles before moving on.
|
||||
oldfiles = helpers.meths.get_vvar('oldfiles')
|
||||
oldfiles = helpers.meths.nvim_get_vvar('oldfiles')
|
||||
eq(2, #oldfiles)
|
||||
ok(filename == oldfiles[1] or filename == oldfiles[2])
|
||||
ok(filename2 == oldfiles[1] or filename2 == oldfiles[2])
|
||||
|
@@ -83,7 +83,7 @@ describe('script_get-based command', function()
|
||||
]])):format(cmd, garbage)
|
||||
)
|
||||
)
|
||||
neq(0, meths.get_var('exc'))
|
||||
neq(0, meths.nvim_get_var('exc'))
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
@@ -49,7 +49,7 @@ describe(':source', function()
|
||||
pending("'shellslash' only works on Windows")
|
||||
return
|
||||
end
|
||||
meths.set_option_value('shellslash', false, {})
|
||||
meths.nvim_set_option_value('shellslash', false, {})
|
||||
mkdir('Xshellslash')
|
||||
|
||||
write_file(
|
||||
@@ -65,9 +65,9 @@ describe(':source', function()
|
||||
|
||||
for _ = 1, 2 do
|
||||
command([[source Xshellslash/Xstack.vim]])
|
||||
matches([[Xshellslash\Xstack%.vim]], meths.get_var('stack1'))
|
||||
matches([[Xshellslash/Xstack%.vim]], meths.get_var('stack2'))
|
||||
matches([[Xshellslash\Xstack%.vim]], meths.get_var('stack3'))
|
||||
matches([[Xshellslash\Xstack%.vim]], meths.nvim_get_var('stack1'))
|
||||
matches([[Xshellslash/Xstack%.vim]], meths.nvim_get_var('stack2'))
|
||||
matches([[Xshellslash\Xstack%.vim]], meths.nvim_get_var('stack3'))
|
||||
end
|
||||
|
||||
write_file(
|
||||
@@ -83,9 +83,9 @@ describe(':source', function()
|
||||
|
||||
for _ = 1, 2 do
|
||||
command([[source Xshellslash/Xstack.lua]])
|
||||
matches([[Xshellslash\Xstack%.lua]], meths.get_var('stack1'))
|
||||
matches([[Xshellslash/Xstack%.lua]], meths.get_var('stack2'))
|
||||
matches([[Xshellslash\Xstack%.lua]], meths.get_var('stack3'))
|
||||
matches([[Xshellslash\Xstack%.lua]], meths.nvim_get_var('stack1'))
|
||||
matches([[Xshellslash/Xstack%.lua]], meths.nvim_get_var('stack2'))
|
||||
matches([[Xshellslash\Xstack%.lua]], meths.nvim_get_var('stack3'))
|
||||
end
|
||||
|
||||
rmdir('Xshellslash')
|
||||
@@ -182,9 +182,9 @@ describe(':source', function()
|
||||
command('set shellslash')
|
||||
command('source ' .. test_file)
|
||||
eq(1, eval('g:sourced_lua'))
|
||||
matches([[/test%.lua$]], meths.get_var('sfile_value'))
|
||||
matches([[/test%.lua$]], meths.get_var('stack_value'))
|
||||
matches([[/test%.lua$]], meths.get_var('script_value'))
|
||||
matches([[/test%.lua$]], meths.nvim_get_var('sfile_value'))
|
||||
matches([[/test%.lua$]], meths.nvim_get_var('stack_value'))
|
||||
matches([[/test%.lua$]], meths.nvim_get_var('script_value'))
|
||||
|
||||
os.remove(test_file)
|
||||
end)
|
||||
@@ -229,9 +229,9 @@ describe(':source', function()
|
||||
|
||||
eq(12, eval('g:c'))
|
||||
eq(' \\ 1\n "\\ 2', exec_lua('return _G.a'))
|
||||
eq(':source (no file)', meths.get_var('sfile_value'))
|
||||
eq(':source (no file)', meths.get_var('stack_value'))
|
||||
eq(':source (no file)', meths.get_var('script_value'))
|
||||
eq(':source (no file)', meths.nvim_get_var('sfile_value'))
|
||||
eq(':source (no file)', meths.nvim_get_var('stack_value'))
|
||||
eq(':source (no file)', meths.nvim_get_var('script_value'))
|
||||
end)
|
||||
end
|
||||
|
||||
|
@@ -438,7 +438,7 @@ describe('quitting swapfile dialog on startup stops TUI properly', function()
|
||||
feed('Gisometext<esc>')
|
||||
poke_eventloop()
|
||||
clear() -- Leaves a swap file behind
|
||||
meths.ui_attach(80, 30, {})
|
||||
meths.nvim_ui_attach(80, 30, {})
|
||||
end)
|
||||
after_each(function()
|
||||
rmdir(swapdir)
|
||||
@@ -459,7 +459,7 @@ describe('quitting swapfile dialog on startup stops TUI properly', function()
|
||||
eval("getline('$')->trim(' ', 2)")
|
||||
)
|
||||
end)
|
||||
meths.chan_send(chan, 'q')
|
||||
meths.nvim_chan_send(chan, 'q')
|
||||
retry(nil, nil, function()
|
||||
eq(
|
||||
{ '', '[Process exited 1]', '' },
|
||||
@@ -491,7 +491,7 @@ describe('quitting swapfile dialog on startup stops TUI properly', function()
|
||||
eval("getline('$')->trim(' ', 2)")
|
||||
)
|
||||
end)
|
||||
meths.chan_send(chan, 'a')
|
||||
meths.nvim_chan_send(chan, 'a')
|
||||
retry(nil, nil, function()
|
||||
eq(
|
||||
{ '', '[Process exited 1]', '' },
|
||||
@@ -531,11 +531,11 @@ describe('quitting swapfile dialog on startup stops TUI properly', function()
|
||||
eval("getline('$')->trim(' ', 2)")
|
||||
)
|
||||
end)
|
||||
meths.chan_send(chan, 'q')
|
||||
meths.nvim_chan_send(chan, 'q')
|
||||
retry(nil, nil, function()
|
||||
eq('Press ENTER or type command to continue', eval("getline('$')->trim(' ', 2)"))
|
||||
end)
|
||||
meths.chan_send(chan, '\r')
|
||||
meths.nvim_chan_send(chan, '\r')
|
||||
retry(nil, nil, function()
|
||||
eq(
|
||||
{ '', '[Process exited 1]', '' },
|
||||
|
@@ -5,7 +5,7 @@ local eq = helpers.eq
|
||||
local exec = helpers.exec
|
||||
local exec_capture = helpers.exec_capture
|
||||
local write_file = helpers.write_file
|
||||
local call_viml_function = helpers.meths.call_function
|
||||
local call_viml_function = helpers.meths.nvim_call_function
|
||||
|
||||
local function last_set_tests(cmd)
|
||||
local script_location, script_file
|
||||
|
@@ -133,17 +133,17 @@ describe(':write', function()
|
||||
pcall_err(command, 'write .')
|
||||
)
|
||||
end
|
||||
meths.set_option_value('writeany', true, {})
|
||||
meths.nvim_set_option_value('writeany', true, {})
|
||||
-- Message from buf_write
|
||||
eq('Vim(write):E502: "." is a directory', pcall_err(command, 'write .'))
|
||||
funcs.mkdir(fname_bak)
|
||||
meths.set_option_value('backupdir', '.', {})
|
||||
meths.set_option_value('backup', true, {})
|
||||
meths.nvim_set_option_value('backupdir', '.', {})
|
||||
meths.nvim_set_option_value('backup', true, {})
|
||||
write_file(fname, 'content0')
|
||||
command('edit ' .. fname)
|
||||
funcs.setline(1, 'TTY')
|
||||
eq("Vim(write):E510: Can't make backup file (add ! to override)", pcall_err(command, 'write'))
|
||||
meths.set_option_value('backup', false, {})
|
||||
meths.nvim_set_option_value('backup', false, {})
|
||||
funcs.setfperm(fname, 'r--------')
|
||||
eq(
|
||||
'Vim(write):E505: "Xtest-functional-ex_cmds-write" is read-only (add ! to override)',
|
||||
|
@@ -631,6 +631,9 @@ module.uimeths = module.create_callindex(ui)
|
||||
local function create_api(request, call)
|
||||
local m = {}
|
||||
function m.nvim(method, ...)
|
||||
if vim.startswith(method, 'nvim_') then
|
||||
return request(method, ...)
|
||||
end
|
||||
return request('nvim_' .. method, ...)
|
||||
end
|
||||
|
||||
@@ -700,6 +703,9 @@ module.describe_lua_and_rpc = function(describe)
|
||||
end
|
||||
end
|
||||
|
||||
--- add for typing. The for loop after will overwrite this
|
||||
module.meths = vim.api
|
||||
|
||||
for name, fn in pairs(module.rpc.api) do
|
||||
module[name] = fn
|
||||
end
|
||||
@@ -862,11 +868,11 @@ function module.skip_fragile(pending_fn, cond)
|
||||
end
|
||||
|
||||
function module.exec(code)
|
||||
module.meths.exec2(code, {})
|
||||
module.meths.nvim_exec2(code, {})
|
||||
end
|
||||
|
||||
function module.exec_capture(code)
|
||||
return module.meths.exec2(code, { output = true }).output
|
||||
return module.meths.nvim_exec2(code, { output = true }).output
|
||||
end
|
||||
|
||||
--- @param code string
|
||||
|
@@ -56,9 +56,9 @@ describe("'directory' option", function()
|
||||
line 3 Abcdefghij
|
||||
end of testfile]])
|
||||
|
||||
meths.set_option_value('swapfile', true, {})
|
||||
meths.set_option_value('swapfile', true, {})
|
||||
meths.set_option_value('directory', '.', {})
|
||||
meths.nvim_set_option_value('swapfile', true, {})
|
||||
meths.nvim_set_option_value('swapfile', true, {})
|
||||
meths.nvim_set_option_value('directory', '.', {})
|
||||
|
||||
-- sanity check: files should not exist yet.
|
||||
eq(nil, vim.uv.fs_stat('.Xtest1.swp'))
|
||||
@@ -70,7 +70,7 @@ describe("'directory' option", function()
|
||||
-- reading the output from :!ls.
|
||||
neq(nil, vim.uv.fs_stat('.Xtest1.swp'))
|
||||
|
||||
meths.set_option_value('directory', './Xtest2,.', {})
|
||||
meths.nvim_set_option_value('directory', './Xtest2,.', {})
|
||||
command('edit Xtest1')
|
||||
poke_eventloop()
|
||||
|
||||
@@ -79,10 +79,10 @@ describe("'directory' option", function()
|
||||
|
||||
eq({ 'Xtest1.swp', 'Xtest3' }, ls_dir_sorted('Xtest2'))
|
||||
|
||||
meths.set_option_value('directory', 'Xtest.je', {})
|
||||
meths.nvim_set_option_value('directory', 'Xtest.je', {})
|
||||
command('bdelete')
|
||||
command('edit Xtest2/Xtest3')
|
||||
eq(true, meths.get_option_value('swapfile', {}))
|
||||
eq(true, meths.nvim_get_option_value('swapfile', {}))
|
||||
poke_eventloop()
|
||||
|
||||
eq({ 'Xtest3' }, ls_dir_sorted('Xtest2'))
|
||||
|
@@ -204,7 +204,7 @@ describe('Visual block mode', function()
|
||||
feed('G2l')
|
||||
feed('2k<C-v>$gj<ESC>')
|
||||
feed_command([[let cpos=getpos("'>")]])
|
||||
local cpos = nvim.get_var('cpos')
|
||||
local cpos = nvim.nvim_get_var('cpos')
|
||||
local expected = {
|
||||
col = 4,
|
||||
off = 0,
|
||||
|
@@ -6,11 +6,11 @@ local exc_exec = helpers.exc_exec
|
||||
local eval = helpers.eval
|
||||
|
||||
local function expected_errors(errors)
|
||||
eq(errors, nvim.get_vvar('errors'))
|
||||
eq(errors, nvim.nvim_get_vvar('errors'))
|
||||
end
|
||||
|
||||
local function expected_empty()
|
||||
eq({}, nvim.get_vvar('errors'))
|
||||
eq({}, nvim.nvim_get_vvar('errors'))
|
||||
end
|
||||
|
||||
describe('assert function:', function()
|
||||
|
@@ -5,7 +5,7 @@ local source, exec_capture = helpers.source, helpers.exec_capture
|
||||
local mkdir = helpers.mkdir
|
||||
|
||||
local function expected_empty()
|
||||
eq({}, meths.get_vvar('errors'))
|
||||
eq({}, meths.nvim_get_vvar('errors'))
|
||||
end
|
||||
|
||||
describe('autochdir behavior', function()
|
||||
|
@@ -38,7 +38,7 @@ local function init_var()
|
||||
end
|
||||
|
||||
local function get_result()
|
||||
local ret = nvim.get_var('ret')
|
||||
local ret = nvim.nvim_get_var('ret')
|
||||
init_var()
|
||||
return ret
|
||||
end
|
||||
@@ -696,24 +696,24 @@ describe('au OptionSet', function()
|
||||
it('should trigger if a boolean option be set globally', function()
|
||||
set_hook('autochdir')
|
||||
|
||||
nvim.set_option_value('autochdir', true, { scope = 'global' })
|
||||
eq(true, nvim.get_option_value('autochdir', { scope = 'global' }))
|
||||
nvim.nvim_set_option_value('autochdir', true, { scope = 'global' })
|
||||
eq(true, nvim.nvim_get_option_value('autochdir', { scope = 'global' }))
|
||||
expected_combination({ 'autochdir', false, '', false, true, 'global', 'setglobal' })
|
||||
end)
|
||||
|
||||
it('should trigger if a number option be set globally', function()
|
||||
set_hook('cmdheight')
|
||||
|
||||
nvim.set_option_value('cmdheight', 5, { scope = 'global' })
|
||||
eq(5, nvim.get_option_value('cmdheight', { scope = 'global' }))
|
||||
nvim.nvim_set_option_value('cmdheight', 5, { scope = 'global' })
|
||||
eq(5, nvim.nvim_get_option_value('cmdheight', { scope = 'global' }))
|
||||
expected_combination({ 'cmdheight', 1, '', 1, 5, 'global', 'setglobal' })
|
||||
end)
|
||||
|
||||
it('should trigger if a string option be set globally', function()
|
||||
set_hook('ambiwidth')
|
||||
|
||||
nvim.set_option_value('ambiwidth', 'double', { scope = 'global' })
|
||||
eq('double', nvim.get_option_value('ambiwidth', { scope = 'global' }))
|
||||
nvim.nvim_set_option_value('ambiwidth', 'double', { scope = 'global' })
|
||||
eq('double', nvim.nvim_get_option_value('ambiwidth', { scope = 'global' }))
|
||||
expected_combination({
|
||||
'ambiwidth',
|
||||
'single',
|
||||
|
@@ -3,14 +3,14 @@ local clear, source = helpers.clear, helpers.source
|
||||
local call, eq, meths = helpers.call, helpers.eq, helpers.meths
|
||||
|
||||
local function expected_empty()
|
||||
eq({}, meths.get_vvar('errors'))
|
||||
eq({}, meths.nvim_get_vvar('errors'))
|
||||
end
|
||||
|
||||
describe('buffer', function()
|
||||
before_each(function()
|
||||
clear()
|
||||
meths.ui_attach(80, 24, {})
|
||||
meths.set_option_value('hidden', false, {})
|
||||
meths.nvim_ui_attach(80, 24, {})
|
||||
meths.nvim_set_option_value('hidden', false, {})
|
||||
end)
|
||||
|
||||
it('deleting a modified buffer with :confirm', function()
|
||||
|
@@ -198,9 +198,9 @@ describe('cmdline', function()
|
||||
[3] = { reverse = true }, -- TabLineFill
|
||||
})
|
||||
screen:attach()
|
||||
meths.set_option_value('laststatus', 2, {})
|
||||
meths.set_option_value('showtabline', 2, {})
|
||||
meths.set_option_value('cmdheight', 1, {})
|
||||
meths.nvim_set_option_value('laststatus', 2, {})
|
||||
meths.nvim_set_option_value('showtabline', 2, {})
|
||||
meths.nvim_set_option_value('cmdheight', 1, {})
|
||||
screen:expect([[
|
||||
{2: [No Name] }{3: }|
|
||||
^ |
|
||||
@@ -217,10 +217,10 @@ describe('cmdline', function()
|
||||
[0] = { bold = true, foreground = Screen.colors.Blue }, -- NonText
|
||||
}
|
||||
screen:attach()
|
||||
meths.set_option_value('ruler', true, {})
|
||||
meths.set_option_value('rulerformat', 'longish', {})
|
||||
meths.set_option_value('laststatus', 0, {})
|
||||
meths.set_option_value('winwidth', 1, {})
|
||||
meths.nvim_set_option_value('ruler', true, {})
|
||||
meths.nvim_set_option_value('rulerformat', 'longish', {})
|
||||
meths.nvim_set_option_value('laststatus', 0, {})
|
||||
meths.nvim_set_option_value('winwidth', 1, {})
|
||||
feed [[<C-W>v<C-W>|<C-W>p]]
|
||||
screen:expect [[
|
||||
│^ |
|
||||
|
@@ -16,7 +16,7 @@ describe('Ex mode', function()
|
||||
feed('gQ' .. cmd .. '<C-b>"<CR>')
|
||||
local ret = eval('@:[1:]') -- Remove leading quote.
|
||||
feed('visual<CR>')
|
||||
eq(meths.replace_termcodes(expected, true, true, true), ret)
|
||||
eq(meths.nvim_replace_termcodes(expected, true, true, true), ret)
|
||||
end
|
||||
command('set sw=2')
|
||||
test_ex_edit('bar', 'foo bar<C-u>bar')
|
||||
|
@@ -24,7 +24,7 @@ end
|
||||
describe('Ex command', function()
|
||||
before_each(clear)
|
||||
after_each(function()
|
||||
eq({}, meths.get_vvar('errors'))
|
||||
eq({}, meths.nvim_get_vvar('errors'))
|
||||
end)
|
||||
|
||||
it('checks for address line overflow', function()
|
||||
|
@@ -5,15 +5,15 @@ local is_os = helpers.is_os
|
||||
local skip = helpers.skip
|
||||
|
||||
local function expected_empty()
|
||||
eq({}, meths.get_vvar('errors'))
|
||||
eq({}, meths.nvim_get_vvar('errors'))
|
||||
end
|
||||
|
||||
describe('file changed dialog', function()
|
||||
before_each(function()
|
||||
clear()
|
||||
meths.ui_attach(80, 24, {})
|
||||
meths.set_option_value('autoread', false, {})
|
||||
meths.set_option_value('fsync', true, {})
|
||||
meths.nvim_ui_attach(80, 24, {})
|
||||
meths.nvim_set_option_value('autoread', false, {})
|
||||
meths.nvim_set_option_value('fsync', true, {})
|
||||
end)
|
||||
|
||||
it('works', function()
|
||||
|
@@ -5,7 +5,7 @@ local clear, source = helpers.clear, helpers.source
|
||||
local call, eq, nvim = helpers.call, helpers.eq, helpers.meths
|
||||
|
||||
local function expected_empty()
|
||||
eq({}, nvim.get_vvar('errors'))
|
||||
eq({}, nvim.nvim_get_vvar('errors'))
|
||||
end
|
||||
|
||||
describe('filename modifiers', function()
|
||||
|
@@ -743,18 +743,18 @@ describe('Ctrl-A/Ctrl-X on visual selections', function()
|
||||
it('works on Test ' .. id, function()
|
||||
command('set nrformats&vi') -- &vi makes Vim compatible
|
||||
call('Test_visual_increment_' .. id)
|
||||
eq({}, nvim.get_vvar('errors'))
|
||||
eq({}, nvim.nvim_get_vvar('errors'))
|
||||
end)
|
||||
end
|
||||
|
||||
it('does not drop leading zeroes', function()
|
||||
command('set nrformats&vi') -- &vi makes Vim compatible
|
||||
call('Test_normal_increment_01')
|
||||
eq({}, nvim.get_vvar('errors'))
|
||||
eq({}, nvim.nvim_get_vvar('errors'))
|
||||
end)
|
||||
|
||||
it('maintains correct column after CTRL-A', function()
|
||||
call('Test_normal_increment_02')
|
||||
eq({}, nvim.get_vvar('errors'))
|
||||
eq({}, nvim.nvim_get_vvar('errors'))
|
||||
end)
|
||||
end)
|
||||
|
@@ -134,9 +134,9 @@ describe('mapping', function()
|
||||
|
||||
command('nnoremap <LeftDrag> <LeftDrag><Cmd><CR>')
|
||||
poke_eventloop()
|
||||
meths.input_mouse('left', 'press', '', 0, 0, 0)
|
||||
meths.nvim_input_mouse('left', 'press', '', 0, 0, 0)
|
||||
poke_eventloop()
|
||||
meths.input_mouse('left', 'drag', '', 0, 0, 1)
|
||||
meths.nvim_input_mouse('left', 'drag', '', 0, 0, 1)
|
||||
poke_eventloop()
|
||||
eq('s', eval('mode()'))
|
||||
end)
|
||||
@@ -147,9 +147,9 @@ describe('mapping', function()
|
||||
command('inoremap <LeftDrag> <LeftDrag><Cmd>let g:dragged = 1<CR>')
|
||||
feed('i')
|
||||
poke_eventloop()
|
||||
meths.input_mouse('left', 'press', '', 0, 0, 0)
|
||||
meths.nvim_input_mouse('left', 'press', '', 0, 0, 0)
|
||||
poke_eventloop()
|
||||
meths.input_mouse('left', 'drag', '', 0, 0, 1)
|
||||
meths.nvim_input_mouse('left', 'drag', '', 0, 0, 1)
|
||||
poke_eventloop()
|
||||
eq(1, eval('g:dragged'))
|
||||
eq('v', eval('mode()'))
|
||||
@@ -158,9 +158,9 @@ describe('mapping', function()
|
||||
command([[inoremap <LeftDrag> <LeftDrag><C-\><C-N>]])
|
||||
feed('i')
|
||||
poke_eventloop()
|
||||
meths.input_mouse('left', 'press', '', 0, 0, 0)
|
||||
meths.nvim_input_mouse('left', 'press', '', 0, 0, 0)
|
||||
poke_eventloop()
|
||||
meths.input_mouse('left', 'drag', '', 0, 0, 1)
|
||||
meths.nvim_input_mouse('left', 'drag', '', 0, 0, 1)
|
||||
poke_eventloop()
|
||||
eq('n', eval('mode()'))
|
||||
end)
|
||||
|
@@ -410,9 +410,9 @@ describe('messages', function()
|
||||
screen:attach()
|
||||
|
||||
command('cd ' .. nvim_dir)
|
||||
meths.set_option_value('shell', './shell-test', {})
|
||||
meths.set_option_value('shellcmdflag', 'REP 20', {})
|
||||
meths.set_option_value('shellxquote', '', {}) -- win: avoid extra quotes
|
||||
meths.nvim_set_option_value('shell', './shell-test', {})
|
||||
meths.nvim_set_option_value('shellcmdflag', 'REP 20', {})
|
||||
meths.nvim_set_option_value('shellxquote', '', {}) -- win: avoid extra quotes
|
||||
|
||||
-- display a page and go back, results in exactly the same view
|
||||
feed([[:4 verbose echo system('foo')<CR>]])
|
||||
|
@@ -180,12 +180,12 @@ describe('prompt buffer', function()
|
||||
call timer_start(0, {-> nvim_buf_set_lines(s:buf, -1, -1, 0, ['walrus'])})
|
||||
]]
|
||||
poke_eventloop()
|
||||
eq({ mode = 'i', blocking = false }, meths.get_mode())
|
||||
eq({ mode = 'i', blocking = false }, meths.nvim_get_mode())
|
||||
end)
|
||||
|
||||
-- oldtest: Test_prompt_appending_while_hidden()
|
||||
it('accessing hidden prompt buffer does not start insert mode', function()
|
||||
local prev_win = meths.get_current_win()
|
||||
local prev_win = meths.nvim_get_current_win()
|
||||
source([[
|
||||
new prompt
|
||||
set buftype=prompt
|
||||
@@ -205,16 +205,16 @@ describe('prompt buffer', function()
|
||||
endfunc
|
||||
]])
|
||||
feed('asomething<CR>')
|
||||
eq('something', meths.get_var('entered'))
|
||||
neq(prev_win, meths.get_current_win())
|
||||
eq('something', meths.nvim_get_var('entered'))
|
||||
neq(prev_win, meths.nvim_get_current_win())
|
||||
feed('exit<CR>')
|
||||
eq(prev_win, meths.get_current_win())
|
||||
eq({ mode = 'n', blocking = false }, meths.get_mode())
|
||||
eq(prev_win, meths.nvim_get_current_win())
|
||||
eq({ mode = 'n', blocking = false }, meths.nvim_get_mode())
|
||||
command('call DoAppend()')
|
||||
eq({ mode = 'n', blocking = false }, meths.get_mode())
|
||||
eq({ mode = 'n', blocking = false }, meths.nvim_get_mode())
|
||||
feed('i')
|
||||
eq({ mode = 'i', blocking = false }, meths.get_mode())
|
||||
eq({ mode = 'i', blocking = false }, meths.nvim_get_mode())
|
||||
command('call DoAppend()')
|
||||
eq({ mode = 'i', blocking = false }, meths.get_mode())
|
||||
eq({ mode = 'i', blocking = false }, meths.nvim_get_mode())
|
||||
end)
|
||||
end)
|
||||
|
@@ -16,7 +16,7 @@ end
|
||||
describe('put', function()
|
||||
before_each(clear)
|
||||
after_each(function()
|
||||
eq({}, meths.get_vvar('errors'))
|
||||
eq({}, meths.nvim_get_vvar('errors'))
|
||||
end)
|
||||
|
||||
it('very large count 64-bit', function()
|
||||
|
@@ -57,6 +57,6 @@ describe('undolevel', function()
|
||||
call Test_global_local_undolevels()
|
||||
]])
|
||||
|
||||
eq({}, nvim.get_vvar('errors'))
|
||||
eq({}, nvim.nvim_get_vvar('errors'))
|
||||
end)
|
||||
end)
|
||||
|
@@ -12,7 +12,7 @@ describe('Vim script', function()
|
||||
it('Error when if/for/while/try/function is nested too deep', function()
|
||||
local screen = Screen.new(80, 24)
|
||||
screen:attach()
|
||||
meths.set_option_value('laststatus', 2, {})
|
||||
meths.nvim_set_option_value('laststatus', 2, {})
|
||||
exec([[
|
||||
" Deep nesting of if ... endif
|
||||
func Test1()
|
||||
|
@@ -54,9 +54,9 @@ end)
|
||||
describe('lua buffer event callbacks: on_lines', function()
|
||||
local function setup_eventcheck(verify, utf_sizes, lines)
|
||||
local lastsize
|
||||
meths.buf_set_lines(0, 0, -1, true, lines)
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, lines)
|
||||
if verify then
|
||||
lastsize = meths.buf_get_offset(0, meths.buf_line_count(0))
|
||||
lastsize = meths.nvim_buf_get_offset(0, meths.nvim_buf_line_count(0))
|
||||
end
|
||||
exec_lua('return test_register(...)', 0, 'on_lines', 'test1', false, utf_sizes)
|
||||
local verify_name = 'test1'
|
||||
@@ -76,8 +76,9 @@ describe('lua buffer event callbacks: on_lines', function()
|
||||
for _, event in ipairs(events) do
|
||||
if event[1] == verify_name and event[2] == 'lines' then
|
||||
local startline, endline = event[5], event[7]
|
||||
local newrange = meths.buf_get_offset(0, endline) - meths.buf_get_offset(0, startline)
|
||||
local newsize = meths.buf_get_offset(0, meths.buf_line_count(0))
|
||||
local newrange = meths.nvim_buf_get_offset(0, endline)
|
||||
- meths.nvim_buf_get_offset(0, startline)
|
||||
local newsize = meths.nvim_buf_get_offset(0, meths.nvim_buf_line_count(0))
|
||||
local oldrange = newrange + lastsize - newsize
|
||||
eq(oldrange, event[8])
|
||||
lastsize = newsize
|
||||
@@ -97,13 +98,13 @@ describe('lua buffer event callbacks: on_lines', function()
|
||||
local function check(verify, utf_sizes)
|
||||
local check_events, verify_name = setup_eventcheck(verify, utf_sizes, origlines)
|
||||
|
||||
local tick = meths.buf_get_changedtick(0)
|
||||
local tick = meths.nvim_buf_get_changedtick(0)
|
||||
command('set autoindent')
|
||||
command('normal! GyyggP')
|
||||
tick = tick + 1
|
||||
check_events { { 'test1', 'lines', 1, tick, 0, 0, 1, 0 } }
|
||||
|
||||
meths.buf_set_lines(0, 3, 5, true, { 'changed line' })
|
||||
meths.nvim_buf_set_lines(0, 3, 5, true, { 'changed line' })
|
||||
tick = tick + 1
|
||||
check_events { { 'test1', 'lines', 1, tick, 3, 5, 4, 32 } }
|
||||
|
||||
@@ -141,7 +142,7 @@ describe('lua buffer event callbacks: on_lines', function()
|
||||
-- simulate next callback returning true
|
||||
exec_lua("test_unreg = 'test1'")
|
||||
|
||||
meths.buf_set_lines(0, 6, 7, true, { 'x1', 'x2', 'x3' })
|
||||
meths.nvim_buf_set_lines(0, 6, 7, true, { 'x1', 'x2', 'x3' })
|
||||
tick = tick + 1
|
||||
|
||||
-- plugins can opt in to receive changedtick events, or choose
|
||||
@@ -153,7 +154,7 @@ describe('lua buffer event callbacks: on_lines', function()
|
||||
|
||||
verify_name 'test2'
|
||||
|
||||
meths.buf_set_lines(0, 1, 1, true, { 'added' })
|
||||
meths.nvim_buf_set_lines(0, 1, 1, true, { 'added' })
|
||||
tick = tick + 1
|
||||
check_events { { 'test2', 'lines', 1, tick, 1, 1, 2, 0 } }
|
||||
|
||||
@@ -205,7 +206,7 @@ describe('lua buffer event callbacks: on_lines', function()
|
||||
}
|
||||
local check_events, verify_name = setup_eventcheck(verify, true, unicode_text)
|
||||
|
||||
local tick = meths.buf_get_changedtick(0)
|
||||
local tick = meths.nvim_buf_get_changedtick(0)
|
||||
|
||||
feed('ggdd')
|
||||
tick = tick + 1
|
||||
@@ -253,7 +254,7 @@ describe('lua buffer event callbacks: on_lines', function()
|
||||
end)
|
||||
|
||||
it('has valid cursor position while shifting', function()
|
||||
meths.buf_set_lines(0, 0, -1, true, { 'line1' })
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { 'line1' })
|
||||
exec_lua([[
|
||||
vim.api.nvim_buf_attach(0, false, {
|
||||
on_lines = function()
|
||||
@@ -262,15 +263,15 @@ describe('lua buffer event callbacks: on_lines', function()
|
||||
})
|
||||
]])
|
||||
feed('>>')
|
||||
eq(1, meths.get_var('listener_cursor_line'))
|
||||
eq(1, meths.nvim_get_var('listener_cursor_line'))
|
||||
end)
|
||||
|
||||
it('has valid cursor position while deleting lines', function()
|
||||
meths.buf_set_lines(0, 0, -1, true, { 'line_1', 'line_2', 'line_3', 'line_4' })
|
||||
meths.win_set_cursor(0, { 2, 0 })
|
||||
eq(2, meths.win_get_cursor(0)[1])
|
||||
meths.buf_set_lines(0, 0, -1, true, { 'line_1', 'line_2', 'line_3' })
|
||||
eq(2, meths.win_get_cursor(0)[1])
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { 'line_1', 'line_2', 'line_3', 'line_4' })
|
||||
meths.nvim_win_set_cursor(0, { 2, 0 })
|
||||
eq(2, meths.nvim_win_get_cursor(0)[1])
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { 'line_1', 'line_2', 'line_3' })
|
||||
eq(2, meths.nvim_win_get_cursor(0)[1])
|
||||
end)
|
||||
|
||||
it('does not SEGFAULT when accessing window buffer info in on_detach #14998', function()
|
||||
@@ -298,7 +299,7 @@ describe('lua buffer event callbacks: on_lines', function()
|
||||
end)
|
||||
|
||||
it('#12718 lnume', function()
|
||||
meths.buf_set_lines(0, 0, -1, true, { '1', '2', '3' })
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { '1', '2', '3' })
|
||||
exec_lua([[
|
||||
vim.api.nvim_buf_attach(0, false, {
|
||||
on_lines = function(...)
|
||||
@@ -311,15 +312,15 @@ describe('lua buffer event callbacks: on_lines', function()
|
||||
feed('G0')
|
||||
feed('p')
|
||||
-- Is the last arg old_byte_size correct? Doesn't matter for this PR
|
||||
eq(meths.get_var('linesev'), { 'lines', 1, 4, 2, 3, 5, 4 })
|
||||
eq(meths.nvim_get_var('linesev'), { 'lines', 1, 4, 2, 3, 5, 4 })
|
||||
|
||||
feed('2G0')
|
||||
feed('p')
|
||||
eq(meths.get_var('linesev'), { 'lines', 1, 5, 1, 4, 4, 8 })
|
||||
eq(meths.nvim_get_var('linesev'), { 'lines', 1, 5, 1, 4, 4, 8 })
|
||||
|
||||
feed('1G0')
|
||||
feed('P')
|
||||
eq(meths.get_var('linesev'), { 'lines', 1, 6, 0, 3, 3, 9 })
|
||||
eq(meths.nvim_get_var('linesev'), { 'lines', 1, 6, 0, 3, 3, 9 })
|
||||
end)
|
||||
|
||||
it(
|
||||
@@ -333,7 +334,7 @@ describe('lua buffer event callbacks: on_lines', function()
|
||||
})
|
||||
]])
|
||||
feed('itest123<Esc><C-A>')
|
||||
eq('test124', meths.get_current_line())
|
||||
eq('test124', meths.nvim_get_current_line())
|
||||
end
|
||||
)
|
||||
end)
|
||||
@@ -345,19 +346,19 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
-- test both ways.
|
||||
local function setup_eventcheck(verify, start_txt)
|
||||
if start_txt then
|
||||
meths.buf_set_lines(0, 0, -1, true, start_txt)
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, start_txt)
|
||||
else
|
||||
start_txt = meths.buf_get_lines(0, 0, -1, true)
|
||||
start_txt = meths.nvim_buf_get_lines(0, 0, -1, true)
|
||||
end
|
||||
local shadowbytes = table.concat(start_txt, '\n') .. '\n'
|
||||
-- TODO: while we are brewing the real strong coffee,
|
||||
-- verify should check buf_get_offset after every check_events
|
||||
if verify then
|
||||
local len = meths.buf_get_offset(0, meths.buf_line_count(0))
|
||||
local len = meths.nvim_buf_get_offset(0, meths.nvim_buf_line_count(0))
|
||||
eq(len == -1 and 1 or len, string.len(shadowbytes))
|
||||
end
|
||||
exec_lua('return test_register(...)', 0, 'on_bytes', 'test1', false, false, true)
|
||||
meths.buf_get_changedtick(0)
|
||||
meths.nvim_buf_get_changedtick(0)
|
||||
|
||||
local verify_name = 'test1'
|
||||
local function check_events(expected)
|
||||
@@ -384,11 +385,11 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
local after = string.sub(shadowbytes, start_byte + old_byte + 1)
|
||||
shadowbytes = before .. unknown .. after
|
||||
elseif event[1] == verify_name and event[2] == 'reload' then
|
||||
shadowbytes = table.concat(meths.buf_get_lines(0, 0, -1, true), '\n') .. '\n'
|
||||
shadowbytes = table.concat(meths.nvim_buf_get_lines(0, 0, -1, true), '\n') .. '\n'
|
||||
end
|
||||
end
|
||||
|
||||
local text = meths.buf_get_lines(0, 0, -1, true)
|
||||
local text = meths.nvim_buf_get_lines(0, 0, -1, true)
|
||||
local bytes = table.concat(text, '\n') .. '\n'
|
||||
|
||||
eq(
|
||||
@@ -425,7 +426,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
|
||||
it('opening lines', function()
|
||||
local check_events = setup_eventcheck(verify, origlines)
|
||||
-- meths.set_option_value('autoindent', true, {})
|
||||
-- meths.nvim_set_option_value('autoindent', true, {})
|
||||
feed 'Go'
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 3, 7, 0, 114, 0, 0, 0, 1, 0, 1 },
|
||||
@@ -438,7 +439,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
|
||||
it('opening lines with autoindent', function()
|
||||
local check_events = setup_eventcheck(verify, origlines)
|
||||
meths.set_option_value('autoindent', true, {})
|
||||
meths.nvim_set_option_value('autoindent', true, {})
|
||||
feed 'Go'
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 3, 7, 0, 114, 0, 0, 0, 1, 0, 5 },
|
||||
@@ -463,7 +464,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
{ 'test1', 'bytes', 1, 5, 2, 0, 20, 0, 15, 15, 0, 3, 3 },
|
||||
}
|
||||
|
||||
local buf_len = meths.buf_line_count(0)
|
||||
local buf_len = meths.nvim_buf_line_count(0)
|
||||
funcs.setline(buf_len + 1, 'baz')
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 6, 7, 0, 90, 0, 0, 0, 1, 0, 4 },
|
||||
@@ -472,8 +473,8 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
|
||||
it('continuing comments with fo=or', function()
|
||||
local check_events = setup_eventcheck(verify, { '// Comment' })
|
||||
meths.set_option_value('formatoptions', 'ro', {})
|
||||
meths.set_option_value('filetype', 'c', {})
|
||||
meths.nvim_set_option_value('formatoptions', 'ro', {})
|
||||
meths.nvim_set_option_value('filetype', 'c', {})
|
||||
feed 'A<CR>'
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 4, 0, 10, 10, 0, 0, 0, 1, 3, 4 },
|
||||
@@ -611,7 +612,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
|
||||
it('inccomand=nosplit and substitute', function()
|
||||
local check_events = setup_eventcheck(verify, { 'abcde', '12345' })
|
||||
meths.set_option_value('inccommand', 'nosplit', {})
|
||||
meths.nvim_set_option_value('inccommand', 'nosplit', {})
|
||||
|
||||
-- linewise substitute
|
||||
feed(':%s/bcd/')
|
||||
@@ -696,41 +697,41 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
|
||||
it('nvim_buf_set_text insert', function()
|
||||
local check_events = setup_eventcheck(verify, { 'bastext' })
|
||||
meths.buf_set_text(0, 0, 3, 0, 3, { 'fiol', 'kontra' })
|
||||
meths.nvim_buf_set_text(0, 0, 3, 0, 3, { 'fiol', 'kontra' })
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 3, 0, 3, 3, 0, 0, 0, 1, 6, 11 },
|
||||
}
|
||||
|
||||
meths.buf_set_text(0, 1, 6, 1, 6, { 'punkt', 'syntgitarr', 'övnings' })
|
||||
meths.nvim_buf_set_text(0, 1, 6, 1, 6, { 'punkt', 'syntgitarr', 'övnings' })
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 4, 1, 6, 14, 0, 0, 0, 2, 8, 25 },
|
||||
}
|
||||
|
||||
eq(
|
||||
{ 'basfiol', 'kontrapunkt', 'syntgitarr', 'övningstext' },
|
||||
meths.buf_get_lines(0, 0, -1, true)
|
||||
meths.nvim_buf_get_lines(0, 0, -1, true)
|
||||
)
|
||||
end)
|
||||
|
||||
it('nvim_buf_set_text replace', function()
|
||||
local check_events = setup_eventcheck(verify, origlines)
|
||||
|
||||
meths.buf_set_text(0, 2, 3, 2, 8, { 'very text' })
|
||||
meths.nvim_buf_set_text(0, 2, 3, 2, 8, { 'very text' })
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 3, 2, 3, 35, 0, 5, 5, 0, 9, 9 },
|
||||
}
|
||||
|
||||
meths.buf_set_text(0, 3, 5, 3, 7, { ' splitty', 'line ' })
|
||||
meths.nvim_buf_set_text(0, 3, 5, 3, 7, { ' splitty', 'line ' })
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 4, 3, 5, 57, 0, 2, 2, 1, 5, 14 },
|
||||
}
|
||||
|
||||
meths.buf_set_text(0, 0, 8, 1, 2, { 'JOINY' })
|
||||
meths.nvim_buf_set_text(0, 0, 8, 1, 2, { 'JOINY' })
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 5, 0, 8, 8, 1, 2, 10, 0, 5, 5 },
|
||||
}
|
||||
|
||||
meths.buf_set_text(0, 4, 0, 6, 0, { 'was 5,6', '' })
|
||||
meths.nvim_buf_set_text(0, 4, 0, 6, 0, { 'was 5,6', '' })
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 6, 4, 0, 75, 2, 0, 32, 1, 0, 8 },
|
||||
}
|
||||
@@ -742,20 +743,20 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
'line l line 4',
|
||||
'was 5,6',
|
||||
' indented line',
|
||||
}, meths.buf_get_lines(0, 0, -1, true))
|
||||
}, meths.nvim_buf_get_lines(0, 0, -1, true))
|
||||
end)
|
||||
|
||||
it('nvim_buf_set_text delete', function()
|
||||
local check_events = setup_eventcheck(verify, origlines)
|
||||
|
||||
-- really {""} but accepts {} as a shorthand
|
||||
meths.buf_set_text(0, 0, 0, 1, 0, {})
|
||||
meths.nvim_buf_set_text(0, 0, 0, 1, 0, {})
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 3, 0, 0, 0, 1, 0, 16, 0, 0, 0 },
|
||||
}
|
||||
|
||||
-- TODO(bfredl): this works but is not as convenient as set_lines
|
||||
meths.buf_set_text(0, 4, 15, 5, 17, { '' })
|
||||
meths.nvim_buf_set_text(0, 4, 15, 5, 17, { '' })
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 4, 4, 15, 79, 1, 17, 18, 0, 0, 0 },
|
||||
}
|
||||
@@ -765,7 +766,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
'original line 4',
|
||||
'original line 5',
|
||||
'original line 6',
|
||||
}, meths.buf_get_lines(0, 0, -1, true))
|
||||
}, meths.nvim_buf_get_lines(0, 0, -1, true))
|
||||
end)
|
||||
|
||||
it('checktime autoread', function()
|
||||
@@ -800,7 +801,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
{ 'test1', 'bytes', 1, 5, 0, 10, 10, 1, 0, 1, 0, 1, 1 },
|
||||
}
|
||||
|
||||
eq({ 'new line 1 new line 2', 'new line 3' }, meths.buf_get_lines(0, 0, -1, true))
|
||||
eq({ 'new line 1 new line 2', 'new line 3' }, meths.nvim_buf_get_lines(0, 0, -1, true))
|
||||
|
||||
-- check we can undo and redo a reload event.
|
||||
feed 'u'
|
||||
@@ -924,19 +925,19 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
command('set undodir=. | set undofile')
|
||||
|
||||
local ns = helpers.request('nvim_create_namespace', 'ns1')
|
||||
meths.buf_set_extmark(0, ns, 0, 0, {})
|
||||
meths.nvim_buf_set_extmark(0, ns, 0, 0, {})
|
||||
|
||||
eq({ '12345', 'hello world' }, meths.buf_get_lines(0, 0, -1, true))
|
||||
eq({ '12345', 'hello world' }, meths.nvim_buf_get_lines(0, 0, -1, true))
|
||||
|
||||
-- splice
|
||||
feed('gg0d2l')
|
||||
|
||||
eq({ '345', 'hello world' }, meths.buf_get_lines(0, 0, -1, true))
|
||||
eq({ '345', 'hello world' }, meths.nvim_buf_get_lines(0, 0, -1, true))
|
||||
|
||||
-- move
|
||||
command('.m+1')
|
||||
|
||||
eq({ 'hello world', '345' }, meths.buf_get_lines(0, 0, -1, true))
|
||||
eq({ 'hello world', '345' }, meths.nvim_buf_get_lines(0, 0, -1, true))
|
||||
|
||||
-- reload undofile and undo changes
|
||||
command('w')
|
||||
@@ -949,7 +950,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
local check_events = setup_eventcheck(verify, nil)
|
||||
|
||||
feed('u')
|
||||
eq({ '345', 'hello world' }, meths.buf_get_lines(0, 0, -1, true))
|
||||
eq({ '345', 'hello world' }, meths.nvim_buf_get_lines(0, 0, -1, true))
|
||||
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 2, 6, 1, 0, 12, 1, 0, 4, 0, 0, 0 },
|
||||
@@ -957,7 +958,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
}
|
||||
|
||||
feed('u')
|
||||
eq({ '12345', 'hello world' }, meths.buf_get_lines(0, 0, -1, true))
|
||||
eq({ '12345', 'hello world' }, meths.nvim_buf_get_lines(0, 0, -1, true))
|
||||
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 2, 8, 0, 0, 0, 0, 0, 0, 0, 2, 2 },
|
||||
@@ -968,7 +969,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
it('blockwise paste with uneven line lengths', function()
|
||||
local check_events = setup_eventcheck(verify, { 'aaaa', 'aaa', 'aaa' })
|
||||
|
||||
-- eq({}, meths.buf_get_lines(0, 0, -1, true))
|
||||
-- eq({}, meths.nvim_buf_get_lines(0, 0, -1, true))
|
||||
feed('gg0<c-v>jj$d')
|
||||
|
||||
check_events {
|
||||
@@ -1022,7 +1023,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
it('virtual edit', function()
|
||||
local check_events = setup_eventcheck(verify, { '', ' ' })
|
||||
|
||||
meths.set_option_value('virtualedit', 'all', {})
|
||||
meths.nvim_set_option_value('virtualedit', 'all', {})
|
||||
|
||||
feed [[<Right><Right>iab<ESC>]]
|
||||
|
||||
@@ -1076,20 +1077,20 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
local check_events = setup_eventcheck(verify, { 'AAA', 'BBB' })
|
||||
|
||||
-- delete
|
||||
meths.buf_set_lines(0, 0, 1, true, {})
|
||||
meths.nvim_buf_set_lines(0, 0, 1, true, {})
|
||||
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 3, 0, 0, 0, 1, 0, 4, 0, 0, 0 },
|
||||
}
|
||||
|
||||
-- add
|
||||
meths.buf_set_lines(0, 0, 0, true, { 'asdf' })
|
||||
meths.nvim_buf_set_lines(0, 0, 0, true, { 'asdf' })
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 4, 0, 0, 0, 0, 0, 0, 1, 0, 5 },
|
||||
}
|
||||
|
||||
-- replace
|
||||
meths.buf_set_lines(0, 0, 1, true, { 'asdf', 'fdsa' })
|
||||
meths.nvim_buf_set_lines(0, 0, 1, true, { 'asdf', 'fdsa' })
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 5, 0, 0, 0, 1, 0, 5, 2, 0, 10 },
|
||||
}
|
||||
@@ -1201,13 +1202,13 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
command('diffthis')
|
||||
command('new')
|
||||
command('diffthis')
|
||||
meths.buf_set_lines(0, 0, -1, true, { 'AAA', 'BBB' })
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { 'AAA', 'BBB' })
|
||||
feed('G')
|
||||
command('diffput')
|
||||
check_events {
|
||||
{ 'test1', 'bytes', 1, 3, 1, 0, 4, 0, 0, 0, 1, 0, 4 },
|
||||
}
|
||||
meths.buf_set_lines(0, 0, -1, true, { 'AAA', 'CCC' })
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { 'AAA', 'CCC' })
|
||||
feed('<C-w>pG')
|
||||
command('diffget')
|
||||
check_events {
|
||||
@@ -1249,7 +1250,7 @@ describe('lua: nvim_buf_attach on_bytes', function()
|
||||
{ 'test1', 'bytes', 1, 5, 3, 0, 10, 1, 0, 1, 0, 0, 0 },
|
||||
}
|
||||
|
||||
eq('CCC|BBBB|', table.concat(meths.buf_get_lines(0, 0, -1, true), '|'))
|
||||
eq('CCC|BBBB|', table.concat(meths.nvim_buf_get_lines(0, 0, -1, true), '|'))
|
||||
end)
|
||||
end
|
||||
|
||||
|
@@ -76,7 +76,7 @@ describe(':lua command', function()
|
||||
it('accepts embedded NLs without heredoc', function()
|
||||
-- Such code is usually used for `:execute 'lua' {generated_string}`:
|
||||
-- heredocs do not work in this case.
|
||||
meths.command([[
|
||||
meths.nvim_command([[
|
||||
lua
|
||||
vim.api.nvim_buf_set_lines(1, 1, 2, false, {"ETTS"})
|
||||
vim.api.nvim_buf_set_lines(1, 2, 3, false, {"TTSE"})
|
||||
|
@@ -165,6 +165,6 @@ describe('filetype.lua', function()
|
||||
clear({
|
||||
args = { '--clean', '--cmd', 'autocmd BufRead *.md set filetype=notmarkdown', 'README.md' },
|
||||
})
|
||||
eq('notmarkdown', meths.get_option_value('filetype', {}))
|
||||
eq('notmarkdown', meths.nvim_get_option_value('filetype', {}))
|
||||
end)
|
||||
end)
|
||||
|
@@ -48,13 +48,13 @@ describe('vim.uv', function()
|
||||
end)()
|
||||
]]
|
||||
|
||||
eq(0, meths.get_var('coroutine_cnt'))
|
||||
eq(0, meths.nvim_get_var('coroutine_cnt'))
|
||||
exec_lua(code)
|
||||
retry(2, nil, function()
|
||||
sleep(50)
|
||||
eq(2, meths.get_var('coroutine_cnt'))
|
||||
eq(2, meths.nvim_get_var('coroutine_cnt'))
|
||||
end)
|
||||
eq(3, meths.get_var('coroutine_cnt_1'))
|
||||
eq(3, meths.nvim_get_var('coroutine_cnt_1'))
|
||||
end)
|
||||
|
||||
it('is API safe', function()
|
||||
|
@@ -67,17 +67,17 @@ describe('luaeval()', function()
|
||||
describe('strings with NULs', function()
|
||||
it('are successfully converted to blobs', function()
|
||||
command([[let s = luaeval('"\0"')]])
|
||||
eq('\000', meths.get_var('s'))
|
||||
eq('\000', meths.nvim_get_var('s'))
|
||||
end)
|
||||
it('are successfully converted to special dictionaries in table keys', function()
|
||||
command([[let d = luaeval('{["\0"]=1}')]])
|
||||
eq({_TYPE={}, _VAL={{{_TYPE={}, _VAL={'\n'}}, 1}}}, meths.get_var('d'))
|
||||
eq({_TYPE={}, _VAL={{{_TYPE={}, _VAL={'\n'}}, 1}}}, meths.nvim_get_var('d'))
|
||||
eq(1, funcs.eval('d._TYPE is v:msgpack_types.map'))
|
||||
eq(1, funcs.eval('d._VAL[0][0]._TYPE is v:msgpack_types.string'))
|
||||
end)
|
||||
it('are successfully converted to blobs from a list', function()
|
||||
command([[let l = luaeval('{"abc", "a\0b", "c\0d", "def"}')]])
|
||||
eq({'abc', 'a\000b', 'c\000d', 'def'}, meths.get_var('l'))
|
||||
eq({'abc', 'a\000b', 'c\000d', 'def'}, meths.nvim_get_var('l'))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -411,14 +411,14 @@ describe('luaeval()', function()
|
||||
end)
|
||||
|
||||
it('correctly converts self-containing containers', function()
|
||||
meths.set_var('l', {})
|
||||
meths.nvim_set_var('l', {})
|
||||
eval('add(l, l)')
|
||||
eq(true, eval('luaeval("_A == _A[1]", l)'))
|
||||
eq(true, eval('luaeval("_A[1] == _A[1][1]", [l])'))
|
||||
eq(true, eval('luaeval("_A.d == _A.d[1]", {"d": l})'))
|
||||
eq(true, eval('luaeval("_A ~= _A[1]", [l])'))
|
||||
|
||||
meths.set_var('d', {foo=42})
|
||||
meths.nvim_set_var('d', {foo=42})
|
||||
eval('extend(d, {"d": d})')
|
||||
eq(true, eval('luaeval("_A == _A.d", d)'))
|
||||
eq(true, eval('luaeval("_A[1] == _A[1].d", [d])'))
|
||||
@@ -478,7 +478,7 @@ describe('v:lua', function()
|
||||
eq(7, eval('v:lua.foo(3,4,v:null)'))
|
||||
eq(true, exec_lua([[return _G.val == vim.NIL]]))
|
||||
eq(NIL, eval('v:lua.mymod.noisy("eval")'))
|
||||
eq("hey eval", meths.get_current_line())
|
||||
eq("hey eval", meths.nvim_get_current_line())
|
||||
eq("string: abc", eval('v:lua.mymod.whatis(0z616263)'))
|
||||
eq("string: ", eval('v:lua.mymod.whatis(v:_null_blob)'))
|
||||
|
||||
@@ -494,7 +494,7 @@ describe('v:lua', function()
|
||||
eq("boop", exec_lua([[return _G.val]]))
|
||||
|
||||
eq(NIL, eval('"there"->v:lua.mymod.noisy()'))
|
||||
eq("hey there", meths.get_current_line())
|
||||
eq("hey there", meths.nvim_get_current_line())
|
||||
eq({5, 10, 15, 20}, eval('[[1], [2, 3], [4]]->v:lua.vim.tbl_flatten()->map({_, v -> v * 5})'))
|
||||
|
||||
eq("Vim:E5108: Error executing lua [string \"<nvim>\"]:0: attempt to call global 'nonexistent' (a nil value)",
|
||||
@@ -503,7 +503,7 @@ describe('v:lua', function()
|
||||
|
||||
it('works in :call', function()
|
||||
command(":call v:lua.mymod.noisy('command')")
|
||||
eq("hey command", meths.get_current_line())
|
||||
eq("hey command", meths.nvim_get_current_line())
|
||||
eq("Vim(call):E5108: Error executing lua [string \"<nvim>\"]:0: attempt to call global 'nonexistent' (a nil value)",
|
||||
pcall_err(command, 'call v:lua.mymod.crashy()'))
|
||||
end)
|
||||
@@ -518,7 +518,7 @@ describe('v:lua', function()
|
||||
[5] = {bold = true, foreground = Screen.colors.SeaGreen4},
|
||||
})
|
||||
screen:attach()
|
||||
meths.set_option_value('omnifunc', 'v:lua.mymod.omni', {})
|
||||
meths.nvim_set_option_value('omnifunc', 'v:lua.mymod.omni', {})
|
||||
feed('isome st<c-x><c-o>')
|
||||
screen:expect{grid=[[
|
||||
some stuff^ |
|
||||
@@ -528,9 +528,9 @@ describe('v:lua', function()
|
||||
{1:~ }|*3
|
||||
{4:-- Omni completion (^O^N^P) }{5:match 1 of 3} |
|
||||
]]}
|
||||
meths.set_option_value('operatorfunc', 'v:lua.mymod.noisy', {})
|
||||
meths.nvim_set_option_value('operatorfunc', 'v:lua.mymod.noisy', {})
|
||||
feed('<Esc>g@g@')
|
||||
eq("hey line", meths.get_current_line())
|
||||
eq("hey line", meths.nvim_get_current_line())
|
||||
end)
|
||||
|
||||
it('supports packages', function()
|
||||
|
@@ -113,7 +113,7 @@ describe('print', function()
|
||||
eq('Vim(lua):E5108: Error executing lua [NULL]', pcall_err(command, 'lua bad_custom_error()'))
|
||||
end)
|
||||
it('prints strings with NULs and NLs correctly', function()
|
||||
meths.set_option_value('more', true, {})
|
||||
meths.nvim_set_option_value('more', true, {})
|
||||
eq(
|
||||
'abc ^@ def\nghi^@^@^@jkl\nTEST\n\n\nT\n',
|
||||
exec_capture([[lua print("abc \0 def\nghi\0\0\0jkl\nTEST\n\n\nT\n")]])
|
||||
@@ -341,7 +341,7 @@ describe('os.getenv', function()
|
||||
end)
|
||||
it('returns env var set by let', function()
|
||||
local value = 'foo'
|
||||
meths.command('let $XTEST_1 = "' .. value .. '"')
|
||||
meths.nvim_command('let $XTEST_1 = "' .. value .. '"')
|
||||
eq(value, funcs.luaeval('os.getenv("XTEST_1")'))
|
||||
end)
|
||||
end)
|
||||
|
@@ -170,7 +170,7 @@ describe('vim.secure', function()
|
||||
|
||||
-- Cannot write file
|
||||
pcall_err(command, 'write')
|
||||
eq(true, meths.get_option_value('readonly', {}))
|
||||
eq(true, meths.nvim_get_option_value('readonly', {}))
|
||||
end)
|
||||
end)
|
||||
|
||||
|
@@ -1205,7 +1205,7 @@ describe('lua stdlib', function()
|
||||
chan = vim.fn.jobstart({'cat'}, {rpc=true})
|
||||
vim.rpcrequest(chan, 'nvim_set_current_line', 'meow')
|
||||
]])
|
||||
eq('meow', meths.get_current_line())
|
||||
eq('meow', meths.nvim_get_current_line())
|
||||
command("let x = [3, 'aa', v:true, v:null]")
|
||||
eq(
|
||||
true,
|
||||
@@ -1250,7 +1250,7 @@ describe('lua stdlib', function()
|
||||
]])
|
||||
)
|
||||
retry(10, nil, function()
|
||||
eq('foo', meths.get_current_line())
|
||||
eq('foo', meths.nvim_get_current_line())
|
||||
end)
|
||||
|
||||
local screen = Screen.new(50, 7)
|
||||
@@ -1282,7 +1282,7 @@ describe('lua stdlib', function()
|
||||
]],
|
||||
}
|
||||
feed('<cr>')
|
||||
eq({ 3, NIL }, meths.get_var('yy'))
|
||||
eq({ 3, NIL }, meths.nvim_get_var('yy'))
|
||||
|
||||
exec_lua([[timer:close()]])
|
||||
end)
|
||||
@@ -1845,18 +1845,18 @@ describe('lua stdlib', function()
|
||||
eq({}, eval('v:oldfiles'))
|
||||
|
||||
feed('i foo foo foo<Esc>0/foo<CR>')
|
||||
eq({ 1, 1 }, meths.win_get_cursor(0))
|
||||
eq({ 1, 1 }, meths.nvim_win_get_cursor(0))
|
||||
eq(1, eval('v:searchforward'))
|
||||
feed('n')
|
||||
eq({ 1, 5 }, meths.win_get_cursor(0))
|
||||
eq({ 1, 5 }, meths.nvim_win_get_cursor(0))
|
||||
exec_lua([[vim.v.searchforward = 0]])
|
||||
eq(0, eval('v:searchforward'))
|
||||
feed('n')
|
||||
eq({ 1, 1 }, meths.win_get_cursor(0))
|
||||
eq({ 1, 1 }, meths.nvim_win_get_cursor(0))
|
||||
exec_lua([[vim.v.searchforward = 1]])
|
||||
eq(1, eval('v:searchforward'))
|
||||
feed('n')
|
||||
eq({ 1, 5 }, meths.win_get_cursor(0))
|
||||
eq({ 1, 5 }, meths.nvim_win_get_cursor(0))
|
||||
|
||||
local screen = Screen.new(60, 3)
|
||||
screen:set_default_attr_ids({
|
||||
@@ -2886,7 +2886,7 @@ describe('lua stdlib', function()
|
||||
eq({}, exec_lua [[return {re1:match_str("x ac")}]])
|
||||
eq({ 3, 7 }, exec_lua [[return {re1:match_str("ac abbc")}]])
|
||||
|
||||
meths.buf_set_lines(0, 0, -1, true, { 'yy', 'abc abbc' })
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { 'yy', 'abc abbc' })
|
||||
eq({}, exec_lua [[return {re1:match_line(0, 0)}]])
|
||||
eq({ 0, 3 }, exec_lua [[return {re1:match_line(0, 1)}]])
|
||||
eq({ 3, 7 }, exec_lua [[return {re1:match_line(0, 1, 1)}]])
|
||||
@@ -2970,10 +2970,10 @@ describe('lua stdlib', function()
|
||||
|
||||
it('allows removing on_key listeners', function()
|
||||
-- Create some unused namespaces
|
||||
meths.create_namespace('unused1')
|
||||
meths.create_namespace('unused2')
|
||||
meths.create_namespace('unused3')
|
||||
meths.create_namespace('unused4')
|
||||
meths.nvim_create_namespace('unused1')
|
||||
meths.nvim_create_namespace('unused2')
|
||||
meths.nvim_create_namespace('unused3')
|
||||
meths.nvim_create_namespace('unused4')
|
||||
|
||||
insert([[hello world]])
|
||||
|
||||
@@ -3303,8 +3303,8 @@ describe('lua stdlib', function()
|
||||
|
||||
describe('returns -2 when interrupted', function()
|
||||
before_each(function()
|
||||
local channel = meths.get_api_info()[1]
|
||||
meths.set_var('channel', channel)
|
||||
local channel = meths.nvim_get_api_info()[1]
|
||||
meths.nvim_set_var('channel', channel)
|
||||
end)
|
||||
|
||||
it('without callback', function()
|
||||
@@ -3408,14 +3408,14 @@ describe('lua stdlib', function()
|
||||
|
||||
describe('vim.api.nvim_buf_call', function()
|
||||
it('can access buf options', function()
|
||||
local buf1 = meths.get_current_buf().id
|
||||
local buf1 = meths.nvim_get_current_buf().id
|
||||
local buf2 = exec_lua [[
|
||||
buf2 = vim.api.nvim_create_buf(false, true)
|
||||
return buf2
|
||||
]]
|
||||
|
||||
eq(false, meths.get_option_value('autoindent', { buf = buf1 }))
|
||||
eq(false, meths.get_option_value('autoindent', { buf = buf2 }))
|
||||
eq(false, meths.nvim_get_option_value('autoindent', { buf = buf1 }))
|
||||
eq(false, meths.nvim_get_option_value('autoindent', { buf = buf2 }))
|
||||
|
||||
local val = exec_lua [[
|
||||
return vim.api.nvim_buf_call(buf2, function()
|
||||
@@ -3424,9 +3424,9 @@ describe('lua stdlib', function()
|
||||
end)
|
||||
]]
|
||||
|
||||
eq(false, meths.get_option_value('autoindent', { buf = buf1 }))
|
||||
eq(true, meths.get_option_value('autoindent', { buf = buf2 }))
|
||||
eq(buf1, meths.get_current_buf().id)
|
||||
eq(false, meths.nvim_get_option_value('autoindent', { buf = buf1 }))
|
||||
eq(true, meths.nvim_get_option_value('autoindent', { buf = buf2 }))
|
||||
eq(buf1, meths.nvim_get_current_buf().id)
|
||||
eq(buf2, val)
|
||||
end)
|
||||
|
||||
@@ -3488,7 +3488,7 @@ describe('lua stdlib', function()
|
||||
describe('vim.api.nvim_win_call', function()
|
||||
it('can access window options', function()
|
||||
command('vsplit')
|
||||
local win1 = meths.get_current_win().id
|
||||
local win1 = meths.nvim_get_current_win().id
|
||||
command('wincmd w')
|
||||
local win2 = exec_lua [[
|
||||
win2 = vim.api.nvim_get_current_win()
|
||||
@@ -3496,8 +3496,8 @@ describe('lua stdlib', function()
|
||||
]]
|
||||
command('wincmd p')
|
||||
|
||||
eq('', meths.get_option_value('winhighlight', { win = win1 }))
|
||||
eq('', meths.get_option_value('winhighlight', { win = win2 }))
|
||||
eq('', meths.nvim_get_option_value('winhighlight', { win = win1 }))
|
||||
eq('', meths.nvim_get_option_value('winhighlight', { win = win2 }))
|
||||
|
||||
local val = exec_lua [[
|
||||
return vim.api.nvim_win_call(win2, function()
|
||||
@@ -3506,9 +3506,9 @@ describe('lua stdlib', function()
|
||||
end)
|
||||
]]
|
||||
|
||||
eq('', meths.get_option_value('winhighlight', { win = win1 }))
|
||||
eq('Normal:Normal', meths.get_option_value('winhighlight', { win = win2 }))
|
||||
eq(win1, meths.get_current_win().id)
|
||||
eq('', meths.nvim_get_option_value('winhighlight', { win = win1 }))
|
||||
eq('Normal:Normal', meths.nvim_get_option_value('winhighlight', { win = win2 }))
|
||||
eq(win1, meths.nvim_get_current_win().id)
|
||||
eq(win2, val)
|
||||
end)
|
||||
|
||||
@@ -3882,7 +3882,7 @@ describe('vim.keymap', function()
|
||||
|
||||
feed('aa')
|
||||
|
||||
eq({ 'π<M-π>foo<' }, meths.buf_get_lines(0, 0, -1, false))
|
||||
eq({ 'π<M-π>foo<' }, meths.nvim_buf_get_lines(0, 0, -1, false))
|
||||
end)
|
||||
|
||||
it('can overwrite a mapping', function()
|
||||
|
@@ -203,7 +203,7 @@ describe("'listchars'", function()
|
||||
|
|
||||
]])
|
||||
|
||||
meths._invalidate_glyph_cache()
|
||||
meths.nvim__invalidate_glyph_cache()
|
||||
screen:_reset()
|
||||
screen:expect([[
|
||||
{1:d̞̄̃̒̉̎ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐l̞̀̄̆̌̚d̞̄̃̒̉̎ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐l̞̀̄̆̌̚d̞̄̃̒̉̎ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐ò́̌̌̂̐l̞̀̄̆̌̚}^x{1:å̲} |
|
||||
|
@@ -195,8 +195,8 @@ describe('startup defaults', function()
|
||||
clear { args = {}, args_rm = { '-i' }, env = env }
|
||||
-- Default 'shadafile' is empty.
|
||||
-- This means use the default location. :help shada-file-name
|
||||
eq('', meths.get_option_value('shadafile', {}))
|
||||
eq('', meths.get_option_value('viminfofile', {}))
|
||||
eq('', meths.nvim_get_option_value('shadafile', {}))
|
||||
eq('', meths.nvim_get_option_value('viminfofile', {}))
|
||||
-- Handles viminfo/viminfofile as alias for shada/shadafile.
|
||||
eq('\n shadafile=', eval('execute("set shadafile?")'))
|
||||
eq('\n shadafile=', eval('execute("set viminfofile?")'))
|
||||
@@ -218,13 +218,13 @@ describe('startup defaults', function()
|
||||
args_rm = { 'runtimepath' },
|
||||
}
|
||||
-- Defaults to &runtimepath.
|
||||
eq(meths.get_option_value('runtimepath', {}), meths.get_option_value('packpath', {}))
|
||||
eq(meths.nvim_get_option_value('runtimepath', {}), meths.nvim_get_option_value('packpath', {}))
|
||||
|
||||
-- Does not follow modifications to runtimepath.
|
||||
meths.command('set runtimepath+=foo')
|
||||
neq(meths.get_option_value('runtimepath', {}), meths.get_option_value('packpath', {}))
|
||||
meths.command('set packpath+=foo')
|
||||
eq(meths.get_option_value('runtimepath', {}), meths.get_option_value('packpath', {}))
|
||||
meths.nvim_command('set runtimepath+=foo')
|
||||
neq(meths.nvim_get_option_value('runtimepath', {}), meths.nvim_get_option_value('packpath', {}))
|
||||
meths.nvim_command('set packpath+=foo')
|
||||
eq(meths.nvim_get_option_value('runtimepath', {}), meths.nvim_get_option_value('packpath', {}))
|
||||
end)
|
||||
|
||||
it('v:progpath is set to the absolute path', function()
|
||||
@@ -316,10 +316,10 @@ describe('XDG defaults', function()
|
||||
},
|
||||
})
|
||||
|
||||
eq('.', meths.get_option_value('backupdir', {}))
|
||||
eq('.', meths.get_option_value('viewdir', {}))
|
||||
eq('.', meths.get_option_value('directory', {}))
|
||||
eq('.', meths.get_option_value('undodir', {}))
|
||||
eq('.', meths.nvim_get_option_value('backupdir', {}))
|
||||
eq('.', meths.nvim_get_option_value('viewdir', {}))
|
||||
eq('.', meths.nvim_get_option_value('directory', {}))
|
||||
eq('.', meths.nvim_get_option_value('undodir', {}))
|
||||
ok((funcs.tempname()):len() > 4)
|
||||
end)
|
||||
end)
|
||||
@@ -328,7 +328,7 @@ describe('XDG defaults', function()
|
||||
local vimruntime = eval('$VIMRUNTIME')
|
||||
-- libdir is hard to calculate reliably across various ci platforms
|
||||
-- local libdir = string.gsub(vimruntime, "share/nvim/runtime$", "lib/nvim")
|
||||
local libdir = meths._get_lib_dir()
|
||||
local libdir = meths.nvim__get_lib_dir()
|
||||
return vimruntime, libdir
|
||||
end
|
||||
|
||||
@@ -428,13 +428,13 @@ describe('XDG defaults', function()
|
||||
.. '/nvim/after'
|
||||
):gsub('\\', '/')
|
||||
),
|
||||
(meths.get_option_value('runtimepath', {})):gsub('\\', '/')
|
||||
(meths.nvim_get_option_value('runtimepath', {})):gsub('\\', '/')
|
||||
)
|
||||
meths.command('set runtimepath&')
|
||||
meths.command('set backupdir&')
|
||||
meths.command('set directory&')
|
||||
meths.command('set undodir&')
|
||||
meths.command('set viewdir&')
|
||||
meths.nvim_command('set runtimepath&')
|
||||
meths.nvim_command('set backupdir&')
|
||||
meths.nvim_command('set directory&')
|
||||
meths.nvim_command('set undodir&')
|
||||
meths.nvim_command('set viewdir&')
|
||||
eq(
|
||||
(
|
||||
(
|
||||
@@ -499,23 +499,23 @@ describe('XDG defaults', function()
|
||||
.. '/nvim/after'
|
||||
):gsub('\\', '/')
|
||||
),
|
||||
(meths.get_option_value('runtimepath', {})):gsub('\\', '/')
|
||||
(meths.nvim_get_option_value('runtimepath', {})):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
'.,' .. root_path .. ('/X'):rep(4096) .. '/' .. state_dir .. '/backup//',
|
||||
(meths.get_option_value('backupdir', {}):gsub('\\', '/'))
|
||||
(meths.nvim_get_option_value('backupdir', {}):gsub('\\', '/'))
|
||||
)
|
||||
eq(
|
||||
root_path .. ('/X'):rep(4096) .. '/' .. state_dir .. '/swap//',
|
||||
(meths.get_option_value('directory', {})):gsub('\\', '/')
|
||||
(meths.nvim_get_option_value('directory', {})):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
root_path .. ('/X'):rep(4096) .. '/' .. state_dir .. '/undo//',
|
||||
(meths.get_option_value('undodir', {})):gsub('\\', '/')
|
||||
(meths.nvim_get_option_value('undodir', {})):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
root_path .. ('/X'):rep(4096) .. '/' .. state_dir .. '/view//',
|
||||
(meths.get_option_value('viewdir', {})):gsub('\\', '/')
|
||||
(meths.nvim_get_option_value('viewdir', {})):gsub('\\', '/')
|
||||
)
|
||||
end)
|
||||
end)
|
||||
@@ -571,13 +571,13 @@ describe('XDG defaults', function()
|
||||
.. ',$XDG_DATA_HOME/nvim/after'
|
||||
):gsub('\\', '/')
|
||||
),
|
||||
(meths.get_option_value('runtimepath', {})):gsub('\\', '/')
|
||||
(meths.nvim_get_option_value('runtimepath', {})):gsub('\\', '/')
|
||||
)
|
||||
meths.command('set runtimepath&')
|
||||
meths.command('set backupdir&')
|
||||
meths.command('set directory&')
|
||||
meths.command('set undodir&')
|
||||
meths.command('set viewdir&')
|
||||
meths.nvim_command('set runtimepath&')
|
||||
meths.nvim_command('set backupdir&')
|
||||
meths.nvim_command('set directory&')
|
||||
meths.nvim_command('set undodir&')
|
||||
meths.nvim_command('set viewdir&')
|
||||
eq(
|
||||
(
|
||||
(
|
||||
@@ -599,25 +599,25 @@ describe('XDG defaults', function()
|
||||
.. ',$XDG_DATA_HOME/nvim/after'
|
||||
):gsub('\\', '/')
|
||||
),
|
||||
(meths.get_option_value('runtimepath', {})):gsub('\\', '/')
|
||||
(meths.nvim_get_option_value('runtimepath', {})):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
('.,$XDG_CONFIG_HOME/' .. state_dir .. '/backup//'),
|
||||
meths.get_option_value('backupdir', {}):gsub('\\', '/')
|
||||
meths.nvim_get_option_value('backupdir', {}):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
('$XDG_CONFIG_HOME/' .. state_dir .. '/swap//'),
|
||||
meths.get_option_value('directory', {}):gsub('\\', '/')
|
||||
meths.nvim_get_option_value('directory', {}):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
('$XDG_CONFIG_HOME/' .. state_dir .. '/undo//'),
|
||||
meths.get_option_value('undodir', {}):gsub('\\', '/')
|
||||
meths.nvim_get_option_value('undodir', {}):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
('$XDG_CONFIG_HOME/' .. state_dir .. '/view//'),
|
||||
meths.get_option_value('viewdir', {}):gsub('\\', '/')
|
||||
meths.nvim_get_option_value('viewdir', {}):gsub('\\', '/')
|
||||
)
|
||||
meths.command('set all&')
|
||||
meths.nvim_command('set all&')
|
||||
eq(
|
||||
(
|
||||
'$XDG_DATA_HOME/nvim'
|
||||
@@ -637,23 +637,23 @@ describe('XDG defaults', function()
|
||||
.. ',$XDG_DATA_DIRS/nvim/after'
|
||||
.. ',$XDG_DATA_HOME/nvim/after'
|
||||
):gsub('\\', '/'),
|
||||
(meths.get_option_value('runtimepath', {})):gsub('\\', '/')
|
||||
(meths.nvim_get_option_value('runtimepath', {})):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
('.,$XDG_CONFIG_HOME/' .. state_dir .. '/backup//'),
|
||||
meths.get_option_value('backupdir', {}):gsub('\\', '/')
|
||||
meths.nvim_get_option_value('backupdir', {}):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
('$XDG_CONFIG_HOME/' .. state_dir .. '/swap//'),
|
||||
meths.get_option_value('directory', {}):gsub('\\', '/')
|
||||
meths.nvim_get_option_value('directory', {}):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
('$XDG_CONFIG_HOME/' .. state_dir .. '/undo//'),
|
||||
meths.get_option_value('undodir', {}):gsub('\\', '/')
|
||||
meths.nvim_get_option_value('undodir', {}):gsub('\\', '/')
|
||||
)
|
||||
eq(
|
||||
('$XDG_CONFIG_HOME/' .. state_dir .. '/view//'),
|
||||
meths.get_option_value('viewdir', {}):gsub('\\', '/')
|
||||
meths.nvim_get_option_value('viewdir', {}):gsub('\\', '/')
|
||||
)
|
||||
eq(nil, (funcs.tempname()):match('XDG_RUNTIME_DIR'))
|
||||
end)
|
||||
@@ -743,13 +743,13 @@ describe('XDG defaults', function()
|
||||
.. path_sep
|
||||
.. 'after'
|
||||
),
|
||||
meths.get_option_value('runtimepath', {})
|
||||
meths.nvim_get_option_value('runtimepath', {})
|
||||
)
|
||||
meths.command('set runtimepath&')
|
||||
meths.command('set backupdir&')
|
||||
meths.command('set directory&')
|
||||
meths.command('set undodir&')
|
||||
meths.command('set viewdir&')
|
||||
meths.nvim_command('set runtimepath&')
|
||||
meths.nvim_command('set backupdir&')
|
||||
meths.nvim_command('set directory&')
|
||||
meths.nvim_command('set undodir&')
|
||||
meths.nvim_command('set viewdir&')
|
||||
eq(
|
||||
(
|
||||
'\\, \\, \\,'
|
||||
@@ -821,11 +821,11 @@ describe('XDG defaults', function()
|
||||
.. path_sep
|
||||
.. 'after'
|
||||
),
|
||||
meths.get_option_value('runtimepath', {})
|
||||
meths.nvim_get_option_value('runtimepath', {})
|
||||
)
|
||||
eq(
|
||||
'.,\\,=\\,=\\,' .. path_sep .. state_dir .. '' .. path_sep .. 'backup' .. (path_sep):rep(2),
|
||||
meths.get_option_value('backupdir', {})
|
||||
meths.nvim_get_option_value('backupdir', {})
|
||||
)
|
||||
eq(
|
||||
'\\,=\\,=\\,'
|
||||
@@ -836,7 +836,7 @@ describe('XDG defaults', function()
|
||||
.. path_sep
|
||||
.. 'swap'
|
||||
.. (path_sep):rep(2),
|
||||
meths.get_option_value('directory', {})
|
||||
meths.nvim_get_option_value('directory', {})
|
||||
)
|
||||
eq(
|
||||
'\\,=\\,=\\,'
|
||||
@@ -847,7 +847,7 @@ describe('XDG defaults', function()
|
||||
.. path_sep
|
||||
.. 'undo'
|
||||
.. (path_sep):rep(2),
|
||||
meths.get_option_value('undodir', {})
|
||||
meths.nvim_get_option_value('undodir', {})
|
||||
)
|
||||
eq(
|
||||
'\\,=\\,=\\,'
|
||||
@@ -858,7 +858,7 @@ describe('XDG defaults', function()
|
||||
.. path_sep
|
||||
.. 'view'
|
||||
.. (path_sep):rep(2),
|
||||
meths.get_option_value('viewdir', {})
|
||||
meths.nvim_get_option_value('viewdir', {})
|
||||
)
|
||||
end)
|
||||
end)
|
||||
@@ -1112,7 +1112,7 @@ describe('stdpath()', function()
|
||||
|
||||
local function set_paths_at_runtime(var_name, paths)
|
||||
clear({ env = base_env() })
|
||||
meths.set_var('env_val', table.concat(paths, env_sep))
|
||||
meths.nvim_set_var('env_val', table.concat(paths, env_sep))
|
||||
command(('let $%s=g:env_val'):format(var_name))
|
||||
end
|
||||
|
||||
|
@@ -11,7 +11,7 @@ local function should_fail(opt, value, errmsg)
|
||||
feed_command('setlocal ' .. opt .. '=' .. value)
|
||||
eq(errmsg, eval('v:errmsg'):match('E%d*'))
|
||||
feed_command('let v:errmsg = ""')
|
||||
local status, err = pcall(meths.set_option_value, opt, value, {})
|
||||
local status, err = pcall(meths.nvim_set_option_value, opt, value, {})
|
||||
eq(status, false)
|
||||
eq(errmsg, err:match('E%d*'))
|
||||
eq('', eval('v:errmsg'))
|
||||
@@ -20,8 +20,8 @@ end
|
||||
local function should_succeed(opt, value)
|
||||
feed_command('setglobal ' .. opt .. '=' .. value)
|
||||
feed_command('setlocal ' .. opt .. '=' .. value)
|
||||
meths.set_option_value(opt, value, {})
|
||||
eq(value, meths.get_option_value(opt, {}))
|
||||
meths.nvim_set_option_value(opt, value, {})
|
||||
eq(value, meths.nvim_get_option_value(opt, {}))
|
||||
eq('', eval('v:errmsg'))
|
||||
end
|
||||
|
||||
@@ -29,12 +29,12 @@ describe(':setlocal', function()
|
||||
before_each(clear)
|
||||
|
||||
it('setlocal sets only local value', function()
|
||||
eq(0, meths.get_option_value('iminsert', { scope = 'global' }))
|
||||
eq(0, meths.nvim_get_option_value('iminsert', { scope = 'global' }))
|
||||
feed_command('setlocal iminsert=1')
|
||||
eq(0, meths.get_option_value('iminsert', { scope = 'global' }))
|
||||
eq(-1, meths.get_option_value('imsearch', { scope = 'global' }))
|
||||
eq(0, meths.nvim_get_option_value('iminsert', { scope = 'global' }))
|
||||
eq(-1, meths.nvim_get_option_value('imsearch', { scope = 'global' }))
|
||||
feed_command('setlocal imsearch=1')
|
||||
eq(-1, meths.get_option_value('imsearch', { scope = 'global' }))
|
||||
eq(-1, meths.nvim_get_option_value('imsearch', { scope = 'global' }))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -77,8 +77,8 @@ describe(':set validation', function()
|
||||
|
||||
-- If smaller than 1 this one is set to 'lines'-1
|
||||
feed_command('setglobal window=-10')
|
||||
meths.set_option_value('window', -10, {})
|
||||
eq(23, meths.get_option_value('window', {}))
|
||||
meths.nvim_set_option_value('window', -10, {})
|
||||
eq(23, meths.nvim_get_option_value('window', {}))
|
||||
eq('', eval('v:errmsg'))
|
||||
|
||||
-- 'scrolloff' and 'sidescrolloff' can have a -1 value when
|
||||
@@ -112,8 +112,8 @@ describe(':set validation', function()
|
||||
local function setto(value)
|
||||
feed_command('setglobal maxcombine=' .. value)
|
||||
feed_command('setlocal maxcombine=' .. value)
|
||||
meths.set_option_value('maxcombine', value, {})
|
||||
eq(6, meths.get_option_value('maxcombine', {}))
|
||||
meths.nvim_set_option_value('maxcombine', value, {})
|
||||
eq(6, meths.nvim_get_option_value('maxcombine', {}))
|
||||
eq('', eval('v:errmsg'))
|
||||
end
|
||||
setto(0)
|
||||
|
@@ -13,7 +13,7 @@ local function test_case(name, expected)
|
||||
local filename = testdir .. pathsep .. name
|
||||
command('edit ' .. filename)
|
||||
for opt, val in pairs(expected) do
|
||||
eq(val, meths.get_option_value(opt, { buf = 0 }), name)
|
||||
eq(val, meths.nvim_get_option_value(opt, { buf = 0 }), name)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -195,15 +195,15 @@ But not this one
|
||||
end)
|
||||
|
||||
it('can be disabled globally', function()
|
||||
meths.set_var('editorconfig', false)
|
||||
meths.set_option_value('shiftwidth', 42, {})
|
||||
meths.nvim_set_var('editorconfig', false)
|
||||
meths.nvim_set_option_value('shiftwidth', 42, {})
|
||||
test_case('3_space.txt', { shiftwidth = 42 })
|
||||
end)
|
||||
|
||||
it('can be disabled per-buffer', function()
|
||||
meths.set_option_value('shiftwidth', 42, {})
|
||||
meths.nvim_set_option_value('shiftwidth', 42, {})
|
||||
local bufnr = funcs.bufadd(testdir .. pathsep .. '3_space.txt')
|
||||
meths.buf_set_var(bufnr, 'editorconfig', false)
|
||||
meths.nvim_buf_set_var(bufnr, 'editorconfig', false)
|
||||
test_case('3_space.txt', { shiftwidth = 42 })
|
||||
test_case('4_space.py', { shiftwidth = 4 })
|
||||
end)
|
||||
|
@@ -62,7 +62,7 @@ local function test_edit(
|
||||
offset_encoding = offset_encoding or 'utf-16'
|
||||
line_ending = line_ending or '\n'
|
||||
|
||||
meths.buf_set_lines(0, 0, -1, true, prev_buffer)
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, prev_buffer)
|
||||
exec_lua('return test_register(...)', 0, 'test1', offset_encoding, line_ending)
|
||||
|
||||
for _, edit in ipairs(edit_operations) do
|
||||
|
@@ -363,9 +363,9 @@ describe('LSP', function()
|
||||
end,
|
||||
on_handler = function(_, _, ctx)
|
||||
if ctx.method == 'finish' then
|
||||
eq('basic_init', meths.get_var('lsp_attached'))
|
||||
eq('basic_init', meths.nvim_get_var('lsp_attached'))
|
||||
exec_lua('return lsp.buf_detach_client(BUFFER, TEST_RPC_CLIENT_ID)')
|
||||
eq('basic_init', meths.get_var('lsp_detached'))
|
||||
eq('basic_init', meths.nvim_get_var('lsp_detached'))
|
||||
client.stop()
|
||||
end
|
||||
end,
|
||||
|
@@ -22,7 +22,7 @@ describe('matchparen', function()
|
||||
|
||||
it('uses correct column after i_<Up>. Vim patch 7.4.1296', function()
|
||||
command('set noautoindent nosmartindent nocindent laststatus=0')
|
||||
eq(1, meths.get_var('loaded_matchparen'))
|
||||
eq(1, meths.nvim_get_var('loaded_matchparen'))
|
||||
feed('ivoid f_test()<cr>')
|
||||
feed('{<cr>')
|
||||
feed('}')
|
||||
|
@@ -526,17 +526,17 @@ describe('autoload/msgpack.vim', function()
|
||||
end)
|
||||
|
||||
it('works for special v: values like v:true', function()
|
||||
meths.set_var('true', true)
|
||||
meths.set_var('false', false)
|
||||
meths.set_var('nil', NIL)
|
||||
meths.nvim_set_var('true', true)
|
||||
meths.nvim_set_var('false', false)
|
||||
meths.nvim_set_var('nil', NIL)
|
||||
|
||||
nvim_command('let true2 = msgpack#deepcopy(true)')
|
||||
nvim_command('let false2 = msgpack#deepcopy(false)')
|
||||
nvim_command('let nil2 = msgpack#deepcopy(nil)')
|
||||
|
||||
eq(true, meths.get_var('true'))
|
||||
eq(false, meths.get_var('false'))
|
||||
eq(NIL, meths.get_var('nil'))
|
||||
eq(true, meths.nvim_get_var('true'))
|
||||
eq(false, meths.nvim_get_var('false'))
|
||||
eq(NIL, meths.nvim_get_var('nil'))
|
||||
end)
|
||||
end)
|
||||
|
||||
|
@@ -2644,7 +2644,8 @@ describe('plugin/shada.vim', function()
|
||||
wshada('\004\000\009\147\000\196\002ab\196\001a')
|
||||
wshada_tmp('\004\000\009\147\000\196\002ab\196\001b')
|
||||
|
||||
local bufread_commands = meths.get_autocmds({ group = 'ShaDaCommands', event = 'BufReadCmd' })
|
||||
local bufread_commands =
|
||||
meths.nvim_get_autocmds({ group = 'ShaDaCommands', event = 'BufReadCmd' })
|
||||
eq(2, #bufread_commands--[[, vim.inspect(bufread_commands) ]])
|
||||
|
||||
-- Need to set nohidden so that the buffer containing 'fname' is not unloaded
|
||||
|
@@ -188,7 +188,7 @@ describe('clipboard', function()
|
||||
|
||||
it('valid g:clipboard', function()
|
||||
-- provider#clipboard#Executable() only checks the structure.
|
||||
meths.set_var('clipboard', {
|
||||
meths.nvim_set_var('clipboard', {
|
||||
['name'] = 'clippy!',
|
||||
['copy'] = { ['+'] = 'any command', ['*'] = 'some other' },
|
||||
['paste'] = { ['+'] = 'any command', ['*'] = 'some other' },
|
||||
@@ -545,7 +545,7 @@ describe('clipboard (with fake clipboard.vim)', function()
|
||||
eq({ { 'text', '' }, 'V' }, eval("g:test_clip['*']"))
|
||||
command("let g:test_clip['*'] = [['star'], 'c']")
|
||||
feed('p')
|
||||
eq('textstar', meths.get_current_line())
|
||||
eq('textstar', meths.nvim_get_current_line())
|
||||
end)
|
||||
|
||||
it('Block paste works correctly', function()
|
||||
|
@@ -48,7 +48,7 @@ describe('legacy perl provider', function()
|
||||
-- :perldo 1; doesn't change $_,
|
||||
-- the buffer should not be changed
|
||||
command('normal :perldo 1;')
|
||||
eq(false, meths.get_option_value('modified', {}))
|
||||
eq(false, meths.nvim_get_option_value('modified', {}))
|
||||
-- insert some text
|
||||
insert('abc\ndef\nghi')
|
||||
expect([[
|
||||
|
@@ -43,12 +43,12 @@ end)
|
||||
describe(':ruby command', function()
|
||||
it('evaluates ruby', function()
|
||||
command('ruby VIM.command("let g:set_by_ruby = [100, 0]")')
|
||||
eq({ 100, 0 }, meths.get_var('set_by_ruby'))
|
||||
eq({ 100, 0 }, meths.nvim_get_var('set_by_ruby'))
|
||||
end)
|
||||
|
||||
it('supports nesting', function()
|
||||
command([[ruby VIM.command('ruby VIM.command("let set_by_nested_ruby = 555")')]])
|
||||
eq(555, meths.get_var('set_by_nested_ruby'))
|
||||
eq(555, meths.nvim_get_var('set_by_nested_ruby'))
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -57,7 +57,7 @@ describe(':rubyfile command', function()
|
||||
local fname = 'rubyfile.rb'
|
||||
write_file(fname, 'VIM.command("let set_by_rubyfile = 123")')
|
||||
command('rubyfile rubyfile.rb')
|
||||
eq(123, meths.get_var('set_by_rubyfile'))
|
||||
eq(123, meths.nvim_get_var('set_by_rubyfile'))
|
||||
os.remove(fname)
|
||||
end)
|
||||
end)
|
||||
@@ -97,7 +97,7 @@ describe(':rubydo command', function()
|
||||
|
||||
it('does not modify the buffer if no changes are made', function()
|
||||
command('normal :rubydo 42')
|
||||
eq(false, meths.get_option_value('modified', {}))
|
||||
eq(false, meths.nvim_get_option_value('modified', {}))
|
||||
end)
|
||||
end)
|
||||
|
||||
|
@@ -48,7 +48,7 @@ describe('shada support code', function()
|
||||
reset('set shada+=%')
|
||||
nvim_command('edit ' .. testfilename)
|
||||
nvim_command('edit ' .. testfilename_2)
|
||||
meths.set_option_value('buflisted', false, {})
|
||||
meths.nvim_set_option_value('buflisted', false, {})
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset('set shada+=%')
|
||||
eq(2, funcs.bufnr('$'))
|
||||
@@ -60,7 +60,7 @@ describe('shada support code', function()
|
||||
reset('set shada+=%')
|
||||
nvim_command('edit ' .. testfilename)
|
||||
nvim_command('edit ' .. testfilename_2)
|
||||
meths.set_option_value('buftype', 'quickfix', {})
|
||||
meths.nvim_set_option_value('buftype', 'quickfix', {})
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset('set shada+=%')
|
||||
eq(2, funcs.bufnr('$'))
|
||||
|
@@ -28,7 +28,7 @@ local function reset(o)
|
||||
args_rm = args_rm,
|
||||
args = args,
|
||||
}
|
||||
meths.set_var('tmpname', tmpname)
|
||||
meths.nvim_set_var('tmpname', tmpname)
|
||||
end
|
||||
|
||||
local clear = function()
|
||||
|
@@ -104,40 +104,40 @@ describe('ShaDa support code', function()
|
||||
end)
|
||||
|
||||
it('dumps and loads last search pattern with offset', function()
|
||||
meths.set_option_value('wrapscan', false, {})
|
||||
meths.nvim_set_option_value('wrapscan', false, {})
|
||||
funcs.setline('.', { 'foo', 'bar--' })
|
||||
nvim_feed('gg0/a/e+1\n')
|
||||
eq({ 0, 2, 3, 0 }, funcs.getpos('.'))
|
||||
nvim_command('wshada')
|
||||
reset()
|
||||
meths.set_option_value('wrapscan', false, {})
|
||||
meths.nvim_set_option_value('wrapscan', false, {})
|
||||
funcs.setline('.', { 'foo', 'bar--' })
|
||||
nvim_feed('gg0n')
|
||||
eq({ 0, 2, 3, 0 }, funcs.getpos('.'))
|
||||
eq(1, meths.get_vvar('searchforward'))
|
||||
eq(1, meths.nvim_get_vvar('searchforward'))
|
||||
end)
|
||||
|
||||
it('dumps and loads last search pattern with offset and backward direction', function()
|
||||
meths.set_option_value('wrapscan', false, {})
|
||||
meths.nvim_set_option_value('wrapscan', false, {})
|
||||
funcs.setline('.', { 'foo', 'bar--' })
|
||||
nvim_feed('G$?a?e+1\n')
|
||||
eq({ 0, 2, 3, 0 }, funcs.getpos('.'))
|
||||
nvim_command('wshada')
|
||||
reset()
|
||||
meths.set_option_value('wrapscan', false, {})
|
||||
meths.nvim_set_option_value('wrapscan', false, {})
|
||||
funcs.setline('.', { 'foo', 'bar--' })
|
||||
nvim_feed('G$n')
|
||||
eq({ 0, 2, 3, 0 }, funcs.getpos('.'))
|
||||
eq(0, meths.get_vvar('searchforward'))
|
||||
eq(0, meths.nvim_get_vvar('searchforward'))
|
||||
end)
|
||||
|
||||
it('saves v:hlsearch=1', function()
|
||||
nvim_command('set hlsearch shada-=h')
|
||||
nvim_feed('/test\n')
|
||||
eq(1, meths.get_vvar('hlsearch'))
|
||||
eq(1, meths.nvim_get_vvar('hlsearch'))
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset()
|
||||
eq(1, meths.get_vvar('hlsearch'))
|
||||
eq(1, meths.nvim_get_vvar('hlsearch'))
|
||||
end)
|
||||
|
||||
it('saves v:hlsearch=0 with :nohl', function()
|
||||
@@ -146,16 +146,16 @@ describe('ShaDa support code', function()
|
||||
nvim_command('nohlsearch')
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset()
|
||||
eq(0, meths.get_vvar('hlsearch'))
|
||||
eq(0, meths.nvim_get_vvar('hlsearch'))
|
||||
end)
|
||||
|
||||
it('saves v:hlsearch=0 with default &shada', function()
|
||||
nvim_command('set hlsearch')
|
||||
nvim_feed('/test\n')
|
||||
eq(1, meths.get_vvar('hlsearch'))
|
||||
eq(1, meths.nvim_get_vvar('hlsearch'))
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset()
|
||||
eq(0, meths.get_vvar('hlsearch'))
|
||||
eq(0, meths.nvim_get_vvar('hlsearch'))
|
||||
end)
|
||||
|
||||
it('dumps and loads last substitute pattern and replacement string', function()
|
||||
|
@@ -124,7 +124,7 @@ describe('ShaDa support code', function()
|
||||
local tf_full_2 = curbufmeths.get_name()
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset()
|
||||
local oldfiles = meths.get_vvar('oldfiles')
|
||||
local oldfiles = meths.nvim_get_vvar('oldfiles')
|
||||
table.sort(oldfiles)
|
||||
eq(2, #oldfiles)
|
||||
eq(testfilename, oldfiles[1]:sub(-#testfilename))
|
||||
@@ -132,7 +132,7 @@ describe('ShaDa support code', function()
|
||||
eq(tf_full, oldfiles[1])
|
||||
eq(tf_full_2, oldfiles[2])
|
||||
nvim_command('rshada!')
|
||||
oldfiles = meths.get_vvar('oldfiles')
|
||||
oldfiles = meths.nvim_get_vvar('oldfiles')
|
||||
table.sort(oldfiles)
|
||||
eq(2, #oldfiles)
|
||||
eq(testfilename, oldfiles[1]:sub(-#testfilename))
|
||||
@@ -229,7 +229,7 @@ describe('ShaDa support code', function()
|
||||
},
|
||||
args = {
|
||||
'-i',
|
||||
meths.get_var('tmpname'), -- Use same shada file as parent.
|
||||
meths.nvim_get_var('tmpname'), -- Use same shada file as parent.
|
||||
'--cmd',
|
||||
'silent edit ' .. non_existent_testfilename,
|
||||
'-c',
|
||||
@@ -248,7 +248,7 @@ describe('ShaDa support code', function()
|
||||
},
|
||||
args = {
|
||||
'-i',
|
||||
meths.get_var('tmpname'), -- Use same shada file as parent.
|
||||
meths.nvim_get_var('tmpname'), -- Use same shada file as parent.
|
||||
'-c',
|
||||
'silent edit ' .. non_existent_testfilename,
|
||||
'-c',
|
||||
|
@@ -175,7 +175,7 @@ describe('ShaDa support code', function()
|
||||
|
||||
it('correctly uses shada-r option', function()
|
||||
nvim_command('set shellslash')
|
||||
meths.set_var('__home', paths.test_source_path)
|
||||
meths.nvim_set_var('__home', paths.test_source_path)
|
||||
nvim_command('let $HOME = __home')
|
||||
nvim_command('unlet __home')
|
||||
nvim_command('edit ~/README.md')
|
||||
@@ -203,7 +203,7 @@ describe('ShaDa support code', function()
|
||||
local pwd = funcs.getcwd()
|
||||
local relfname = 'абв/test'
|
||||
local fname = pwd .. '/' .. relfname
|
||||
meths.set_var('__fname', fname)
|
||||
meths.nvim_set_var('__fname', fname)
|
||||
nvim_command('silent! edit `=__fname`')
|
||||
funcs.setline(1, { 'a', 'b', 'c', 'd' })
|
||||
nvim_command('normal! GmAggmaAabc')
|
||||
@@ -217,30 +217,30 @@ describe('ShaDa support code', function()
|
||||
end)
|
||||
|
||||
it('is able to set &shada after &viminfo', function()
|
||||
meths.set_option_value('viminfo', "'10", {})
|
||||
eq("'10", meths.get_option_value('viminfo', {}))
|
||||
eq("'10", meths.get_option_value('shada', {}))
|
||||
meths.set_option_value('shada', '', {})
|
||||
eq('', meths.get_option_value('viminfo', {}))
|
||||
eq('', meths.get_option_value('shada', {}))
|
||||
meths.nvim_set_option_value('viminfo', "'10", {})
|
||||
eq("'10", meths.nvim_get_option_value('viminfo', {}))
|
||||
eq("'10", meths.nvim_get_option_value('shada', {}))
|
||||
meths.nvim_set_option_value('shada', '', {})
|
||||
eq('', meths.nvim_get_option_value('viminfo', {}))
|
||||
eq('', meths.nvim_get_option_value('shada', {}))
|
||||
end)
|
||||
|
||||
it('is able to set all& after setting &shada', function()
|
||||
meths.set_option_value('shada', "'10", {})
|
||||
eq("'10", meths.get_option_value('viminfo', {}))
|
||||
eq("'10", meths.get_option_value('shada', {}))
|
||||
meths.nvim_set_option_value('shada', "'10", {})
|
||||
eq("'10", meths.nvim_get_option_value('viminfo', {}))
|
||||
eq("'10", meths.nvim_get_option_value('shada', {}))
|
||||
nvim_command('set all&')
|
||||
eq("!,'100,<50,s10,h", meths.get_option_value('viminfo', {}))
|
||||
eq("!,'100,<50,s10,h", meths.get_option_value('shada', {}))
|
||||
eq("!,'100,<50,s10,h", meths.nvim_get_option_value('viminfo', {}))
|
||||
eq("!,'100,<50,s10,h", meths.nvim_get_option_value('shada', {}))
|
||||
end)
|
||||
|
||||
it('is able to set &shada after &viminfo using :set', function()
|
||||
nvim_command("set viminfo='10")
|
||||
eq("'10", meths.get_option_value('viminfo', {}))
|
||||
eq("'10", meths.get_option_value('shada', {}))
|
||||
eq("'10", meths.nvim_get_option_value('viminfo', {}))
|
||||
eq("'10", meths.nvim_get_option_value('shada', {}))
|
||||
nvim_command('set shada=')
|
||||
eq('', meths.get_option_value('viminfo', {}))
|
||||
eq('', meths.get_option_value('shada', {}))
|
||||
eq('', meths.nvim_get_option_value('viminfo', {}))
|
||||
eq('', meths.nvim_get_option_value('shada', {}))
|
||||
end)
|
||||
|
||||
it('setting &shada gives proper error message on missing number', function()
|
||||
@@ -259,14 +259,14 @@ describe('ShaDa support code', function()
|
||||
funcs.mkdir(dirname, '', 0)
|
||||
eq(0, funcs.filewritable(dirname))
|
||||
reset { shadafile = dirshada, args = { '--cmd', 'set shada=' } }
|
||||
meths.set_option_value('shada', "'10", {})
|
||||
meths.nvim_set_option_value('shada', "'10", {})
|
||||
eq(
|
||||
'Vim(wshada):E886: System error while opening ShaDa file '
|
||||
.. 'Xtest-functional-shada-shada.d/main.shada for reading to merge '
|
||||
.. 'before writing it: permission denied',
|
||||
exc_exec('wshada')
|
||||
)
|
||||
meths.set_option_value('shada', '', {})
|
||||
meths.nvim_set_option_value('shada', '', {})
|
||||
end)
|
||||
end)
|
||||
|
||||
|
@@ -12,13 +12,13 @@ describe('ShaDa support code', function()
|
||||
after_each(clear)
|
||||
|
||||
it('is able to dump and read back string variable', function()
|
||||
meths.set_var('STRVAR', 'foo')
|
||||
meths.nvim_set_var('STRVAR', 'foo')
|
||||
nvim_command('set shada+=!')
|
||||
nvim_command('wshada')
|
||||
reset()
|
||||
nvim_command('set shada+=!')
|
||||
nvim_command('rshada')
|
||||
eq('foo', meths.get_var('STRVAR'))
|
||||
eq('foo', meths.nvim_get_var('STRVAR'))
|
||||
end)
|
||||
|
||||
local autotest = function(tname, varname, varval, val_is_expr)
|
||||
@@ -26,9 +26,9 @@ describe('ShaDa support code', function()
|
||||
reset('set shada+=!')
|
||||
if val_is_expr then
|
||||
nvim_command('let g:' .. varname .. ' = ' .. varval)
|
||||
varval = meths.get_var(varname)
|
||||
varval = meths.nvim_get_var(varname)
|
||||
else
|
||||
meths.set_var(varname, varval)
|
||||
meths.nvim_set_var(varname, varval)
|
||||
end
|
||||
local vartype = eval('type(g:' .. varname .. ')')
|
||||
-- Exit during `reset` is not a regular exit: it does not write shada
|
||||
@@ -36,7 +36,7 @@ describe('ShaDa support code', function()
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset('set shada+=!')
|
||||
eq(vartype, eval('type(g:' .. varname .. ')'))
|
||||
eq(varval, meths.get_var(varname))
|
||||
eq(varval, meths.nvim_get_var(varname))
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -53,7 +53,7 @@ describe('ShaDa support code', function()
|
||||
autotest('blob (with NULs)', 'BLOBVARNULS', '0z004e554c7300', true)
|
||||
|
||||
it('does not read back variables without `!` in &shada', function()
|
||||
meths.set_var('STRVAR', 'foo')
|
||||
meths.nvim_set_var('STRVAR', 'foo')
|
||||
nvim_command('set shada+=!')
|
||||
nvim_command('wshada')
|
||||
reset('set shada-=!')
|
||||
@@ -63,7 +63,7 @@ describe('ShaDa support code', function()
|
||||
|
||||
it('does not dump variables without `!` in &shada', function()
|
||||
nvim_command('set shada-=!')
|
||||
meths.set_var('STRVAR', 'foo')
|
||||
meths.nvim_set_var('STRVAR', 'foo')
|
||||
nvim_command('wshada')
|
||||
reset()
|
||||
nvim_command('set shada+=!')
|
||||
@@ -73,7 +73,7 @@ describe('ShaDa support code', function()
|
||||
|
||||
it('does not dump session variables', function()
|
||||
nvim_command('set shada+=!')
|
||||
meths.set_var('StrVar', 'foo')
|
||||
meths.nvim_set_var('StrVar', 'foo')
|
||||
nvim_command('wshada')
|
||||
reset()
|
||||
nvim_command('set shada+=!')
|
||||
@@ -83,7 +83,7 @@ describe('ShaDa support code', function()
|
||||
|
||||
it('does not dump regular variables', function()
|
||||
nvim_command('set shada+=!')
|
||||
meths.set_var('str_var', 'foo')
|
||||
meths.nvim_set_var('str_var', 'foo')
|
||||
nvim_command('wshada')
|
||||
reset()
|
||||
nvim_command('set shada+=!')
|
||||
@@ -93,70 +93,73 @@ describe('ShaDa support code', function()
|
||||
|
||||
it('dumps and loads variables correctly with utf-8 strings', function()
|
||||
reset()
|
||||
meths.set_var('STRVAR', '«')
|
||||
meths.set_var('LSTVAR', { '«' })
|
||||
meths.set_var('DCTVAR', { ['«'] = '«' })
|
||||
meths.set_var('NESTEDVAR', { ['«'] = { { '«' }, { ['«'] = '«' }, { a = 'Test' } } })
|
||||
meths.nvim_set_var('STRVAR', '«')
|
||||
meths.nvim_set_var('LSTVAR', { '«' })
|
||||
meths.nvim_set_var('DCTVAR', { ['«'] = '«' })
|
||||
meths.nvim_set_var('NESTEDVAR', { ['«'] = { { '«' }, { ['«'] = '«' }, { a = 'Test' } } })
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset()
|
||||
eq('«', meths.get_var('STRVAR'))
|
||||
eq({ '«' }, meths.get_var('LSTVAR'))
|
||||
eq({ ['«'] = '«' }, meths.get_var('DCTVAR'))
|
||||
eq({ ['«'] = { { '«' }, { ['«'] = '«' }, { a = 'Test' } } }, meths.get_var('NESTEDVAR'))
|
||||
eq('«', meths.nvim_get_var('STRVAR'))
|
||||
eq({ '«' }, meths.nvim_get_var('LSTVAR'))
|
||||
eq({ ['«'] = '«' }, meths.nvim_get_var('DCTVAR'))
|
||||
eq(
|
||||
{ ['«'] = { { '«' }, { ['«'] = '«' }, { a = 'Test' } } },
|
||||
meths.nvim_get_var('NESTEDVAR')
|
||||
)
|
||||
end)
|
||||
|
||||
it('dumps and loads variables correctly with 8-bit strings', function()
|
||||
reset()
|
||||
-- \171 is U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK in latin1
|
||||
-- This is invalid unicode, but we should still dump and restore it.
|
||||
meths.set_var('STRVAR', '\171')
|
||||
meths.set_var('LSTVAR', { '\171' })
|
||||
meths.set_var('DCTVAR', { ['«\171'] = '«\171' })
|
||||
meths.set_var(
|
||||
meths.nvim_set_var('STRVAR', '\171')
|
||||
meths.nvim_set_var('LSTVAR', { '\171' })
|
||||
meths.nvim_set_var('DCTVAR', { ['«\171'] = '«\171' })
|
||||
meths.nvim_set_var(
|
||||
'NESTEDVAR',
|
||||
{ ['\171'] = { { '\171«' }, { ['\171'] = '\171' }, { a = 'Test' } } }
|
||||
)
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset()
|
||||
eq('\171', meths.get_var('STRVAR'))
|
||||
eq({ '\171' }, meths.get_var('LSTVAR'))
|
||||
eq({ ['«\171'] = '«\171' }, meths.get_var('DCTVAR'))
|
||||
eq('\171', meths.nvim_get_var('STRVAR'))
|
||||
eq({ '\171' }, meths.nvim_get_var('LSTVAR'))
|
||||
eq({ ['«\171'] = '«\171' }, meths.nvim_get_var('DCTVAR'))
|
||||
eq(
|
||||
{ ['\171'] = { { '\171«' }, { ['\171'] = '\171' }, { a = 'Test' } } },
|
||||
meths.get_var('NESTEDVAR')
|
||||
meths.nvim_get_var('NESTEDVAR')
|
||||
)
|
||||
end)
|
||||
|
||||
it('ignore when a funcref is stored in a variable', function()
|
||||
nvim_command('let F = function("tr")')
|
||||
meths.set_var('U', '10')
|
||||
meths.nvim_set_var('U', '10')
|
||||
nvim_command('set shada+=!')
|
||||
nvim_command('wshada')
|
||||
reset()
|
||||
nvim_command('set shada+=!')
|
||||
nvim_command('rshada')
|
||||
eq('10', meths.get_var('U'))
|
||||
eq('10', meths.nvim_get_var('U'))
|
||||
end)
|
||||
|
||||
it('ignore when a partial is stored in a variable', function()
|
||||
nvim_command('let P = { -> 1 }')
|
||||
meths.set_var('U', '10')
|
||||
meths.nvim_set_var('U', '10')
|
||||
nvim_command('set shada+=!')
|
||||
nvim_command('wshada')
|
||||
reset()
|
||||
nvim_command('set shada+=!')
|
||||
nvim_command('rshada')
|
||||
eq('10', meths.get_var('U'))
|
||||
eq('10', meths.nvim_get_var('U'))
|
||||
end)
|
||||
|
||||
it('ignore when a self-referencing list is stored in a variable', function()
|
||||
meths.set_var('L', {})
|
||||
meths.nvim_set_var('L', {})
|
||||
nvim_command('call add(L, L)')
|
||||
meths.set_var('U', '10')
|
||||
meths.nvim_set_var('U', '10')
|
||||
nvim_command('set shada+=!')
|
||||
nvim_command('wshada')
|
||||
reset()
|
||||
nvim_command('rshada')
|
||||
eq('10', meths.get_var('U'))
|
||||
eq('10', meths.nvim_get_var('U'))
|
||||
end)
|
||||
end)
|
||||
|
@@ -321,8 +321,8 @@ describe(':terminal buffer', function()
|
||||
it('emits TermRequest events #26972', function()
|
||||
command('split')
|
||||
command('enew')
|
||||
local term = meths.open_term(0, {})
|
||||
local termbuf = meths.get_current_buf().id
|
||||
local term = meths.nvim_open_term(0, {})
|
||||
local termbuf = meths.nvim_get_current_buf().id
|
||||
|
||||
-- Test that autocommand buffer is associated with the terminal buffer, not the current buffer
|
||||
command('au TermRequest * let g:termbuf = +expand("<abuf>")')
|
||||
@@ -332,7 +332,7 @@ describe(':terminal buffer', function()
|
||||
local cwd = funcs.getcwd():gsub('\\', '/')
|
||||
local parent = cwd:match('^(.+/)')
|
||||
local expected = '\027]7;file://host' .. parent
|
||||
meths.chan_send(term, string.format('%s\027\\', expected))
|
||||
meths.nvim_chan_send(term, string.format('%s\027\\', expected))
|
||||
eq(expected, eval('v:termrequest'))
|
||||
eq(termbuf, eval('g:termbuf'))
|
||||
end)
|
||||
@@ -405,11 +405,11 @@ end)
|
||||
|
||||
it('terminal truncates number of composing characters to 5', function()
|
||||
clear()
|
||||
local chan = meths.open_term(0, {})
|
||||
local chan = meths.nvim_open_term(0, {})
|
||||
local composing = ('a̳'):sub(2)
|
||||
meths.chan_send(chan, 'a' .. composing:rep(8))
|
||||
meths.nvim_chan_send(chan, 'a' .. composing:rep(8))
|
||||
retry(nil, nil, function()
|
||||
eq('a' .. composing:rep(5), meths.get_current_line())
|
||||
eq('a' .. composing:rep(5), meths.nvim_get_current_line())
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -512,7 +512,7 @@ describe('terminal input', function()
|
||||
}) do
|
||||
feed('<CR><C-V>' .. key)
|
||||
retry(nil, nil, function()
|
||||
eq(key, meths.get_current_line())
|
||||
eq(key, meths.nvim_get_current_line())
|
||||
end)
|
||||
end
|
||||
end)
|
||||
|
@@ -140,7 +140,7 @@ describe('no crash when TermOpen autocommand', function()
|
||||
|
||||
before_each(function()
|
||||
clear()
|
||||
meths.set_option_value('shell', testprg('shell-test'), {})
|
||||
meths.nvim_set_option_value('shell', testprg('shell-test'), {})
|
||||
command('set shellcmdflag=EXE shellredir= shellpipe= shellquote= shellxquote=')
|
||||
screen = Screen.new(60, 4)
|
||||
screen:set_default_attr_ids({
|
||||
@@ -232,11 +232,11 @@ describe('nvim_open_term', function()
|
||||
end)
|
||||
|
||||
it('with force_crlf=true converts newlines', function()
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.create_buf(false, true)
|
||||
local term = meths.open_term(buf, { force_crlf = true })
|
||||
meths.win_set_buf(win, buf)
|
||||
meths.chan_send(term, 'here\nthere\nfoo\r\nbar\n\ntest')
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_create_buf(false, true)
|
||||
local term = meths.nvim_open_term(buf, { force_crlf = true })
|
||||
meths.nvim_win_set_buf(win, buf)
|
||||
meths.nvim_chan_send(term, 'here\nthere\nfoo\r\nbar\n\ntest')
|
||||
screen:expect {
|
||||
grid = [[
|
||||
^here |
|
||||
@@ -248,7 +248,7 @@ describe('nvim_open_term', function()
|
||||
|*4
|
||||
]],
|
||||
}
|
||||
meths.chan_send(term, '\nfirst')
|
||||
meths.nvim_chan_send(term, '\nfirst')
|
||||
screen:expect {
|
||||
grid = [[
|
||||
^here |
|
||||
@@ -264,11 +264,11 @@ describe('nvim_open_term', function()
|
||||
end)
|
||||
|
||||
it('with force_crlf=false does not convert newlines', function()
|
||||
local win = meths.get_current_win()
|
||||
local buf = meths.create_buf(false, true)
|
||||
local term = meths.open_term(buf, { force_crlf = false })
|
||||
meths.win_set_buf(win, buf)
|
||||
meths.chan_send(term, 'here\nthere')
|
||||
local win = meths.nvim_get_current_win()
|
||||
local buf = meths.nvim_create_buf(false, true)
|
||||
local term = meths.nvim_open_term(buf, { force_crlf = false })
|
||||
meths.nvim_win_set_buf(win, buf)
|
||||
meths.nvim_chan_send(term, 'here\nthere')
|
||||
screen:expect { grid = [[
|
||||
^here |
|
||||
there |
|
||||
|
@@ -21,15 +21,15 @@ describe(':edit term://*', function()
|
||||
|
||||
before_each(function()
|
||||
clear()
|
||||
meths.set_option_value('shell', testprg('shell-test'), {})
|
||||
meths.set_option_value('shellcmdflag', 'EXE', {})
|
||||
meths.nvim_set_option_value('shell', testprg('shell-test'), {})
|
||||
meths.nvim_set_option_value('shellcmdflag', 'EXE', {})
|
||||
end)
|
||||
|
||||
it('runs TermOpen event', function()
|
||||
meths.set_var('termopen_runs', {})
|
||||
meths.nvim_set_var('termopen_runs', {})
|
||||
command('autocmd TermOpen * :call add(g:termopen_runs, expand("<amatch>"))')
|
||||
command('edit term://')
|
||||
local termopen_runs = meths.get_var('termopen_runs')
|
||||
local termopen_runs = meths.nvim_get_var('termopen_runs')
|
||||
eq(1, #termopen_runs)
|
||||
local cwd = funcs.fnamemodify('.', ':p:~'):gsub([[[\/]*$]], '')
|
||||
matches('^term://' .. pesc(cwd) .. '//%d+:$', termopen_runs[1])
|
||||
@@ -39,7 +39,7 @@ describe(':edit term://*', function()
|
||||
local columns, lines = 20, 4
|
||||
local scr = get_screen(columns, lines)
|
||||
local rep = 97
|
||||
meths.set_option_value('shellcmdflag', 'REP ' .. rep, {})
|
||||
meths.nvim_set_option_value('shellcmdflag', 'REP ' .. rep, {})
|
||||
command('set shellxquote=') -- win: avoid extra quotes
|
||||
local sb = 10
|
||||
command(
|
||||
|
@@ -400,7 +400,7 @@ describe("'scrollback' option", function()
|
||||
screen = thelpers.screen_setup(nil, { 'sh' }, 30)
|
||||
end
|
||||
|
||||
meths.set_option_value('scrollback', 0, {})
|
||||
meths.nvim_set_option_value('scrollback', 0, {})
|
||||
feed_data(('%s REP 31 line%s'):format(testprg('shell-test'), is_os('win') and '\r' or '\n'))
|
||||
screen:expect { any = '30: line ' }
|
||||
retry(nil, nil, function()
|
||||
@@ -418,7 +418,7 @@ describe("'scrollback' option", function()
|
||||
screen = thelpers.screen_setup(nil, { 'sh' }, 30)
|
||||
end
|
||||
|
||||
meths.set_option_value('scrollback', 200, {})
|
||||
meths.nvim_set_option_value('scrollback', 200, {})
|
||||
|
||||
-- Wait for prompt.
|
||||
screen:expect { any = '%$' }
|
||||
@@ -429,12 +429,12 @@ describe("'scrollback' option", function()
|
||||
retry(nil, nil, function()
|
||||
expect_lines(33, 2)
|
||||
end)
|
||||
meths.set_option_value('scrollback', 10, {})
|
||||
meths.nvim_set_option_value('scrollback', 10, {})
|
||||
poke_eventloop()
|
||||
retry(nil, nil, function()
|
||||
expect_lines(16)
|
||||
end)
|
||||
meths.set_option_value('scrollback', 10000, {})
|
||||
meths.nvim_set_option_value('scrollback', 10000, {})
|
||||
retry(nil, nil, function()
|
||||
expect_lines(16)
|
||||
end)
|
||||
@@ -495,18 +495,18 @@ describe("'scrollback' option", function()
|
||||
]])
|
||||
local term_height = 6 -- Actual terminal screen height, not the scrollback
|
||||
-- Initial
|
||||
local scrollback = meths.get_option_value('scrollback', {})
|
||||
local scrollback = meths.nvim_get_option_value('scrollback', {})
|
||||
eq(scrollback + term_height, eval('line("$")'))
|
||||
-- Reduction
|
||||
scrollback = scrollback - 2
|
||||
meths.set_option_value('scrollback', scrollback, {})
|
||||
meths.nvim_set_option_value('scrollback', scrollback, {})
|
||||
eq(scrollback + term_height, eval('line("$")'))
|
||||
end)
|
||||
|
||||
it('defaults to 10000 in :terminal buffers', function()
|
||||
set_fake_shell()
|
||||
command('terminal')
|
||||
eq(10000, meths.get_option_value('scrollback', {}))
|
||||
eq(10000, meths.nvim_get_option_value('scrollback', {}))
|
||||
end)
|
||||
|
||||
it('error if set to invalid value', function()
|
||||
@@ -519,7 +519,7 @@ describe("'scrollback' option", function()
|
||||
|
||||
it('defaults to -1 on normal buffers', function()
|
||||
command('new')
|
||||
eq(-1, meths.get_option_value('scrollback', {}))
|
||||
eq(-1, meths.nvim_get_option_value('scrollback', {}))
|
||||
end)
|
||||
|
||||
it(':setlocal in a :terminal buffer', function()
|
||||
@@ -528,45 +528,45 @@ describe("'scrollback' option", function()
|
||||
-- _Global_ scrollback=-1 defaults :terminal to 10_000.
|
||||
command('setglobal scrollback=-1')
|
||||
command('terminal')
|
||||
eq(10000, meths.get_option_value('scrollback', {}))
|
||||
eq(10000, meths.nvim_get_option_value('scrollback', {}))
|
||||
|
||||
-- _Local_ scrollback=-1 in :terminal forces the _maximum_.
|
||||
command('setlocal scrollback=-1')
|
||||
retry(nil, nil, function() -- Fixup happens on refresh, not immediately.
|
||||
eq(100000, meths.get_option_value('scrollback', {}))
|
||||
eq(100000, meths.nvim_get_option_value('scrollback', {}))
|
||||
end)
|
||||
|
||||
-- _Local_ scrollback=-1 during TermOpen forces the maximum. #9605
|
||||
command('setglobal scrollback=-1')
|
||||
command('autocmd TermOpen * setlocal scrollback=-1')
|
||||
command('terminal')
|
||||
eq(100000, meths.get_option_value('scrollback', {}))
|
||||
eq(100000, meths.nvim_get_option_value('scrollback', {}))
|
||||
end)
|
||||
|
||||
it(':setlocal in a normal buffer', function()
|
||||
command('new')
|
||||
-- :setlocal to -1.
|
||||
command('setlocal scrollback=-1')
|
||||
eq(-1, meths.get_option_value('scrollback', {}))
|
||||
eq(-1, meths.nvim_get_option_value('scrollback', {}))
|
||||
-- :setlocal to anything except -1. Currently, this just has no effect.
|
||||
command('setlocal scrollback=42')
|
||||
eq(42, meths.get_option_value('scrollback', {}))
|
||||
eq(42, meths.nvim_get_option_value('scrollback', {}))
|
||||
end)
|
||||
|
||||
it(':set updates local value and global default', function()
|
||||
set_fake_shell()
|
||||
command('set scrollback=42') -- set global value
|
||||
eq(42, meths.get_option_value('scrollback', {}))
|
||||
eq(42, meths.nvim_get_option_value('scrollback', {}))
|
||||
command('terminal')
|
||||
eq(42, meths.get_option_value('scrollback', {})) -- inherits global default
|
||||
eq(42, meths.nvim_get_option_value('scrollback', {})) -- inherits global default
|
||||
command('setlocal scrollback=99')
|
||||
eq(99, meths.get_option_value('scrollback', {}))
|
||||
eq(99, meths.nvim_get_option_value('scrollback', {}))
|
||||
command('set scrollback<') -- reset to global default
|
||||
eq(42, meths.get_option_value('scrollback', {}))
|
||||
eq(42, meths.nvim_get_option_value('scrollback', {}))
|
||||
command('setglobal scrollback=734') -- new global default
|
||||
eq(42, meths.get_option_value('scrollback', {})) -- local value did not change
|
||||
eq(42, meths.nvim_get_option_value('scrollback', {})) -- local value did not change
|
||||
command('terminal')
|
||||
eq(734, meths.get_option_value('scrollback', {}))
|
||||
eq(734, meths.nvim_get_option_value('scrollback', {}))
|
||||
end)
|
||||
end)
|
||||
|
||||
|
@@ -375,7 +375,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<65;8;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'down', '', 0, 0, 7)
|
||||
meths.nvim_input_mouse('wheel', 'down', '', 0, 0, 7)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 2 }{1:0}----1----2----3----4│{11: 1 }0----1----2----3----|
|
||||
@@ -390,7 +390,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<65;48;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'down', '', 0, 0, 47)
|
||||
meths.nvim_input_mouse('wheel', 'down', '', 0, 0, 47)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 2 }{1:0}----1----2----3----4│{11: 2 }0----1----2----3----|
|
||||
@@ -405,7 +405,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<67;8;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'right', '', 0, 0, 7)
|
||||
meths.nvim_input_mouse('wheel', 'right', '', 0, 0, 7)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 2 }{1:-}---1----2----3----4-│{11: 2 }0----1----2----3----|
|
||||
@@ -420,7 +420,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<67;48;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'right', '', 0, 0, 47)
|
||||
meths.nvim_input_mouse('wheel', 'right', '', 0, 0, 47)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 2 }{1:-}---1----2----3----4-│{11: 2 }----1----2----3----4|
|
||||
@@ -435,7 +435,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<69;8;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'down', 'S', 0, 0, 7)
|
||||
meths.nvim_input_mouse('wheel', 'down', 'S', 0, 0, 7)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 5 }{1:-}---1----2----3----4-│{11: 2 }----1----2----3----4|
|
||||
@@ -450,7 +450,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<69;48;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'down', 'S', 0, 0, 47)
|
||||
meths.nvim_input_mouse('wheel', 'down', 'S', 0, 0, 47)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 5 }{1:-}---1----2----3----4-│{11: 5 }----1----2----3----4|
|
||||
@@ -465,7 +465,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<71;8;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'right', 'S', 0, 0, 7)
|
||||
meths.nvim_input_mouse('wheel', 'right', 'S', 0, 0, 7)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 5 }{1:-}---6----7----8----9 │{11: 5 }----1----2----3----4|
|
||||
@@ -480,7 +480,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<71;48;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'right', 'S', 0, 0, 47)
|
||||
meths.nvim_input_mouse('wheel', 'right', 'S', 0, 0, 47)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 5 }{1:-}---6----7----8----9 │{11: 5 }5----6----7----8----|
|
||||
@@ -495,7 +495,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<64;8;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'up', '', 0, 0, 7)
|
||||
meths.nvim_input_mouse('wheel', 'up', '', 0, 0, 7)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 4 }----6----7----8----9 │{11: 5 }5----6----7----8----|
|
||||
@@ -510,7 +510,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<64;48;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'up', '', 0, 0, 47)
|
||||
meths.nvim_input_mouse('wheel', 'up', '', 0, 0, 47)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 4 }----6----7----8----9 │{11: 4 }5----6----7----8----|
|
||||
@@ -525,7 +525,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<66;8;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'left', '', 0, 0, 7)
|
||||
meths.nvim_input_mouse('wheel', 'left', '', 0, 0, 7)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 4 }5----6----7----8----9│{11: 4 }5----6----7----8----|
|
||||
@@ -540,7 +540,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<66;48;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'left', '', 0, 0, 47)
|
||||
meths.nvim_input_mouse('wheel', 'left', '', 0, 0, 47)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 4 }5----6----7----8----9│{11: 4 }-5----6----7----8---|
|
||||
@@ -555,7 +555,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<68;8;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'up', 'S', 0, 0, 7)
|
||||
meths.nvim_input_mouse('wheel', 'up', 'S', 0, 0, 7)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 1 }5----6----7----8----9│{11: 4 }-5----6----7----8---|
|
||||
@@ -570,7 +570,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<68;48;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'up', 'S', 0, 0, 47)
|
||||
meths.nvim_input_mouse('wheel', 'up', 'S', 0, 0, 47)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 1 }5----6----7----8----9│{11: 1 }-5----6----7----8---|
|
||||
@@ -585,7 +585,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<70;8;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'left', 'S', 0, 0, 7)
|
||||
meths.nvim_input_mouse('wheel', 'left', 'S', 0, 0, 7)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 1 }0----1----2----3----4│{11: 1 }-5----6----7----8---|
|
||||
@@ -600,7 +600,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<70;48;1M')
|
||||
else
|
||||
meths.input_mouse('wheel', 'left', 'S', 0, 0, 47)
|
||||
meths.nvim_input_mouse('wheel', 'left', 'S', 0, 0, 47)
|
||||
end
|
||||
screen:expect([[
|
||||
{11: 1 }0----1----2----3----4│{11: 1 }0----1----2----3----|
|
||||
@@ -642,7 +642,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<2;5;1M')
|
||||
else
|
||||
meths.input_mouse('right', 'press', '', 0, 0, 4)
|
||||
meths.nvim_input_mouse('right', 'press', '', 0, 0, 4)
|
||||
end
|
||||
screen:expect([[
|
||||
{1:p}opup menu test |
|
||||
@@ -656,13 +656,13 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<2;5;1m')
|
||||
else
|
||||
meths.input_mouse('right', 'release', '', 0, 0, 4)
|
||||
meths.nvim_input_mouse('right', 'release', '', 0, 0, 4)
|
||||
end
|
||||
screen:expect_unchanged()
|
||||
if esc then
|
||||
feed_data('\027[<35;7;4M')
|
||||
else
|
||||
meths.input_mouse('move', '', '', 0, 3, 6)
|
||||
meths.nvim_input_mouse('move', '', '', 0, 3, 6)
|
||||
end
|
||||
screen:expect([[
|
||||
{1:p}opup menu test |
|
||||
@@ -676,7 +676,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<0;7;3M')
|
||||
else
|
||||
meths.input_mouse('left', 'press', '', 0, 2, 6)
|
||||
meths.nvim_input_mouse('left', 'press', '', 0, 2, 6)
|
||||
end
|
||||
screen:expect([[
|
||||
{1:p}opup menu test |
|
||||
@@ -688,13 +688,13 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<0;7;3m')
|
||||
else
|
||||
meths.input_mouse('left', 'release', '', 0, 2, 6)
|
||||
meths.nvim_input_mouse('left', 'release', '', 0, 2, 6)
|
||||
end
|
||||
screen:expect_unchanged()
|
||||
if esc then
|
||||
feed_data('\027[<2;45;3M')
|
||||
else
|
||||
meths.input_mouse('right', 'press', '', 0, 2, 44)
|
||||
meths.nvim_input_mouse('right', 'press', '', 0, 2, 44)
|
||||
end
|
||||
screen:expect([[
|
||||
{1:p}opup menu test |
|
||||
@@ -707,7 +707,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<34;48;6M')
|
||||
else
|
||||
meths.input_mouse('right', 'drag', '', 0, 5, 47)
|
||||
meths.nvim_input_mouse('right', 'drag', '', 0, 5, 47)
|
||||
end
|
||||
screen:expect([[
|
||||
{1:p}opup menu test |
|
||||
@@ -720,7 +720,7 @@ describe('TUI', function()
|
||||
if esc then
|
||||
feed_data('\027[<2;48;6m')
|
||||
else
|
||||
meths.input_mouse('right', 'release', '', 0, 5, 47)
|
||||
meths.nvim_input_mouse('right', 'release', '', 0, 5, 47)
|
||||
end
|
||||
screen:expect([[
|
||||
{1:p}opup menu test |
|
||||
@@ -2989,7 +2989,7 @@ describe('TUI as a client', function()
|
||||
local client_super = spawn_argv(true)
|
||||
|
||||
set_session(server)
|
||||
local server_pipe = meths.get_vvar('servername')
|
||||
local server_pipe = meths.nvim_get_vvar('servername')
|
||||
server:request('nvim_input', 'iHalloj!<Esc>')
|
||||
server:request('nvim_command', 'set notermguicolors')
|
||||
|
||||
@@ -3022,10 +3022,10 @@ describe('TUI as a client', function()
|
||||
]],
|
||||
}
|
||||
|
||||
eq(0, meths.get_vvar('shell_error'))
|
||||
eq(0, meths.nvim_get_vvar('shell_error'))
|
||||
-- exits on input eof #22244
|
||||
funcs.system({ nvim_prog, '--server', server_pipe, '--remote-ui' })
|
||||
eq(1, meths.get_vvar('shell_error'))
|
||||
eq(1, meths.nvim_get_vvar('shell_error'))
|
||||
|
||||
client_super:close()
|
||||
server:close()
|
||||
|
@@ -19,7 +19,7 @@ describe(':terminal', function()
|
||||
clear()
|
||||
-- set the statusline to a constant value because of variables like pid
|
||||
-- and current directory and to improve visibility of splits
|
||||
meths.set_option_value('statusline', '==========', {})
|
||||
meths.nvim_set_option_value('statusline', '==========', {})
|
||||
command('highlight StatusLine cterm=NONE')
|
||||
command('highlight StatusLineNC cterm=NONE')
|
||||
command('highlight VertSplit cterm=NONE')
|
||||
@@ -69,10 +69,10 @@ describe(':terminal', function()
|
||||
end)
|
||||
|
||||
it('does not change size if updated when not visible in any window #19665', function()
|
||||
local channel = meths.get_option_value('channel', {})
|
||||
local channel = meths.nvim_get_option_value('channel', {})
|
||||
command('enew')
|
||||
sleep(100)
|
||||
meths.chan_send(channel, 'foo')
|
||||
meths.nvim_chan_send(channel, 'foo')
|
||||
sleep(100)
|
||||
command('bprevious')
|
||||
screen:expect([[
|
||||
|
@@ -709,11 +709,11 @@ describe('treesitter highlighting (C)', function()
|
||||
|
||||
it('@foo.bar groups has the correct fallback behavior', function()
|
||||
local get_hl = function(name)
|
||||
return meths.get_hl_by_name(name, 1).foreground
|
||||
return meths.nvim_get_hl_by_name(name, 1).foreground
|
||||
end
|
||||
meths.set_hl(0, '@foo', { fg = 1 })
|
||||
meths.set_hl(0, '@foo.bar', { fg = 2 })
|
||||
meths.set_hl(0, '@foo.bar.baz', { fg = 3 })
|
||||
meths.nvim_set_hl(0, '@foo', { fg = 1 })
|
||||
meths.nvim_set_hl(0, '@foo.bar', { fg = 2 })
|
||||
meths.nvim_set_hl(0, '@foo.bar.baz', { fg = 3 })
|
||||
|
||||
eq(1, get_hl '@foo')
|
||||
eq(1, get_hl '@foo.a.b.c.d')
|
||||
@@ -725,7 +725,7 @@ describe('treesitter highlighting (C)', function()
|
||||
-- lookup is case insensitive
|
||||
eq(2, get_hl '@FOO.BAR.SPAM')
|
||||
|
||||
meths.set_hl(0, '@foo.missing.exists', { fg = 3 })
|
||||
meths.nvim_set_hl(0, '@foo.missing.exists', { fg = 3 })
|
||||
eq(1, get_hl '@foo.missing')
|
||||
eq(3, get_hl '@foo.missing.exists')
|
||||
eq(3, get_hl '@foo.missing.exists.bar')
|
||||
|
@@ -494,7 +494,7 @@ describe('Buffer highlighting', function()
|
||||
|
||||
it('respects priority', function()
|
||||
local set_extmark = curbufmeths.set_extmark
|
||||
local id = meths.create_namespace('')
|
||||
local id = meths.nvim_create_namespace('')
|
||||
insert [[foobar]]
|
||||
|
||||
set_extmark(id, 0, 0, {
|
||||
@@ -901,9 +901,9 @@ describe('Buffer highlighting', function()
|
||||
local set_virtual_text = curbufmeths.set_virtual_text
|
||||
eq(1, add_highlight(0, 'String', 0, 0, -1))
|
||||
eq(2, set_virtual_text(0, 0, { { '= text', 'Comment' } }, {}))
|
||||
eq(3, meths.create_namespace('my-ns'))
|
||||
eq(3, meths.nvim_create_namespace('my-ns'))
|
||||
eq(4, add_highlight(0, 'String', 0, 0, -1))
|
||||
eq(5, set_virtual_text(0, 0, { { '= text', 'Comment' } }, {}))
|
||||
eq(6, meths.create_namespace('other-ns'))
|
||||
eq(6, meths.nvim_create_namespace('other-ns'))
|
||||
end)
|
||||
end)
|
||||
|
@@ -157,16 +157,16 @@ before_each(function()
|
||||
end)
|
||||
|
||||
local function set_color_cb(funcname, callback_return, id)
|
||||
meths.set_var('id', id or '')
|
||||
meths.nvim_set_var('id', id or '')
|
||||
if id and id ~= '' and funcs.exists('*' .. funcname .. 'N') then
|
||||
command(('let g:Nvim_color_input%s = {cmdline -> %sN(%s, cmdline)}'):format(id, funcname, id))
|
||||
if callback_return then
|
||||
meths.set_var('callback_return' .. id, callback_return)
|
||||
meths.nvim_set_var('callback_return' .. id, callback_return)
|
||||
end
|
||||
else
|
||||
meths.set_var('Nvim_color_input', funcname)
|
||||
meths.nvim_set_var('Nvim_color_input', funcname)
|
||||
if callback_return then
|
||||
meths.set_var('callback_return', callback_return)
|
||||
meths.nvim_set_var('callback_return', callback_return)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -177,7 +177,7 @@ end
|
||||
describe('Command-line coloring', function()
|
||||
it('works', function()
|
||||
set_color_cb('RainBowParens')
|
||||
meths.set_option_value('more', false, {})
|
||||
meths.nvim_set_option_value('more', false, {})
|
||||
start_prompt()
|
||||
screen:expect([[
|
||||
|
|
||||
@@ -362,7 +362,7 @@ describe('Command-line coloring', function()
|
||||
|
|
||||
]])
|
||||
feed('\n')
|
||||
eq('let x = "«»«»«»«»«»"', meths.get_var('out'))
|
||||
eq('let x = "«»«»«»«»«»"', meths.nvim_get_var('out'))
|
||||
local msg = '\nE5405: Chunk 0 start 10 splits multibyte character'
|
||||
eq(msg:rep(1), funcs.execute('messages'))
|
||||
end)
|
||||
@@ -398,7 +398,7 @@ describe('Command-line coloring', function()
|
||||
:echo 42 |
|
||||
]])
|
||||
feed('\n')
|
||||
eq('echo 42', meths.get_var('out'))
|
||||
eq('echo 42', meths.nvim_get_var('out'))
|
||||
feed('<C-c>')
|
||||
screen:expect([[
|
||||
^ |
|
||||
@@ -564,16 +564,16 @@ describe('Command-line coloring', function()
|
||||
{EOB:~ }|*6
|
||||
|
|
||||
]])
|
||||
eq('1234', meths.get_var('out'))
|
||||
eq('234', meths.get_var('out1'))
|
||||
eq('34', meths.get_var('out2'))
|
||||
eq('4', meths.get_var('out3'))
|
||||
eq('1234', meths.nvim_get_var('out'))
|
||||
eq('234', meths.nvim_get_var('out1'))
|
||||
eq('34', meths.nvim_get_var('out2'))
|
||||
eq('4', meths.nvim_get_var('out3'))
|
||||
eq(0, funcs.exists('g:out4'))
|
||||
end)
|
||||
it('runs callback with the same data only once', function()
|
||||
local function new_recording_calls(...)
|
||||
eq({ ... }, meths.get_var('recording_calls'))
|
||||
meths.set_var('recording_calls', {})
|
||||
eq({ ... }, meths.nvim_get_var('recording_calls'))
|
||||
meths.nvim_set_var('recording_calls', {})
|
||||
end
|
||||
set_color_cb('Recording')
|
||||
start_prompt('')
|
||||
@@ -594,7 +594,7 @@ describe('Command-line coloring', function()
|
||||
feed('<BS>')
|
||||
new_recording_calls() -- ('a')
|
||||
feed('<CR><CR>')
|
||||
eq('', meths.get_var('out'))
|
||||
eq('', meths.nvim_get_var('out'))
|
||||
end)
|
||||
it('does not crash when callback has caught not-a-editor-command exception', function()
|
||||
source([[
|
||||
@@ -609,12 +609,12 @@ describe('Command-line coloring', function()
|
||||
]])
|
||||
set_color_cb('CaughtExc')
|
||||
start_prompt('1')
|
||||
eq(1, meths.eval('1'))
|
||||
eq(1, meths.nvim_eval('1'))
|
||||
end)
|
||||
end)
|
||||
describe('Ex commands coloring', function()
|
||||
it('works', function()
|
||||
meths.set_var('Nvim_color_cmdline', 'RainBowParens')
|
||||
meths.nvim_set_var('Nvim_color_cmdline', 'RainBowParens')
|
||||
feed(':echo (((1)))')
|
||||
screen:expect([[
|
||||
|
|
||||
@@ -623,9 +623,9 @@ describe('Ex commands coloring', function()
|
||||
]])
|
||||
end)
|
||||
it('still executes command-line even if errored out', function()
|
||||
meths.set_var('Nvim_color_cmdline', 'SplitMultibyteStart')
|
||||
meths.nvim_set_var('Nvim_color_cmdline', 'SplitMultibyteStart')
|
||||
feed(':let x = "«"\n')
|
||||
eq('«', meths.get_var('x'))
|
||||
eq('«', meths.nvim_get_var('x'))
|
||||
local msg = 'E5405: Chunk 0 start 10 splits multibyte character'
|
||||
eq('\n' .. msg, funcs.execute('messages'))
|
||||
end)
|
||||
@@ -709,7 +709,7 @@ describe('Ex commands coloring', function()
|
||||
)
|
||||
end)
|
||||
it('errors out when failing to get callback', function()
|
||||
meths.set_var('Nvim_color_cmdline', 42)
|
||||
meths.nvim_set_var('Nvim_color_cmdline', 42)
|
||||
feed(':#')
|
||||
screen:expect([[
|
||||
|
|
||||
@@ -725,10 +725,10 @@ describe('Ex commands coloring', function()
|
||||
end)
|
||||
describe('Expressions coloring support', function()
|
||||
it('works', function()
|
||||
meths.command('hi clear NvimNumber')
|
||||
meths.command('hi clear NvimNestingParenthesis')
|
||||
meths.command('hi NvimNumber guifg=Blue2')
|
||||
meths.command('hi NvimNestingParenthesis guifg=Yellow')
|
||||
meths.nvim_command('hi clear NvimNumber')
|
||||
meths.nvim_command('hi clear NvimNestingParenthesis')
|
||||
meths.nvim_command('hi NvimNumber guifg=Blue2')
|
||||
meths.nvim_command('hi NvimNestingParenthesis guifg=Yellow')
|
||||
feed(':echo <C-r>=(((1)))')
|
||||
screen:expect([[
|
||||
|
|
||||
@@ -737,10 +737,10 @@ describe('Expressions coloring support', function()
|
||||
]])
|
||||
end)
|
||||
it('does not use Nvim_color_expr', function()
|
||||
meths.set_var('Nvim_color_expr', 42)
|
||||
meths.nvim_set_var('Nvim_color_expr', 42)
|
||||
-- Used to error out due to failing to get callback.
|
||||
meths.command('hi clear NvimNumber')
|
||||
meths.command('hi NvimNumber guifg=Blue2')
|
||||
meths.nvim_command('hi clear NvimNumber')
|
||||
meths.nvim_command('hi NvimNumber guifg=Blue2')
|
||||
feed(':<C-r>=1')
|
||||
screen:expect([[
|
||||
|
|
||||
@@ -749,12 +749,12 @@ describe('Expressions coloring support', function()
|
||||
]])
|
||||
end)
|
||||
it('works correctly with non-ASCII and control characters', function()
|
||||
meths.command('hi clear NvimStringBody')
|
||||
meths.command('hi clear NvimStringQuote')
|
||||
meths.command('hi clear NvimInvalid')
|
||||
meths.command('hi NvimStringQuote guifg=Blue3')
|
||||
meths.command('hi NvimStringBody guifg=Blue4')
|
||||
meths.command('hi NvimInvalid guifg=Red guibg=Blue')
|
||||
meths.nvim_command('hi clear NvimStringBody')
|
||||
meths.nvim_command('hi clear NvimStringQuote')
|
||||
meths.nvim_command('hi clear NvimInvalid')
|
||||
meths.nvim_command('hi NvimStringQuote guifg=Blue3')
|
||||
meths.nvim_command('hi NvimStringBody guifg=Blue4')
|
||||
meths.nvim_command('hi NvimInvalid guifg=Red guibg=Blue')
|
||||
feed('i<C-r>="«»"«»')
|
||||
screen:expect([[
|
||||
|
|
||||
|
@@ -922,7 +922,7 @@ describe('cmdline redraw', function()
|
||||
|
||||
it('with rightleftcmd', function()
|
||||
command('set rightleft rightleftcmd=search shortmess+=s')
|
||||
meths.buf_set_lines(0, 0, -1, true, { "let's rock!" })
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { "let's rock!" })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
!kcor s'te^l|
|
||||
@@ -1531,7 +1531,7 @@ describe('cmdheight=0', function()
|
||||
it('with multigrid', function()
|
||||
clear { args = { '--cmd', 'set cmdheight=0' } }
|
||||
screen:attach { ext_multigrid = true }
|
||||
meths.buf_set_lines(0, 0, -1, true, { 'p' })
|
||||
meths.nvim_buf_set_lines(0, 0, -1, true, { 'p' })
|
||||
screen:expect {
|
||||
grid = [[
|
||||
## grid 1
|
||||
@@ -1701,9 +1701,9 @@ describe('cmdheight=0', function()
|
||||
{1:~ }|*3
|
||||
{3:[No Name] }|
|
||||
]])
|
||||
meths.input_mouse('left', 'press', '', 0, 6, 10)
|
||||
meths.nvim_input_mouse('left', 'press', '', 0, 6, 10)
|
||||
poke_eventloop()
|
||||
meths.input_mouse('left', 'drag', '', 0, 5, 10)
|
||||
meths.nvim_input_mouse('left', 'drag', '', 0, 5, 10)
|
||||
screen:expect_unchanged()
|
||||
end)
|
||||
end)
|
||||
|
@@ -299,7 +299,7 @@ describe('ui/cursor', function()
|
||||
}
|
||||
|
||||
-- Another cursor style.
|
||||
meths.set_option_value(
|
||||
meths.nvim_set_option_value(
|
||||
'guicursor',
|
||||
'n-v-c:ver35-blinkwait171-blinkoff172-blinkon173'
|
||||
.. ',ve:hor35,o:ver50,i-ci:block,r-cr:hor90,sm:ver42',
|
||||
@@ -326,7 +326,7 @@ describe('ui/cursor', function()
|
||||
end)
|
||||
|
||||
-- If there is no setting for guicursor, it becomes the default setting.
|
||||
meths.set_option_value(
|
||||
meths.nvim_set_option_value(
|
||||
'guicursor',
|
||||
'n:ver35-blinkwait171-blinkoff172-blinkon173-Cursor/lCursor',
|
||||
{}
|
||||
@@ -346,7 +346,7 @@ describe('ui/cursor', function()
|
||||
end)
|
||||
|
||||
it("empty 'guicursor' sets cursor_shape=block in all modes", function()
|
||||
meths.set_option_value('guicursor', '', {})
|
||||
meths.nvim_set_option_value('guicursor', '', {})
|
||||
screen:expect(function()
|
||||
-- Empty 'guicursor' sets enabled=false.
|
||||
eq(false, screen._cursor_style_enabled)
|
||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user