path: root/graph.h
diff options
authorJohan Herland <>2010-07-13 21:23:39 (GMT)
committerJunio C Hamano <>2010-07-13 23:33:02 (GMT)
commit1e3d4119d21df2812584a09a18d35414efbc1336 (patch)
tree1dd4af0676e8492cddb5d0307560b01426f2d1d8 /graph.h
parent6bdc17d9a69bdd736901b115841479f5782a510e (diff)
Enable custom schemes for column colors in the graph API
Currently, the graph code is hardcoded to use ANSI color escapes for coloring the column characters in the generated graphs. This patch allows a custom scheme of colors to be set at runtime, allowing different types of color escapes to be used. A new function - graph_set_column_colors() - is added to the graph.h API, which allows a custom column_colors array (and column_colors_max value) to replace the builtin ANSI array (and _max value). The new function - if used - must be called before graph_init() is called. Signed-off-by: Johan Herland <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'graph.h')
1 files changed, 17 insertions, 0 deletions
diff --git a/graph.h b/graph.h
index f188168..aff960c 100644
--- a/graph.h
+++ b/graph.h
@@ -5,6 +5,23 @@
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.
struct git_graph *graph_init(struct rev_info *opt);