pretty.c: support <direction>|(<negative number>) forms
%>|(num), %><|(num) and %<|(num), where num is a positive number, sets a fixed column from the screen's left border. There is no way for us to specifiy a column relative to the right border, which is useful when you want to make use of all terminal space (on big screens). Use negative num for that. Inspired by Go's array syntax (*). (*) I know Python has this first (or before Go, at least) but the idea didn't occur to me until I learned Go. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
3ad87c807c
commit
066790d7cb
8
pretty.c
8
pretty.c
@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user