worktree: teach `list` to annotate prunable worktree
[git] / log-tree.h
1 #ifndef LOG_TREE_H
2 #define LOG_TREE_H
3
4 #include "revision.h"
5
6 struct log_info {
7         struct commit *commit, *parent;
8 };
9
10 struct decoration_filter {
11         struct string_list *include_ref_pattern;
12         struct string_list *exclude_ref_pattern;
13         struct string_list *exclude_ref_config_pattern;
14 };
15
16 int parse_decorate_color_config(const char *var, const char *slot_name, const char *value);
17 void init_log_tree_opt(struct rev_info *);
18 int log_tree_diff_flush(struct rev_info *);
19 int log_tree_commit(struct rev_info *, struct commit *);
20 int log_tree_opt_parse(struct rev_info *, const char **, int);
21 void show_log(struct rev_info *opt);
22 void format_decorations_extended(struct strbuf *sb, const struct commit *commit,
23                              int use_color,
24                              const char *prefix,
25                              const char *separator,
26                              const char *suffix);
27 #define format_decorations(strbuf, commit, color) \
28                              format_decorations_extended((strbuf), (commit), (color), " (", ", ", ")")
29 void show_decorations(struct rev_info *opt, struct commit *commit);
30 void log_write_email_headers(struct rev_info *opt, struct commit *commit,
31                              const char **extra_headers_p,
32                              int *need_8bit_cte_p,
33                              int maybe_multipart);
34 void load_ref_decorations(struct decoration_filter *filter, int flags);
35
36 void fmt_output_commit(struct strbuf *, struct commit *, struct rev_info *);
37 void fmt_output_subject(struct strbuf *, const char *subject, struct rev_info *);
38 void fmt_output_email_subject(struct strbuf *, struct rev_info *);
39
40 #endif