diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2018-11-03 14:40:22 +0100 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2018-11-11 09:54:03 +0100 |
commit | 520ec3dbfd208c99f9b184ab0a4baeab9a93b556 (patch) | |
tree | a2322de3b3b5bde4eb9ba5157818d537c86db85f /src/nvim/message.c | |
parent | f8639dc99cb085432b14da086af316176152bc1f (diff) | |
download | rneovim-520ec3dbfd208c99f9b184ab0a4baeab9a93b556.tar.gz rneovim-520ec3dbfd208c99f9b184ab0a4baeab9a93b556.tar.bz2 rneovim-520ec3dbfd208c99f9b184ab0a4baeab9a93b556.zip |
UI/TUI: improvements and cleanups for scrolling and clearing
- TUI: _never_ rely on BCE for implicit clearing, only explicit commands.
- TUI: use unibi_erase_chars when possible.
- TUI: use end-exclusive ranges for invalid and cleared areas
- screen: scrolling leaves scrolled in aree undefined. This is a
conservative change, a client assuming the old semantics will still
behave correctly.
- screen: factor out vsep handling from line drawing. This is needed
anyway for the multigrid refactor.
- screen: simplifications of win_do_lines
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r-- | src/nvim/message.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c index edce30e6fa..10f4905fb2 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -1896,6 +1896,9 @@ static void msg_scroll_up(void) } else { screen_del_lines(0, 1, (int)Rows, 0, Columns); } + // TODO(bfredl): when msgsep display is properly batched, this fill should be + // eliminated. + screen_fill(Rows-1, Rows, 0, (int)Columns, ' ', ' ', 0); } /* @@ -2311,6 +2314,7 @@ static int do_more_prompt(int typed_char) if (toscroll == -1 && screen_ins_lines(0, 1, (int)Rows, 0, (int)Columns) == OK) { + screen_fill(0, 1, 0, (int)Columns, ' ', ' ', 0); // display line at top (void)disp_sb_line(0, mp); } else { |