mirror of
https://github.com/neovim/neovim.git
synced 2025-10-07 18:36:30 +00:00
vim-patch:8.1.1197: when starting with multiple tabs file messages is confusing
Problem: When starting with multiple tabs file messages is confusing.
Solution: Set 'shortmess' when loading the other tabs. (Christian Brabandt)
c75e812623
This commit is contained in:
@@ -1535,6 +1535,7 @@ static void edit_buffers(mparm_T *parmp, char_u *cwd)
|
||||
int i;
|
||||
bool advance = true;
|
||||
win_T *win;
|
||||
char *p_shm_save = NULL;
|
||||
|
||||
/*
|
||||
* Don't execute Win/Buf Enter/Leave autocommands here
|
||||
@@ -1566,6 +1567,16 @@ static void edit_buffers(mparm_T *parmp, char_u *cwd)
|
||||
if (curtab->tp_next == NULL) /* just checking */
|
||||
break;
|
||||
goto_tabpage(0);
|
||||
// Temporarily reset 'shm' option to not print fileinfo when
|
||||
// loading the other buffers. This would overwrite the already
|
||||
// existing fileinfo for the first tab.
|
||||
if (i == 1) {
|
||||
char buf[100];
|
||||
|
||||
p_shm_save = xstrdup((char *)p_shm);
|
||||
snprintf(buf, sizeof(buf), "F%s", p_shm);
|
||||
set_option_value("shm", 0L, buf, 0);
|
||||
}
|
||||
} else {
|
||||
if (curwin->w_next == NULL) /* just checking */
|
||||
break;
|
||||
@@ -1606,6 +1617,11 @@ static void edit_buffers(mparm_T *parmp, char_u *cwd)
|
||||
}
|
||||
}
|
||||
|
||||
if (p_shm_save != NULL) {
|
||||
set_option_value("shm", 0L, p_shm_save, 0);
|
||||
xfree(p_shm_save);
|
||||
}
|
||||
|
||||
if (parmp->window_layout == WIN_TABS)
|
||||
goto_tabpage(1);
|
||||
--autocmd_no_enter;
|
||||
|
@@ -1,6 +1,7 @@
|
||||
" Tests for startup.
|
||||
|
||||
source shared.vim
|
||||
source screendump.vim
|
||||
|
||||
" Check that loading startup.vim works.
|
||||
func Test_startup_script()
|
||||
@@ -559,3 +560,15 @@ func Test_zzz_startinsert()
|
||||
endif
|
||||
call delete('Xtestout')
|
||||
endfunc
|
||||
|
||||
func Test_start_with_tabs()
|
||||
if !CanRunVimInTerminal()
|
||||
return
|
||||
endif
|
||||
|
||||
let buf = RunVimInTerminal('-p a b c', {})
|
||||
call VerifyScreenDump(buf, 'Test_start_with_tabs', {})
|
||||
|
||||
" clean up
|
||||
call StopVimInTerminal(buf)
|
||||
endfunc
|
||||
|
@@ -251,6 +251,23 @@ describe('startup', function()
|
||||
|
|
||||
]])
|
||||
end)
|
||||
|
||||
it('sets \'shortmess\' when loading other tabs', function()
|
||||
clear({args={'-p', 'a', 'b', 'c'}})
|
||||
local screen = Screen.new(25, 4)
|
||||
screen:attach()
|
||||
screen:expect({grid=[[
|
||||
{1: a }{2: b c }{3: }{2:X}|
|
||||
^ |
|
||||
{4:~ }|
|
||||
|
|
||||
]], attr_ids={
|
||||
[1] = {bold = true},
|
||||
[2] = {background = Screen.colors.LightGrey, underline = true},
|
||||
[3] = {reverse = true},
|
||||
[4] = {bold = true, foreground = Screen.colors.Blue1},
|
||||
}})
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('sysinit', function()
|
||||
|
Reference in New Issue
Block a user