diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-07-11 10:44:09 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-07-11 10:44:09 -0700 |
commit | 5f30bb4a8144a2132568021a18972a89c1dfd3ca (patch) | |
tree | 04a2787bdea3c13f4abc343ae6afbcaec3c4c7df /pretty.c | |
parent | 52debb683198c50354c46a7745d45252b0989c7e (diff) | |
parent | 066790d7cb0fa22e64f1276d8a0e33d18484f62a (diff) | |
download | git-5f30bb4a8144a2132568021a18972a89c1dfd3ca.tar.gz |
Merge branch 'nd/graph-width-padded' into maint
"log --graph --format=" learned that "%>|(N)" specifies the width
relative to the terminal's left edge, not relative to the area to
draw text that is to the right of the ancestry-graph section. It
also now accepts negative N that means the column limit is relative
to the right border.
* nd/graph-width-padded:
pretty.c: support <direction>|(<negative number>) forms
pretty: pass graph width to pretty formatting for use in '%>|(N)'
Diffstat (limited to 'pretty.c')
-rw-r--r-- | pretty.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -1022,9 +1022,15 @@ static size_t parse_padding_placeholder(struct strbuf *sb, int width; if (!end || end == start) return 0; - width = strtoul(start, &next, 10); + width = strtol(start, &next, 10); if (next == start || width == 0) return 0; + if (width < 0) { + if (to_column) + width += term_columns(); + if (width < 0) + return 0; + } c->padding = to_column ? -width : width; c->flush_type = flush_type; @@ -1299,6 +1305,7 @@ static size_t format_and_pad_commit(struct strbuf *sb, /* in UTF-8 */ if (!start) start = sb->buf; occupied = utf8_strnwidth(start, -1, 1); + occupied += c->pretty_ctx->graph_width; padding = (-padding) - occupied; } while (1) { |