Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

removed 'nocolor' option. Added 'color' option that takes (auto|never…

…|always) instead.
  • Loading branch information...
commit a4c07c9b90007bbacd2362d0ff2b145907761fbe 1 parent 599d641
Ahmet Emre Çepoğlu authored
Showing with 30 additions and 7 deletions.
  1. +22 −5 mu/mu-config.c
  2. +8 −2 mu/mu-config.h
View
27 mu/mu-config.c
@@ -79,13 +79,30 @@ set_group_mu_defaults (void)
/* check for the MU_NOCOLOR env var; but in any case don't
* use colors unless we're writing to a tty */
- if (g_getenv (MU_NOCOLOR) != NULL)
- MU_CONFIG.nocolor = TRUE;
- if (!isatty(fileno(stdout)) || !isatty(fileno(stderr)))
+ if( MU_CONFIG.color == MuColorOpt_always)
+ MU_CONFIG.nocolor= FALSE;
+ else if( MU_CONFIG.color == MuColorOpt_never)
+ MU_CONFIG.nocolor = TRUE;
+ else if (!isatty(fileno(stdout)) || !isatty(fileno(stderr)))
+ MU_CONFIG.nocolor = TRUE;
+ else if (g_getenv (MU_NOCOLOR) != NULL)
MU_CONFIG.nocolor = TRUE;
}
+static gboolean config_options_set_color (const gchar *option_name, const gchar *value, gpointer data, GError **error)
+{
+ if( g_strcmp0( value, "never") == 0)
+ MU_CONFIG.color = MuColorOpt_never;
+ else if( g_strcmp0( value, "auto") == 0)
+ MU_CONFIG.color = MuColorOpt_auto;
+ else if( g_strcmp0( value, "always") == 0)
+ MU_CONFIG.color = MuColorOpt_always;
+ else
+ return FALSE;
+ return TRUE;
+}
+
static GOptionGroup*
config_options_group_mu (void)
{
@@ -101,8 +118,8 @@ config_options_group_mu (void)
"specify an alternative mu directory", "<dir>"},
{"log-stderr", 0, 0, G_OPTION_ARG_NONE, &MU_CONFIG.log_stderr,
"log to standard error (false)", NULL},
- {"nocolor", 0, 0, G_OPTION_ARG_NONE, &MU_CONFIG.nocolor,
- "don't use ANSI-colors in output (false)", NULL},
+ {"color", 0, 0, G_OPTION_ARG_CALLBACK, &config_options_set_color,
+ "colorize output (never|auto|always)", "<mode>"},
{"verbose", 'v', 0, G_OPTION_ARG_NONE, &MU_CONFIG.verbose,
"verbose output (false)", NULL},
View
10 mu/mu-config.h
@@ -86,6 +86,12 @@ typedef enum _MuConfigCmd MuConfigCmd;
((C) > MU_CONFIG_CMD_UNKNOWN && (C) < MU_CONFIG_CMD_NONE)
+enum MuColorOpt {
+ MuColorOpt_auto,
+ MuColorOpt_never,
+ MuColorOpt_always
+};
+
/* struct with all configuration options for mu; it will be filled
* from the config file, and/or command line arguments */
@@ -102,8 +108,8 @@ struct _MuConfig {
gboolean version; /* request mu version */
gboolean log_stderr; /* log to stderr (not logfile) */
gchar** params; /* parameters (for querying) */
- gboolean nocolor; /* don't use use ansi-colors
- * in some output */
+ enum MuColorOpt color; /* colorize output (enum)*/
+ gboolean nocolor; /* colorize output (boolean)*/
gboolean verbose; /* verbose output */
/* options for indexing */
Please sign in to comment.
Something went wrong with that request. Please try again.