X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=graph.h;h=aff960c7e8f63f49e3ec16afb0b891cf257ce999;hb=a12c6b0149e3dadd0701dac4fd0ba2463d251650;hp=b82ae87a491454aa119476ac9609ad176e8c9406;hpb=71ee7fd15457a0252c089420b5b66de266dcbd2f;p=git.git diff --git a/graph.h b/graph.h index b82ae87a4..aff960c7e 100644 --- a/graph.h +++ b/graph.h @@ -4,6 +4,23 @@ /* A graph is a pointer to this opaque structure */ struct git_graph; +/* + * Set up a custom scheme for column colors. + * + * The default column color scheme inserts ANSI color escapes to colorize + * the graph. The various color escapes are stored in an array of strings + * where each entry corresponds to a color, except for the last entry, + * which denotes the escape for resetting the color back to the default. + * When generating the graph, strings from this array are inserted before + * and after the various column characters. + * + * This function allows you to enable a custom array of color escapes. + * The 'colors_max' argument is the index of the last "reset" entry. + * + * This functions must be called BEFORE graph_init() is called. + */ +void graph_set_column_colors(const char **colors, unsigned short colors_max); + /* * Create a new struct git_graph. */ @@ -32,6 +49,17 @@ void graph_update(struct git_graph *graph, struct commit *commit); */ int graph_is_commit_finished(struct git_graph const *graph); +/* + * Output the next line for a graph. + * This formats the next graph line into the specified strbuf. It is not + * terminated with a newline. + * + * Returns 1 if the line includes the current commit, and 0 otherwise. + * graph_next_line() will return 1 exactly once for each time + * graph_update() is called. + */ +int graph_next_line(struct git_graph *graph, struct strbuf *sb); + /* * graph_show_*: helper functions for printing to stdout