blob: b21d7c94e8ce429ac1f58bd566c69e154d84d6a0 [file] [log] [blame]
Miklos Vajna940208a2008-07-30 01:16:58 +02001#ifndef HELP_H
2#define HELP_H
3
4struct cmdnames {
5 int alloc;
6 int cnt;
7 struct cmdname {
Johannes Schindelin8af84da2008-08-31 15:50:23 +02008 size_t len; /* also used for similarity index in help.c */
Miklos Vajna940208a2008-07-30 01:16:58 +02009 char name[FLEX_ARRAY];
10 } **names;
11};
12
Miklos Vajna3d78d1f2008-08-02 10:08:38 +020013static inline void mput_char(char c, unsigned int num)
14{
15 while(num--)
16 putchar(c);
17}
18
Thiago Farinafd5c3632010-08-31 23:29:08 -030019extern void list_common_cmds_help(void);
20extern const char *help_unknown_cmd(const char *cmd);
21extern void load_command_list(const char *prefix,
22 struct cmdnames *main_cmds,
23 struct cmdnames *other_cmds);
24extern void add_cmdname(struct cmdnames *cmds, const char *name, int len);
Miklos Vajna940208a2008-07-30 01:16:58 +020025/* Here we require that excludes is a sorted list. */
Thiago Farinafd5c3632010-08-31 23:29:08 -030026extern void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes);
27extern int is_in_cmdlist(struct cmdnames *cmds, const char *name);
Junio C Hamanof4ed0af2012-05-03 15:13:31 -070028extern void list_commands(unsigned int colopts, struct cmdnames *main_cmds, struct cmdnames *other_cmds);
Miklos Vajna940208a2008-07-30 01:16:58 +020029
Vikrant Varmae5618102013-05-04 05:34:19 +053030/*
31 * call this to die(), when it is suspected that the user mistyped a
32 * ref to the command, to give suggested "correct" refs.
33 */
34extern void help_unknown_ref(const char *ref, const char *cmd, const char *error);
Miklos Vajna940208a2008-07-30 01:16:58 +020035#endif /* HELP_H */