rebase: split the cherry-pick stuff
[git] / help.h
1 #ifndef HELP_H
2 #define HELP_H
3
4 struct cmdnames {
5         int alloc;
6         int cnt;
7         struct cmdname {
8                 size_t len; /* also used for similarity index in help.c */
9                 char name[FLEX_ARRAY];
10         } **names;
11 };
12
13 static inline void mput_char(char c, unsigned int num)
14 {
15         while(num--)
16                 putchar(c);
17 }
18
19 extern void list_common_cmds_help(void);
20 extern const char *help_unknown_cmd(const char *cmd);
21 extern void load_command_list(const char *prefix,
22                               struct cmdnames *main_cmds,
23                               struct cmdnames *other_cmds);
24 extern void add_cmdname(struct cmdnames *cmds, const char *name, int len);
25 /* Here we require that excludes is a sorted list. */
26 extern void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes);
27 extern int is_in_cmdlist(struct cmdnames *cmds, const char *name);
28 extern void list_commands(unsigned int colopts, struct cmdnames *main_cmds, struct cmdnames *other_cmds);
29
30 /*
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  */
34 extern void help_unknown_ref(const char *ref, const char *cmd, const char *error);
35 #endif /* HELP_H */