diff options
Diffstat (limited to 'src/screen.c')
| -rw-r--r-- | src/screen.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/screen.c b/src/screen.c index de9e04df6..d80ad6f96 100644 --- a/src/screen.c +++ b/src/screen.c @@ -163,6 +163,7 @@ static void redraw_block __ARGS((int row, int end, win_T *wp)); static int win_do_lines __ARGS((win_T *wp, int row, int line_count, int mayclear, int del)); static void win_rest_invalid __ARGS((win_T *wp)); static void msg_pos_mode __ARGS((void)); +static void recording_mode __ARGS((int attr)); #if defined(FEAT_WINDOWS) static void draw_tabline __ARGS((void)); #endif @@ -10163,7 +10164,7 @@ showmode() #endif ) { - MSG_PUTS_ATTR(_("recording"), attr); + recording_mode(attr); need_clear = TRUE; } @@ -10227,11 +10228,24 @@ unshowmode(force) { msg_pos_mode(); if (Recording) - MSG_PUTS_ATTR(_("recording"), hl_attr(HLF_CM)); + recording_mode(hl_attr(HLF_CM)); msg_clr_eos(); } } + static void +recording_mode(attr) + int attr; +{ + MSG_PUTS_ATTR(_("recording"), attr); + if (!shortmess(SHM_RECORDING)) + { + char_u s[4]; + sprintf((char *)s, " @%c", Recording); + MSG_PUTS_ATTR(s, attr); + } +} + #if defined(FEAT_WINDOWS) /* * Draw the tab pages line at the top of the Vim window. |
