#endif // FEAT_STL_OPT
/*
- * Get relative cursor position in window into "buf[buflen]", in the form 99%,
- * using "Top", "Bot" or "All" when appropriate.
+ * Get relative cursor position in window into "buf[buflen]", in the localized
+ * percentage form like %99, 99%; using "Top", "Bot" or "All" when appropriate.
*/
void
get_rel_pos(
below = wp->w_buffer->b_ml.ml_line_count - wp->w_botline + 1;
if (below <= 0)
vim_strncpy(buf, (char_u *)(above == 0 ? _("All") : _("Bot")),
- (size_t)(buflen - 1));
+ (size_t)(buflen - 1));
else if (above <= 0)
vim_strncpy(buf, (char_u *)_("Top"), (size_t)(buflen - 1));
else
- vim_snprintf((char *)buf, (size_t)buflen, "%2d%%", above > 1000000L
- ? (int)(above / ((above + below) / 100L))
- : (int)(above * 100L / (above + below)));
+ {
+ int perc = (above > 1000000L)
+ ? (int)(above / ((above + below) / 100L))
+ : (int)(above * 100L / (above + below));
+
+ char *p = (char *)buf;
+ size_t l = buflen;
+ if (perc < 10)
+ {
+ // prepend one space
+ buf[0] = ' ';
+ ++p;
+ --l;
+ }
+ // localized percentage value
+ vim_snprintf(p, l, _("%d%%"), perc);
+ }
}
/*