extensions-tool: Add common option to silence errors
Error reporting is useful when used interactively, but often undesirable when used in scripts. Account for that with a common --quiet option, which is more convenient than redirection stderr to /dev/null. https://gitlab.gnome.org/GNOME/gnome-shell/issues/2391
This commit is contained in:
parent
fbd6beea2c
commit
f5a170ce46
@ -42,6 +42,13 @@ DESCRIPTION
|
||||
*gnome-extensions* is a utility that makes some common GNOME extensions
|
||||
operations available on the command line.
|
||||
|
||||
COMMON OPTIONS
|
||||
--------------
|
||||
All commands except for *help* and *version* handle the following options:
|
||||
|
||||
*--quiet*, *-q*::
|
||||
Do not print error messages
|
||||
|
||||
COMMANDS
|
||||
--------
|
||||
*help* ['COMMAND']::
|
||||
|
@ -262,6 +262,7 @@ handle_create (int argc, char *argv[], gboolean do_help)
|
||||
g_option_context_set_help_enabled (context, FALSE);
|
||||
g_option_context_set_summary (context, _("Create a new extension"));
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_option_context_add_group (context, get_option_group ());
|
||||
|
||||
if (do_help)
|
||||
{
|
||||
|
@ -56,6 +56,7 @@ handle_disable (int argc, char *argv[], gboolean do_help)
|
||||
g_option_context_set_help_enabled (context, FALSE);
|
||||
g_option_context_set_summary (context, _("Disable an extension"));
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_option_context_add_group (context, get_option_group());
|
||||
|
||||
if (do_help)
|
||||
{
|
||||
|
@ -56,6 +56,7 @@ handle_enable (int argc, char *argv[], gboolean do_help)
|
||||
g_option_context_set_help_enabled (context, FALSE);
|
||||
g_option_context_set_summary (context, _("Enable an extension"));
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_option_context_add_group (context, get_option_group());
|
||||
|
||||
if (do_help)
|
||||
{
|
||||
|
@ -78,6 +78,7 @@ handle_info (int argc, char *argv[], gboolean do_help)
|
||||
g_option_context_set_help_enabled (context, FALSE);
|
||||
g_option_context_set_summary (context, _("Show extensions info"));
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_option_context_add_group (context, get_option_group());
|
||||
|
||||
if (do_help)
|
||||
{
|
||||
|
@ -183,6 +183,7 @@ handle_install (int argc, char *argv[], gboolean do_help)
|
||||
g_option_context_set_help_enabled (context, FALSE);
|
||||
g_option_context_set_summary (context, _("Install an extension bundle"));
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_option_context_add_group (context, get_option_group());
|
||||
|
||||
if (do_help)
|
||||
{
|
||||
|
@ -150,6 +150,7 @@ handle_list (int argc, char *argv[], gboolean do_help)
|
||||
g_option_context_set_help_enabled (context, FALSE);
|
||||
g_option_context_set_summary (context, _("List installed extensions"));
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_option_context_add_group (context, get_option_group());
|
||||
|
||||
if (do_help)
|
||||
{
|
||||
|
@ -480,6 +480,7 @@ handle_pack (int argc, char *argv[], gboolean do_help)
|
||||
g_option_context_set_help_enabled (context, FALSE);
|
||||
g_option_context_set_summary (context, _("Create an extension bundle"));
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_option_context_add_group (context, get_option_group());
|
||||
|
||||
if (do_help)
|
||||
{
|
||||
|
@ -89,6 +89,7 @@ handle_prefs (int argc, char *argv[], gboolean do_help)
|
||||
g_option_context_set_help_enabled (context, FALSE);
|
||||
g_option_context_set_summary (context, _("Opens extension preferences"));
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_option_context_add_group (context, get_option_group());
|
||||
|
||||
if (do_help)
|
||||
{
|
||||
|
@ -1,4 +1,5 @@
|
||||
/* command-reset.c
|
||||
g_option_context_add_group (context, get_option_group());
|
||||
*
|
||||
* Copyright 2019 Florian Müllner <fmuellner@gnome.org>
|
||||
*
|
||||
@ -56,6 +57,7 @@ handle_reset (int argc, char *argv[], gboolean do_help)
|
||||
g_option_context_set_help_enabled (context, FALSE);
|
||||
g_option_context_set_summary (context, _("Reset an extension"));
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_option_context_add_group (context, get_option_group());
|
||||
|
||||
if (do_help)
|
||||
{
|
||||
|
@ -71,6 +71,7 @@ handle_uninstall (int argc, char *argv[], gboolean do_help)
|
||||
g_option_context_set_help_enabled (context, FALSE);
|
||||
g_option_context_set_summary (context, _("Uninstall an extension"));
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_option_context_add_group (context, get_option_group());
|
||||
|
||||
if (do_help)
|
||||
{
|
||||
|
@ -45,6 +45,8 @@ typedef enum {
|
||||
DISPLAY_DETAILED
|
||||
} DisplayFormat;
|
||||
|
||||
GOptionGroup *get_option_group (void);
|
||||
|
||||
void show_help (GOptionContext *context,
|
||||
const char *message);
|
||||
|
||||
|
@ -49,6 +49,39 @@ extension_state_to_string (ExtensionState state)
|
||||
return "UNKNOWN";
|
||||
}
|
||||
|
||||
static void
|
||||
print_nothing (const char *message)
|
||||
{
|
||||
}
|
||||
|
||||
static gboolean
|
||||
quiet_cb (const gchar *option_name,
|
||||
const gchar *value,
|
||||
gpointer data,
|
||||
GError **error)
|
||||
{
|
||||
g_set_printerr_handler (print_nothing);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
GOptionGroup *
|
||||
get_option_group ()
|
||||
{
|
||||
GOptionEntry entries[] = {
|
||||
{ .long_name = "quiet", .short_name = 'q',
|
||||
.description = _("Do not print error messages"),
|
||||
.arg = G_OPTION_ARG_CALLBACK, .arg_data = &quiet_cb,
|
||||
.flags = G_OPTION_FLAG_NO_ARG | G_OPTION_FLAG_IN_MAIN },
|
||||
{ NULL }
|
||||
};
|
||||
GOptionGroup *group;
|
||||
|
||||
group = g_option_group_new ("Common", "common options", "common options", NULL, NULL);
|
||||
g_option_group_add_entries (group, entries);
|
||||
|
||||
return group;
|
||||
}
|
||||
|
||||
void
|
||||
show_help (GOptionContext *context, const char *message)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user