aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/version.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/version.c')
-rw-r--r--src/nvim/version.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 20bbcb2f8a..c3bfad4706 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -2827,7 +2827,7 @@ void intro_message(int colon)
}
if (*mesg != NUL) {
- do_intro_line(row, mesg, 0);
+ do_intro_line((int)row, mesg, 0);
}
row++;
@@ -2838,14 +2838,13 @@ void intro_message(int colon)
}
}
-static void do_intro_line(long row, char *mesg, int attr)
+static void do_intro_line(int row, char *mesg, int attr)
{
char *p;
int l;
- int clen;
// Center the message horizontally.
- long col = vim_strsize(mesg);
+ int col = vim_strsize(mesg);
col = (Columns - col) / 2;
@@ -2853,21 +2852,18 @@ static void do_intro_line(long row, char *mesg, int attr)
col = 0;
}
+ grid_line_start(&default_grid, row);
// Split up in parts to highlight <> items differently.
for (p = mesg; *p != NUL; p += l) {
- clen = 0;
-
for (l = 0;
p[l] != NUL && (l == 0 || (p[l] != '<' && p[l - 1] != '>'));
l++) {
- clen += ptr2cells(p + l);
l += utfc_ptr2len(p + l) - 1;
}
assert(row <= INT_MAX && col <= INT_MAX);
- grid_puts(&default_grid, p, l, (int)row, (int)col,
- *p == '<' ? HL_ATTR(HLF_8) : attr);
- col += clen;
+ col += grid_line_puts(col, p, l, *p == '<' ? HL_ATTR(HLF_8) : attr);
}
+ grid_line_flush();
}
/// ":intro": clear screen, display intro screen and wait for return.