mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
api: fix nvim_exec() silencing behaviour (#14413)
Previously nvim_exec would silent output no matter whether output is true or false. Now output is only silent and captured when output is true.
This commit is contained in:
parent
d7f9e58e40
commit
01493e7990
@ -104,10 +104,14 @@ String nvim_exec(String src, Boolean output, Error *err)
|
||||
}
|
||||
|
||||
try_start();
|
||||
msg_silent++;
|
||||
if (output) {
|
||||
msg_silent++;
|
||||
}
|
||||
do_source_str(src.data, "nvim_exec()");
|
||||
capture_ga = save_capture_ga;
|
||||
msg_silent = save_msg_silent;
|
||||
if (output) {
|
||||
capture_ga = save_capture_ga;
|
||||
msg_silent = save_msg_silent;
|
||||
}
|
||||
try_end(err);
|
||||
|
||||
if (ERROR_SET(err)) {
|
||||
|
@ -193,6 +193,44 @@ describe('API', function()
|
||||
eq('', nvim('exec', 'echo', true))
|
||||
eq('foo 42', nvim('exec', 'echo "foo" 42', true))
|
||||
end)
|
||||
|
||||
it('displays messages when output=false', function()
|
||||
local screen = Screen.new(40, 8)
|
||||
screen:attach()
|
||||
screen:set_default_attr_ids({
|
||||
[0] = {bold=true, foreground=Screen.colors.Blue},
|
||||
})
|
||||
meths.exec("echo 'hello'", false)
|
||||
screen:expect{grid=[[
|
||||
^ |
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
hello |
|
||||
]]}
|
||||
end)
|
||||
|
||||
it('does\'t display messages when output=true', function()
|
||||
local screen = Screen.new(40, 8)
|
||||
screen:attach()
|
||||
screen:set_default_attr_ids({
|
||||
[0] = {bold=true, foreground=Screen.colors.Blue},
|
||||
})
|
||||
meths.exec("echo 'hello'", true)
|
||||
screen:expect{grid=[[
|
||||
^ |
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
|
|
||||
]]}
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('nvim_command', function()
|
||||
|
Loading…
Reference in New Issue
Block a user