mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.1.2143: cannot see each command even when 'verbose' is set
Problem: Cannot see each command even when 'verbose' is set.
Solution: List each command when 'verbose' is at least 16.
4facea310c
Cherry-pick Test_tselect() from patch 8.1.2141.
It requires screendump so it won't run.
I cannot port it to a lua screen test.
This commit is contained in:
parent
2000e1621d
commit
970d6ee0d1
@ -258,6 +258,27 @@ void do_exmode(int improved)
|
|||||||
msg_scroll = save_msg_scroll;
|
msg_scroll = save_msg_scroll;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Print the executed command for when 'verbose' is set.
|
||||||
|
// When "lnum" is 0 only print the command.
|
||||||
|
static void msg_verbose_cmd(linenr_T lnum, char_u *cmd)
|
||||||
|
FUNC_ATTR_NONNULL_ALL
|
||||||
|
{
|
||||||
|
no_wait_return++;
|
||||||
|
verbose_enter_scroll();
|
||||||
|
|
||||||
|
if (lnum == 0) {
|
||||||
|
smsg(_("Executing: %s"), cmd);
|
||||||
|
} else {
|
||||||
|
smsg(_("line %" PRIdLINENR ": %s"), lnum, cmd);
|
||||||
|
}
|
||||||
|
if (msg_silent == 0) {
|
||||||
|
msg_puts("\n"); // don't overwrite this
|
||||||
|
}
|
||||||
|
|
||||||
|
verbose_leave_scroll();
|
||||||
|
no_wait_return--;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Execute a simple command line. Used for translated commands like "*".
|
* Execute a simple command line. Used for translated commands like "*".
|
||||||
*/
|
*/
|
||||||
@ -568,16 +589,7 @@ int do_cmdline(char_u *cmdline, LineGetter fgetline,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (p_verbose >= 15 && sourcing_name != NULL) {
|
if (p_verbose >= 15 && sourcing_name != NULL) {
|
||||||
++no_wait_return;
|
msg_verbose_cmd(sourcing_lnum, cmdline_copy);
|
||||||
verbose_enter_scroll();
|
|
||||||
|
|
||||||
smsg(_("line %" PRIdLINENR ": %s"), sourcing_lnum, cmdline_copy);
|
|
||||||
if (msg_silent == 0) {
|
|
||||||
msg_puts("\n"); // don't overwrite this either
|
|
||||||
}
|
|
||||||
|
|
||||||
verbose_leave_scroll();
|
|
||||||
--no_wait_return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1269,6 +1281,10 @@ static char_u * do_one_cmd(char_u **cmdlinep,
|
|||||||
goto doend;
|
goto doend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (p_verbose >= 16) {
|
||||||
|
msg_verbose_cmd(0, *cmdlinep);
|
||||||
|
}
|
||||||
|
|
||||||
// 1. Skip comment lines and leading white space and colons.
|
// 1. Skip comment lines and leading white space and colons.
|
||||||
// 2. Handle command modifiers.
|
// 2. Handle command modifiers.
|
||||||
|
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
" Tests for editing the command line.
|
" Tests for editing the command line.
|
||||||
|
|
||||||
|
source check.vim
|
||||||
|
source screendump.vim
|
||||||
|
|
||||||
func Test_complete_tab()
|
func Test_complete_tab()
|
||||||
call writefile(['testfile'], 'Xtestfile')
|
call writefile(['testfile'], 'Xtestfile')
|
||||||
call feedkeys(":e Xtestf\t\r", "tx")
|
call feedkeys(":e Xtestf\t\r", "tx")
|
||||||
@ -718,6 +721,26 @@ func Test_verbosefile()
|
|||||||
call delete('Xlog')
|
call delete('Xlog')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_verbose_option()
|
||||||
|
CheckScreendump
|
||||||
|
|
||||||
|
let lines =<< trim [SCRIPT]
|
||||||
|
command DoSomething echo 'hello' |set ts=4 |let v = '123' |echo v
|
||||||
|
call feedkeys("\r", 't') " for the hit-enter prompt
|
||||||
|
set verbose=20
|
||||||
|
[SCRIPT]
|
||||||
|
call writefile(lines, 'XTest_verbose')
|
||||||
|
|
||||||
|
let buf = RunVimInTerminal('-S XTest_verbose', {'rows': 12})
|
||||||
|
call term_wait(buf, 100)
|
||||||
|
call term_sendkeys(buf, ":DoSomething\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_verbose_option_1', {})
|
||||||
|
|
||||||
|
" clean up
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
call delete('XTest_verbose')
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_setcmdpos()
|
func Test_setcmdpos()
|
||||||
func InsertTextAtPos(text, pos)
|
func InsertTextAtPos(text, pos)
|
||||||
call assert_equal(0, setcmdpos(a:pos))
|
call assert_equal(0, setcmdpos(a:pos))
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
" Tests for tagjump (tags and special searches)
|
" Tests for tagjump (tags and special searches)
|
||||||
|
|
||||||
|
source check.vim
|
||||||
|
source screendump.vim
|
||||||
|
|
||||||
" SEGV occurs in older versions. (At least 7.4.1748 or older)
|
" SEGV occurs in older versions. (At least 7.4.1748 or older)
|
||||||
func Test_ptag_with_notagstack()
|
func Test_ptag_with_notagstack()
|
||||||
set notagstack
|
set notagstack
|
||||||
@ -551,6 +554,37 @@ func Test_tag_line_toolong()
|
|||||||
let &verbose = old_vbs
|
let &verbose = old_vbs
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
" Check that using :tselect does not run into the hit-enter prompt.
|
||||||
|
" Requires a terminal to trigger that prompt.
|
||||||
|
func Test_tselect()
|
||||||
|
CheckScreendump
|
||||||
|
|
||||||
|
call writefile([
|
||||||
|
\ 'main Xtest.h /^void test();$/;" f',
|
||||||
|
\ 'main Xtest.c /^int main()$/;" f',
|
||||||
|
\ 'main Xtest.x /^void test()$/;" f',
|
||||||
|
\ ], 'Xtags')
|
||||||
|
cal writefile([
|
||||||
|
\ 'int main()',
|
||||||
|
\ 'void test()',
|
||||||
|
\ ], 'Xtest.c')
|
||||||
|
|
||||||
|
let lines =<< trim [SCRIPT]
|
||||||
|
set tags=Xtags
|
||||||
|
[SCRIPT]
|
||||||
|
call writefile(lines, 'XTest_tselect')
|
||||||
|
let buf = RunVimInTerminal('-S XTest_tselect', {'rows': 10, 'cols': 50})
|
||||||
|
|
||||||
|
call term_wait(buf, 100)
|
||||||
|
call term_sendkeys(buf, ":tselect main\<CR>2\<CR>")
|
||||||
|
call VerifyScreenDump(buf, 'Test_tselect_1', {})
|
||||||
|
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
call delete('Xtags')
|
||||||
|
call delete('Xtest.c')
|
||||||
|
call delete('XTest_tselect')
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_tagline()
|
func Test_tagline()
|
||||||
call writefile([
|
call writefile([
|
||||||
\ 'provision Xtest.py /^ def provision(self, **kwargs):$/;" m line:1 language:Python class:Foo',
|
\ 'provision Xtest.py /^ def provision(self, **kwargs):$/;" m line:1 language:Python class:Foo',
|
||||||
|
Loading…
Reference in New Issue
Block a user