mirror of
https://git.notmuchmail.org/git/notmuch
synced 2025-02-17 23:53:15 +01:00
cli: fix notmuch help additional topics
The help for hooks was missing.
This commit is contained in:
parent
d7d728a622
commit
b3e7e7925e
1 changed files with 33 additions and 7 deletions
40
notmuch.c
40
notmuch.c
|
@ -74,6 +74,18 @@ static command_t commands[] = {
|
||||||
"This message, or more detailed help for the named command." }
|
"This message, or more detailed help for the named command." }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct help_topic {
|
||||||
|
const char *name;
|
||||||
|
const char *summary;
|
||||||
|
} help_topic_t;
|
||||||
|
|
||||||
|
static help_topic_t help_topics[] = {
|
||||||
|
{ "search-terms",
|
||||||
|
"Common search term syntax." },
|
||||||
|
{ "hooks",
|
||||||
|
"Hooks that will be run before or after certain commands." },
|
||||||
|
};
|
||||||
|
|
||||||
static command_t *
|
static command_t *
|
||||||
find_command (const char *name)
|
find_command (const char *name)
|
||||||
{
|
{
|
||||||
|
@ -93,6 +105,7 @@ static void
|
||||||
usage (FILE *out)
|
usage (FILE *out)
|
||||||
{
|
{
|
||||||
command_t *command;
|
command_t *command;
|
||||||
|
help_topic_t *topic;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
fprintf (out,
|
fprintf (out,
|
||||||
|
@ -107,13 +120,22 @@ usage (FILE *out)
|
||||||
command = &commands[i];
|
command = &commands[i];
|
||||||
|
|
||||||
if (command->name)
|
if (command->name)
|
||||||
fprintf (out, " %-11s %s\n", command->name, command->summary);
|
fprintf (out, " %-12s %s\n", command->name, command->summary);
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf (out, "\n");
|
||||||
|
fprintf (out, "Additional help topics are as follows:\n");
|
||||||
|
fprintf (out, "\n");
|
||||||
|
|
||||||
|
for (i = 0; i < ARRAY_SIZE (help_topics); i++) {
|
||||||
|
topic = &help_topics[i];
|
||||||
|
fprintf (out, " %-12s %s\n", topic->name, topic->summary);
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (out, "\n");
|
fprintf (out, "\n");
|
||||||
fprintf (out,
|
fprintf (out,
|
||||||
"Use \"notmuch help <command>\" for more details on each command\n"
|
"Use \"notmuch help <command or topic>\" for more details "
|
||||||
"and \"notmuch help search-terms\" for the common search-terms syntax.\n\n");
|
"on each command or topic.\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -156,6 +178,8 @@ static int
|
||||||
notmuch_help_command (notmuch_config_t *config, int argc, char *argv[])
|
notmuch_help_command (notmuch_config_t *config, int argc, char *argv[])
|
||||||
{
|
{
|
||||||
command_t *command;
|
command_t *command;
|
||||||
|
help_topic_t *topic;
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
argc--; argv++; /* Ignore "help" */
|
argc--; argv++; /* Ignore "help" */
|
||||||
|
|
||||||
|
@ -180,10 +204,12 @@ notmuch_help_command (notmuch_config_t *config, int argc, char *argv[])
|
||||||
exec_man (page);
|
exec_man (page);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp (argv[0], "search-terms") == 0) {
|
for (i = 0; i < ARRAY_SIZE (help_topics); i++) {
|
||||||
exec_man ("notmuch-search-terms");
|
topic = &help_topics[i];
|
||||||
} else if (strcmp (argv[0], "hooks") == 0) {
|
if (strcmp (argv[0], topic->name) == 0) {
|
||||||
exec_man ("notmuch-hooks");
|
char *page = talloc_asprintf (config, "notmuch-%s", topic->name);
|
||||||
|
exec_man (page);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
|
|
Loading…
Add table
Reference in a new issue