path: root/help.h
diff options
authorMiklos Vajna <>2008-07-29 23:16:58 (GMT)
committerJunio C Hamano <>2008-07-30 06:21:36 (GMT)
commit940208a771066229bc6a486f6a058e332b71cfe4 (patch)
treec9ec72fd1340362963049d53d78defc82dbe154c /help.h
parent1ce4790bf5eeceb212f003fffcb36069c0ebb45e (diff)
builtin-help: make some internal functions available to other builtins
Make load_command_list() capable of filtering for a given prefix and loading into a pair of "struct cmdnames" supplied by the caller. Make the static add_cmdname(), exclude_cmds() and is_in_cmdlist() functions non-static. Make list_commands() accept a custom title, and work from a pair of "struct cmdnames" supplied by the caller. Signed-off-by: Miklos Vajna <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'help.h')
1 files changed, 23 insertions, 0 deletions
diff --git a/help.h b/help.h
new file mode 100644
index 0000000..d614e54
--- /dev/null
+++ b/help.h
@@ -0,0 +1,23 @@
+#ifndef HELP_H
+#define HELP_H
+struct cmdnames {
+ int alloc;
+ int cnt;
+ struct cmdname {
+ size_t len;
+ char name[FLEX_ARRAY];
+ } **names;
+unsigned int load_command_list(const char *prefix,
+ struct cmdnames *main_cmds,
+ struct cmdnames *other_cmds);
+void add_cmdname(struct cmdnames *cmds, const char *name, int len);
+/* Here we require that excludes is a sorted list. */
+void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes);
+int is_in_cmdlist(struct cmdnames *c, const char *s);
+void list_commands(const char *title, unsigned int longest,
+ struct cmdnames *main_cmds, struct cmdnames *other_cmds);
+#endif /* HELP_H */