mirror of https://github.com/djcb/mu.git
mu: make command output more useful
This commit is contained in:
parent
e1e26d1da2
commit
4e5f6b4b0a
|
@ -29,8 +29,12 @@
|
||||||
#include "mu-config.h"
|
#include "mu-config.h"
|
||||||
#include "mu-cmd.h"
|
#include "mu-cmd.h"
|
||||||
|
|
||||||
|
|
||||||
static MuConfig MU_CONFIG;
|
static MuConfig MU_CONFIG;
|
||||||
|
|
||||||
|
#define color_maybe(C) (MU_CONFIG.nocolor ? "" : (C))
|
||||||
|
|
||||||
|
|
||||||
static MuConfigFormat
|
static MuConfigFormat
|
||||||
get_output_format (const char *formatstr)
|
get_output_format (const char *formatstr)
|
||||||
{
|
{
|
||||||
|
@ -151,11 +155,35 @@ config_options_group_init (void)
|
||||||
return og;
|
return og;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
index_post_parse_func (GOptionContext *context, GOptionGroup *group,
|
||||||
|
gpointer data, GError **error)
|
||||||
|
{
|
||||||
|
if (!MU_CONFIG.maildir && !MU_CONFIG.my_addresses)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
g_printerr ("%sNOTE%s: as of mu 1.3.8, 'mu index' no longer uses the\n"
|
||||||
|
"--maildir/-m or --my-address options.\n\n",
|
||||||
|
color_maybe(MU_COLOR_RED), color_maybe(MU_COLOR_DEFAULT));
|
||||||
|
g_printerr ("Instead, these options should be passed to 'mu init'.\n");
|
||||||
|
g_printerr ("See the mu-init(1) or the mu4e reference manual,\n'Initializing the message store' for details.\n\n");
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static GOptionGroup*
|
static GOptionGroup*
|
||||||
config_options_group_index (void)
|
config_options_group_index (void)
|
||||||
{
|
{
|
||||||
GOptionGroup *og;
|
GOptionGroup *og;
|
||||||
GOptionEntry entries[] = {
|
GOptionEntry entries[] = {
|
||||||
|
/* only here so we can tell users they are deprecated */
|
||||||
|
{"maildir", 'm', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_FILENAME,
|
||||||
|
&MU_CONFIG.maildir, "top of the maildir", "<maildir>"},
|
||||||
|
{"my-address", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_STRING_ARRAY,
|
||||||
|
&MU_CONFIG.my_addresses, "my e-mail address; can be used multiple times",
|
||||||
|
"<address>"},
|
||||||
|
|
||||||
{"lazy-check", 0, 0, G_OPTION_ARG_NONE, &MU_CONFIG.lazycheck,
|
{"lazy-check", 0, 0, G_OPTION_ARG_NONE, &MU_CONFIG.lazycheck,
|
||||||
"only check dir-timestamps (false)", NULL},
|
"only check dir-timestamps (false)", NULL},
|
||||||
{"my-address", 0, 0, G_OPTION_ARG_STRING_ARRAY,
|
{"my-address", 0, 0, G_OPTION_ARG_STRING_ARRAY,
|
||||||
|
@ -167,10 +195,10 @@ config_options_group_index (void)
|
||||||
{NULL, 0, 0, 0, NULL, NULL, NULL}
|
{NULL, 0, 0, 0, NULL, NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
og = g_option_group_new("index",
|
og = g_option_group_new("index", "Options for the 'index' command",
|
||||||
"Options for the 'index' command",
|
|
||||||
"", NULL, NULL);
|
"", NULL, NULL);
|
||||||
g_option_group_add_entries(og, entries);
|
g_option_group_add_entries(og, entries);
|
||||||
|
g_option_group_set_parse_hooks(og, NULL, (GOptionParseFunc)index_post_parse_func);
|
||||||
|
|
||||||
return og;
|
return og;
|
||||||
}
|
}
|
||||||
|
@ -434,10 +462,6 @@ config_options_group_server (void)
|
||||||
{
|
{
|
||||||
GOptionGroup *og;
|
GOptionGroup *og;
|
||||||
GOptionEntry entries[] = {
|
GOptionEntry entries[] = {
|
||||||
{"my-address", 0, 0, G_OPTION_ARG_STRING_ARRAY,
|
|
||||||
&MU_CONFIG.my_addresses,
|
|
||||||
"my e-mail address; can be used multiple times",
|
|
||||||
"<address>"},
|
|
||||||
{"commands", 0, 0, G_OPTION_ARG_NONE, &MU_CONFIG.commands,
|
{"commands", 0, 0, G_OPTION_ARG_NONE, &MU_CONFIG.commands,
|
||||||
"list the available command and their parameters, then exit", NULL},
|
"list the available command and their parameters, then exit", NULL},
|
||||||
{NULL, 0, 0, 0, NULL, NULL, NULL}
|
{NULL, 0, 0, 0, NULL, NULL, NULL}
|
||||||
|
|
18
mu/mu.cc
18
mu/mu.cc
|
@ -52,6 +52,11 @@ handle_error (MuConfig *conf, MuError merr, GError **err)
|
||||||
if (!(err && *err))
|
if (!(err && *err))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (*err)
|
||||||
|
g_printerr ("error: %s (%u)\n",
|
||||||
|
(*err)->message,
|
||||||
|
(*err)->code);
|
||||||
|
|
||||||
switch ((*err)->code) {
|
switch ((*err)->code) {
|
||||||
case MU_ERROR_XAPIAN_CANNOT_GET_WRITELOCK:
|
case MU_ERROR_XAPIAN_CANNOT_GET_WRITELOCK:
|
||||||
g_printerr ("maybe mu is already running?\n");
|
g_printerr ("maybe mu is already running?\n");
|
||||||
|
@ -70,21 +75,16 @@ handle_error (MuConfig *conf, MuError merr, GError **err)
|
||||||
"'mu script' for the scripts\n");
|
"'mu script' for the scripts\n");
|
||||||
break;
|
break;
|
||||||
case MU_ERROR_XAPIAN_CANNOT_OPEN:
|
case MU_ERROR_XAPIAN_CANNOT_OPEN:
|
||||||
g_printerr("Please (re)init mu with 'mu init' "
|
g_printerr("Please (re)initialize mu with 'mu init' "
|
||||||
"see mu-init(1) for details");
|
"see mu-init(1) for details\n");
|
||||||
return;
|
return;
|
||||||
case MU_ERROR_XAPIAN_SCHEMA_MISMATCH:
|
case MU_ERROR_XAPIAN_SCHEMA_MISMATCH:
|
||||||
g_printerr("Please (re)init mu with 'mu init' "
|
g_printerr("Please (re)initialize mu with 'mu init' "
|
||||||
"see mu-init(1) for details");
|
"see mu-init(1) for details\n");
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
break; /* nothing to do */
|
break; /* nothing to do */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*err)
|
|
||||||
g_printerr ("mu: %s (%u)\n",
|
|
||||||
(*err)->message,
|
|
||||||
(*err)->code);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue