mirror of
https://github.com/neovim/neovim.git
synced 2025-11-17 15:51:32 +00:00
execute: Correctly capture output with highlight attributes
Closes #5422
This commit is contained in:
@@ -8,6 +8,7 @@ local exc_exec = helpers.exc_exec
|
||||
local funcs = helpers.funcs
|
||||
local Screen = require('test.functional.ui.screen')
|
||||
local command = helpers.command
|
||||
local feed = helpers.feed
|
||||
|
||||
describe('execute()', function()
|
||||
before_each(clear)
|
||||
@@ -69,6 +70,25 @@ describe('execute()', function()
|
||||
eq('Vim:E729: using Funcref as a String', ret)
|
||||
end)
|
||||
|
||||
it('captures output with highlights', function()
|
||||
eq('\nErrorMsg xxx ctermfg=15 ctermbg=1 guifg=White guibg=Red',
|
||||
eval('execute("hi ErrorMsg")'))
|
||||
end)
|
||||
|
||||
it('does not corrupt the command display #5422', function()
|
||||
local screen = Screen.new(70, 5)
|
||||
screen:attach()
|
||||
feed(':echo execute("hi ErrorMsg")<CR>')
|
||||
screen:expect([[
|
||||
~ |
|
||||
~ |
|
||||
:echo execute("hi ErrorMsg") |
|
||||
ErrorMsg xxx ctermfg=15 ctermbg=1 guifg=White guibg=Red |
|
||||
Press ENTER or type command to continue^ |
|
||||
]])
|
||||
feed('<CR>')
|
||||
end)
|
||||
|
||||
-- This matches Vim behavior.
|
||||
it('does not capture shell-command output', function()
|
||||
eq('\n:!echo "foo"\13\n', funcs.execute('!echo "foo"'))
|
||||
|
||||
Reference in New Issue
Block a user