aboutsummaryrefslogtreecommitdiffstats
path: root/userdiff.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-04-20 17:23:34 -0700
committerJunio C Hamano <gitster@pobox.com>2021-04-20 17:23:34 -0700
commitab99efc817d463ddcd507a6457d33cd7643ed6dd (patch)
tree2b1597971df4d0e396e63e5c323f5c65281282fb /userdiff.h
parentMerge branch 'ar/userdiff-scheme' (diff)
parentblame tests: simplify userdiff driver test (diff)
downloadgit-ab99efc817d463ddcd507a6457d33cd7643ed6dd.tar.gz
git-ab99efc817d463ddcd507a6457d33cd7643ed6dd.zip
Merge branch 'ab/userdiff-tests'
A bit of code clean-up and a lot of test clean-up around userdiff area. * ab/userdiff-tests: blame tests: simplify userdiff driver test blame tests: don't rely on t/t4018/ directory userdiff: remove support for "broken" tests userdiff tests: list builtin drivers via test-tool userdiff tests: explicitly test "default" pattern userdiff: add and use for_each_userdiff_driver() userdiff style: normalize pascal regex declaration userdiff style: declare patterns with consistent style userdiff style: re-order drivers in alphabetical order
Diffstat (limited to 'userdiff.h')
-rw-r--r--userdiff.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/userdiff.h b/userdiff.h
index 203057e13e..aee91bc77e 100644
--- a/userdiff.h
+++ b/userdiff.h
@@ -21,6 +21,12 @@ struct userdiff_driver {
struct notes_cache *textconv_cache;
int textconv_want_cache;
};
+enum userdiff_driver_type {
+ USERDIFF_DRIVER_TYPE_BUILTIN = 1<<0,
+ USERDIFF_DRIVER_TYPE_CUSTOM = 1<<1,
+};
+typedef int (*each_userdiff_driver_fn)(struct userdiff_driver *,
+ enum userdiff_driver_type, void *);
int userdiff_config(const char *k, const char *v);
struct userdiff_driver *userdiff_find_by_name(const char *name);
@@ -34,4 +40,11 @@ struct userdiff_driver *userdiff_find_by_path(struct index_state *istate,
struct userdiff_driver *userdiff_get_textconv(struct repository *r,
struct userdiff_driver *driver);
+/*
+ * Iterate over all userdiff drivers. The userdiff_driver_type
+ * argument to each_userdiff_driver_fn indicates their type. Return
+ * non-zero to exit early from the loop.
+ */
+int for_each_userdiff_driver(each_userdiff_driver_fn, void *);
+
#endif /* USERDIFF */