mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 23:38:17 +00:00
vim-patch:8.2.2366: when using ":sleep" the cursor is always displayed
Problem: When using ":sleep" the cursor is always displayed.
Solution: Do not display the cursor when using ":sleep!". (Jeremy Lerner,
closes vim/vim#7688)
e2edc2ed4a
Cursor showing/hiding is moved from core to TUI.
":sleep!" behaves the same as ":sleep".
This commit is contained in:
@@ -1543,6 +1543,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'
|
||||
|
@@ -494,7 +494,7 @@ gO Show a filetype-specific, navigable "outline" of the
|
||||
Default is one second. >
|
||||
:sleep "sleep for one second
|
||||
:5sleep "sleep for five seconds
|
||||
:sleep 100m "sleep for a hundred milliseconds
|
||||
:sleep 100m "sleep for 100 milliseconds
|
||||
10gs "sleep for ten seconds
|
||||
< Can be interrupted with CTRL-C.
|
||||
"gs" stands for "goto sleep".
|
||||
|
@@ -2455,7 +2455,7 @@ module.cmds = {
|
||||
},
|
||||
{
|
||||
command='sleep',
|
||||
flags=bit.bor(RANGE, COUNT, EXTRA, TRLBAR, CMDWIN),
|
||||
flags=bit.bor(BANG, RANGE, COUNT, EXTRA, TRLBAR, CMDWIN),
|
||||
addr_type='ADDR_OTHER',
|
||||
func='ex_sleep',
|
||||
},
|
||||
|
26
src/nvim/testdir/test_sleep.vim
Normal file
26
src/nvim/testdir/test_sleep.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Test for sleep and sleep! commands
|
||||
|
||||
func! s:get_time_ms()
|
||||
let timestr = reltimestr(reltime())
|
||||
let dotidx = stridx(timestr, '.')
|
||||
let sec = str2nr(timestr[:dotidx])
|
||||
let msec = str2nr(timestr[dotidx + 1:])
|
||||
return (sec * 1000) + (msec / 1000)
|
||||
endfunc
|
||||
|
||||
func! s:assert_takes_longer(cmd, time_ms)
|
||||
let start = s:get_time_ms()
|
||||
execute a:cmd
|
||||
let end = s:get_time_ms()
|
||||
call assert_true(end - start >=# a:time_ms)
|
||||
endfun
|
||||
|
||||
func! Test_sleep_bang()
|
||||
call s:assert_takes_longer('sleep 50m', 50)
|
||||
call s:assert_takes_longer('sleep! 50m', 50)
|
||||
call s:assert_takes_longer('sl 50m', 50)
|
||||
call s:assert_takes_longer('sl! 50m', 50)
|
||||
call s:assert_takes_longer('1sleep', 1000)
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
Reference in New Issue
Block a user