Code

Add option 'author-width' to consumize the width of the author column
authorRodolfo Borges <rodolfo.borges@gmail.com>
Thu, 15 May 2008 21:37:37 +0000 (18:37 -0300)
committerJonas Fonseca <fonseca@diku.dk>
Wed, 23 Jul 2008 17:12:28 +0000 (19:12 +0200)
This can be used when the first few characteres are enough to tell the
authors apart or when the default width is too narrow.

To set the width of the author column to 10 put the following in the
~/.tigrc file:

set author-width = 10

NEWS
tig.c
tigrc.5.txt

diff --git a/NEWS b/NEWS
index fcaa8531c807e27bb0d8d8b1da7c04978449c700..b7a8df17ea3b650d0d46066ddb441c20a48c3bb8 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,8 @@ Improvements:
  - Stage view: add stage-next action to jump to next diff chunk that can
    be staged. By default bound to '@'.
  - Configure: check for the ncurses header files.
+ - Add author-width option to costumize the width of the author column.
+   For example, put the following in ~/.tigrc: set author-width = 10
 
 Bug fixes:
 
diff --git a/tig.c b/tig.c
index 3802204dc05e6f294e4ecf3fcafbbc42b7c654b8..8679025a83aa2b8e4a9c7b1b5a43d83475f18317 100644 (file)
--- a/tig.c
+++ b/tig.c
@@ -451,6 +451,7 @@ static bool opt_rev_graph           = FALSE;
 static bool opt_show_refs              = TRUE;
 static int opt_num_interval            = NUMBER_INTERVAL;
 static int opt_tab_size                        = TAB_SIZE;
+static int opt_author_cols             = AUTHOR_COLS-1;
 static enum request opt_request                = REQ_VIEW_MAIN;
 static char opt_cmd[SIZEOF_STR]                = "";
 static char opt_path[SIZEOF_STR]       = "";
@@ -1149,6 +1150,11 @@ option_set_command(int argc, char *argv[])
                return OK;
        }
 
+       if (!strcmp(argv[0], "author-width")) {
+               opt_author_cols = atoi(argv[2]);
+               return OK;
+       }
+
        if (!strcmp(argv[0], "tab-size")) {
                opt_tab_size = atoi(argv[2]);
                return OK;
@@ -3677,7 +3683,7 @@ blame_draw(struct view *view, struct line *line, unsigned int lineno)
                return TRUE;
 
        if (opt_author &&
-           draw_field(view, LINE_MAIN_AUTHOR, author, AUTHOR_COLS, TRUE))
+           draw_field(view, LINE_MAIN_AUTHOR, author, opt_author_cols, TRUE))
                return TRUE;
 
        if (draw_field(view, LINE_BLAME_ID, id, ID_COLS, FALSE))
@@ -4929,7 +4935,7 @@ main_draw(struct view *view, struct line *line, unsigned int lineno)
                return TRUE;
 
        if (opt_author &&
-           draw_field(view, LINE_MAIN_AUTHOR, commit->author, AUTHOR_COLS, TRUE))
+           draw_field(view, LINE_MAIN_AUTHOR, commit->author, opt_author_cols, TRUE))
                return TRUE;
 
        if (opt_rev_graph && commit->graph_size &&
index 00fd186d22f26b66ae5f5a849c73c1ec39101629..471aab3a3fb82d6cf49762aed493818b64f75a67 100644 (file)
@@ -47,6 +47,7 @@ set show-date = yes           # Show commit date?
 set show-rev-graph = yes       # Show revision graph?
 set show-refs = yes            # Show references?
 set show-line-numbers = no     # Show line numbers?
+set author-width = 10          # Set width of the author column
 set line-graphics = no         # Disable graphics characters
 set line-number-interval = 5   # Interval between line numbers
 set tab-size = 8               # Number of spaces per tab
@@ -82,6 +83,10 @@ The following variables can be set:
        (branches, tags, and remotes) in the main view on start-up. Can all be
        toggled.
 
+'author-width' (int)::
+
+       Width of the author column.
+
 'line-graphics' (bool)::
 
        Whether to use graphic characters for line drawing.