diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2021-04-08 17:04:19 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-04-08 21:19:10 +0200 |
commit | f12fa9ee6c87efa8a926973bd203ef327686fb62 (patch) | |
tree | 3fa83d5b34df870fd6e0744478444fa3bd3cda95 /userdiff.h | |
parent | userdiff style: normalize pascal regex declaration (diff) | |
download | git-f12fa9ee6c87efa8a926973bd203ef327686fb62.tar.xz git-f12fa9ee6c87efa8a926973bd203ef327686fb62.zip |
userdiff: add and use for_each_userdiff_driver()
Refactor the userdiff_find_by_namelen() function so that a new
for_each_userdiff_driver() API function does most of the work.
This will be useful for the same reason we've got other for_each_*()
API functions as part of various APIs, and will be used in a follow-up
commit.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'userdiff.h')
-rw-r--r-- | userdiff.h | 13 |
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 */ |