summaryrefslogtreecommitdiff
path: root/help.h
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@frugalware.org>2008-07-30 01:16:58 +0200
committerJunio C Hamano <gitster@pobox.com>2008-07-29 23:21:36 -0700
commit940208a771066229bc6a486f6a058e332b71cfe4 (patch)
treec9ec72fd1340362963049d53d78defc82dbe154c /help.h
parent1ce4790bf5eeceb212f003fffcb36069c0ebb45e (diff)
downloadgit-940208a771066229bc6a486f6a058e332b71cfe4.tar.gz
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 <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'help.h')
-rw-r--r--help.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/help.h b/help.h
new file mode 100644
index 0000000000..d614e5491b
--- /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 */