decorate: refactor format_decorations()

Rename the format_decorations_extended function to format_decorations
and drop the format_decorations wrapper macro. Pass the prefix, suffix
and separator strings as a single 'struct format_decorations' pointer
argument instead of separate arguments. Use default values defined in
the function when either the struct pointer or any of the struct fields
are NULL. This is to ease extension with additional options.

Signed-off-by: Andy Koppe <andy.koppe@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Andy Koppe
2023-08-20 19:50:04 +01:00
committed by Junio C Hamano
parent 31a922f838
commit a3883a6532
3 changed files with 35 additions and 16 deletions

View File

@ -1537,11 +1537,18 @@ static size_t format_commit_one(struct strbuf *sb, /* in UTF-8 */
strbuf_addstr(sb, get_revision_mark(NULL, commit));
return 1;
case 'd':
format_decorations(sb, commit, c->auto_color);
format_decorations(sb, commit, c->auto_color, NULL);
return 1;
case 'D':
format_decorations_extended(sb, commit, c->auto_color, "", ", ", "");
return 1;
{
const struct decoration_options opts = {
.prefix = "",
.suffix = ""
};
format_decorations(sb, commit, c->auto_color, &opts);
return 1;
}
case 'S': /* tag/branch like --source */
if (!(c->pretty_ctx->rev && c->pretty_ctx->rev->sources))
return 0;