mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
feat(ex_cmds): :sleep! hides the cursor while sleeping (#31493)
Problem: :sleep! not hiding the cursor is an arbitrary difference from Vim without obvious justification, and Vim's behavior isn't easily achievable in Nvim. Solution: Make :sleep! hide the cursor while sleeping. Ref:6a01b3fcc3
b5c0ade437
This commit is contained in:
parent
92e61072ac
commit
4817547ec4
@ -1569,6 +1569,8 @@ tag command action ~
|
||||
|:sign| :sig[n] manipulate signs
|
||||
|:silent| :sil[ent] run a command silently
|
||||
|:sleep| :sl[eep] do nothing for a few seconds
|
||||
|:sleep!| :sl[eep]! do nothing for a few seconds, without the
|
||||
cursor visible
|
||||
|:slast| :sla[st] split window and go to last file in the
|
||||
argument list
|
||||
|:smagic| :sm[agic] :substitute with 'magic'
|
||||
|
@ -552,8 +552,7 @@ gO Show a filetype-specific, navigable "outline" of the
|
||||
Queued messages are processed during the sleep.
|
||||
|
||||
*:sl!* *:sleep!*
|
||||
:[N]sl[eep]! [N][m] Same as above. Unlike Vim, it does not hide the
|
||||
cursor. |vim-differences|
|
||||
:[N]sl[eep]! [N][m] Same as above, but hide the cursor.
|
||||
|
||||
==============================================================================
|
||||
2. Using Vim like less or more *less*
|
||||
|
@ -670,7 +670,6 @@ Commands:
|
||||
- :promptrepl
|
||||
- :scriptversion (always version 1)
|
||||
- :shell
|
||||
- :sleep! (does not hide the cursor; same as :sleep)
|
||||
- :smile
|
||||
- :tearoff
|
||||
- :cstag
|
||||
|
@ -6101,7 +6101,9 @@ static void ex_sleep(exarg_T *eap)
|
||||
default:
|
||||
semsg(_(e_invarg2), eap->arg); return;
|
||||
}
|
||||
do_sleep(len, false);
|
||||
|
||||
// Hide the cursor if invoked with !
|
||||
do_sleep(len, eap->forceit);
|
||||
}
|
||||
|
||||
/// Sleep for "msec" milliseconds, but return early on CTRL-C.
|
||||
|
@ -361,4 +361,38 @@ describe('ui/cursor', function()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
it(':sleep does not hide cursor when sleeping', function()
|
||||
n.feed(':sleep 100m | echo 42\n')
|
||||
screen:expect({
|
||||
grid = [[
|
||||
^ |
|
||||
{1:~ }|*3
|
||||
:sleep 100m | echo 42 |
|
||||
]],
|
||||
timeout = 100,
|
||||
})
|
||||
screen:expect([[
|
||||
^ |
|
||||
{1:~ }|*3
|
||||
42 |
|
||||
]])
|
||||
end)
|
||||
|
||||
it(':sleep! hides cursor when sleeping', function()
|
||||
n.feed(':sleep! 100m | echo 42\n')
|
||||
screen:expect({
|
||||
grid = [[
|
||||
|
|
||||
{1:~ }|*3
|
||||
:sleep! 100m | echo 42 |
|
||||
]],
|
||||
timeout = 100,
|
||||
})
|
||||
screen:expect([[
|
||||
^ |
|
||||
{1:~ }|*3
|
||||
42 |
|
||||
]])
|
||||
end)
|
||||
end)
|
||||
|
Loading…
Reference in New Issue
Block a user