Use 3 as the minimum width of formatted line numbers
authorJonas Fonseca <fonseca@diku.dk>
Fri, 4 Apr 2008 09:43:23 +0000 (11:43 +0200)
committerJonas Fonseca <fonseca@diku.dk>
Fri, 4 Apr 2008 09:43:23 +0000 (11:43 +0200)
It gives a more pleasant experience when "digging" through commits.
And of course, most commits will have diffs smaller than 1000 lines!?
For the blame view it means less flickering in the startup when the
whole file is read.

tig.c

diff --git a/tig.c b/tig.c
index 6bb5ebb..4dd8245 100644 (file)
--- a/tig.c
+++ b/tig.c
@@ -1490,14 +1490,15 @@ draw_lineno(struct view *view, unsigned int lineno, int max, bool selected)
 {
        static char fmt[] = "%1ld";
        char number[10] = "          ";
-       int max_number = MIN(view->digits, STRING_SIZE(number));
+       int digits3 = view->digits < 3 ? 3 : view->digits;
+       int max_number = MIN(digits3, STRING_SIZE(number));
        bool showtrimmed = FALSE;
        int col;
 
        lineno += view->offset + 1;
        if (lineno == 1 || (lineno % opt_num_interval) == 0) {
                if (view->digits <= 9)
-                       fmt[1] = '0' + view->digits;
+                       fmt[1] = '0' + digits3;
 
                if (!string_format(number, fmt, lineno))
                        number[0] = 0;