feat(ui): emit "msg_clear" event after clearing the screen (#34035)

Problem:  ext_messages cannot tell when the screen was cleared, which is
          needed to clear visible messages. An empty message is also
          never emitted, but clears messages from the message grid.
Solution: Repurpose the "msg_clear" event to be emitted when the screen
          was cleared. Emit an empty message with the `empty` kind to
          hint to a UI to clear the cmdline area.
This commit is contained in:
luukvbaal
2025-06-27 00:27:21 +02:00
committed by GitHub
parent 6005bc68b2
commit 2b4c1127ad
11 changed files with 227 additions and 139 deletions

View File

@@ -196,7 +196,7 @@ describe('vim.ui_attach', function()
pos = 0,
} },
})
feed('version<CR><CR>v<Esc>')
feed('version<CR>')
screen:expect({
grid = [[
^2 |
@@ -208,7 +208,7 @@ describe('vim.ui_attach', function()
screen.messages = {} -- Ignore the build dependent :version content
end,
})
feed([[:call confirm("Save changes?", "&Yes\n&No\n&Cancel")<CR>]])
feed([[v<Esc>:call confirm("Save changes?", "&Yes\n&No\n&Cancel")<CR>]])
screen:expect({
grid = [[
^4 |