diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2019-06-13 18:46:15 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2019-06-13 20:22:37 +0200 |
commit | 21cf4b0ce63edd3bc5185d557a6bb8610e7c67b0 (patch) | |
tree | f540ef7e61ff377cf17c71c48cb84ece162b3945 /src/nvim/normal.c | |
parent | cc4d463cad6ccc81ca4803092be09cd27185d646 (diff) | |
download | rneovim-21cf4b0ce63edd3bc5185d557a6bb8610e7c67b0.tar.gz rneovim-21cf4b0ce63edd3bc5185d557a6bb8610e7c67b0.tar.bz2 rneovim-21cf4b0ce63edd3bc5185d557a6bb8610e7c67b0.zip |
screen: showcmd should never move the cursor
Also restore the symmetry between grid_puts_line_start and
grid_puts_line_flush.
Diffstat (limited to 'src/nvim/normal.c')
-rw-r--r-- | src/nvim/normal.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c index f99e42e2e4..de8ff52fe1 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -3386,8 +3386,8 @@ bool add_to_showcmd(int c) void add_to_showcmd_c(int c) { - if (!add_to_showcmd(c)) - setcursor(); + add_to_showcmd(c); + setcursor(); } /* @@ -3448,18 +3448,18 @@ static void display_showcmd(void) return; } + int showcmd_row = (int)Rows - 1; + grid_puts_line_start(&default_grid, showcmd_row); + if (!showcmd_is_clear) { - grid_puts(&default_grid, showcmd_buf, (int)Rows - 1, sc_col, 0); + grid_puts(&default_grid, showcmd_buf, showcmd_row, sc_col, 0); } - /* - * clear the rest of an old message by outputting up to SHOWCMD_COLS - * spaces - */ - grid_puts(&default_grid, (char_u *)" " + len, (int)Rows - 1, + // clear the rest of an old message by outputting up to SHOWCMD_COLS spaces + grid_puts(&default_grid, (char_u *)" " + len, showcmd_row, sc_col + len, 0); - setcursor(); /* put cursor back where it belongs */ + grid_puts_line_flush(false); } /* |