blob: 56bc15406ffc55115fa1c827e0d1d5a7e74c516d [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
Alex Riesene3211802008-08-28 19:15:33 +020019void load_command_list(const char *prefix,
Miklos Vajna940208a2008-07-30 01:16:58 +020020 struct cmdnames *main_cmds,
21 struct cmdnames *other_cmds);
22void add_cmdname(struct cmdnames *cmds, const char *name, int len);
23/* Here we require that excludes is a sorted list. */
24void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes);
25int is_in_cmdlist(struct cmdnames *c, const char *s);
Alex Riesene3211802008-08-28 19:15:33 +020026void list_commands(const char *title, struct cmdnames *main_cmds,
27 struct cmdnames *other_cmds);
Miklos Vajna940208a2008-07-30 01:16:58 +020028
29#endif /* HELP_H */