diff options
author | Evgeni Chasnovski <evgeni.chasnovski@gmail.com> | 2024-03-28 15:30:16 +0200 |
---|---|---|
committer | Evgeni Chasnovski <evgeni.chasnovski@gmail.com> | 2024-03-29 11:44:49 +0200 |
commit | 9530a23016808fa5587e07d3d335852b90069c0f (patch) | |
tree | db87befc157743e2603e94d1912568fb3fe4abf0 /src/nvim/version.c | |
parent | b1615a35f08ae3073f7d2e4e8e080907f0d48e92 (diff) | |
download | rneovim-9530a23016808fa5587e07d3d335852b90069c0f.tar.gz rneovim-9530a23016808fa5587e07d3d335852b90069c0f.tar.bz2 rneovim-9530a23016808fa5587e07d3d335852b90069c0f.zip |
fix(intro): link showing intro to state at start
Problem: Current behavior of stateful intro message is too persistent.
For example, it is still drawn if new empty buffer is shown in current
window (either by explicitly setting it or after `tabnew`). Although
the buffer is empty, the act of it being shown should be made visible.
Solution: Make intro message persist if all is true:
- Current buffer is the same as it was just after start, i.e. empty
nameless with initial handle (i.e. 1).
- Current window is the same as it was just after start, i.e. single
non-floating with initial handle.
Diffstat (limited to 'src/nvim/version.c')
-rw-r--r-- | src/nvim/version.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nvim/version.c b/src/nvim/version.c index 14e2491d18..5443371ba7 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -2715,9 +2715,11 @@ void list_version(void) /// Whether it still is not too late to show an intro message bool may_show_intro(void) { - return (buf_is_empty(firstwin->w_buffer) - && (firstwin->w_buffer->b_fname == NULL) - && one_window(firstwin) + return (buf_is_empty(curbuf) + && (curbuf->b_fname == NULL) + && (curbuf->handle == 1) + && (curwin->handle == LOWEST_WIN_ID) + && one_window(curwin) && (vim_strchr(p_shm, SHM_INTRO) == NULL)); } |