summaryrefslogtreecommitdiff
path: root/parse-options.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-03-02 12:44:06 -0800
committerJunio C Hamano <gitster@pobox.com>2010-03-02 12:44:06 -0800
commitc06951894ac943b2aaa288b0e9dc1eb605dfb7b6 (patch)
treec84152355c7fe666d0bb16197e36eb63e33e0c13 /parse-options.c
parent6954ef206343d366c365f5946caa967f92d7bab1 (diff)
parent73e9da019655261e456ed862340880de365111f0 (diff)
downloadgit-c06951894ac943b2aaa288b0e9dc1eb605dfb7b6.tar.gz
Merge branch 'ml/color-when'
* ml/color-when: Add an optional argument for --color options
Diffstat (limited to 'parse-options.c')
-rw-r--r--parse-options.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/parse-options.c b/parse-options.c
index d218122af5..c83035d013 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -2,6 +2,7 @@
#include "parse-options.h"
#include "cache.h"
#include "commit.h"
+#include "color.h"
static int parse_options_usage(const char * const *usagestr,
const struct option *opts);
@@ -599,6 +600,21 @@ int parse_opt_approxidate_cb(const struct option *opt, const char *arg,
return 0;
}
+int parse_opt_color_flag_cb(const struct option *opt, const char *arg,
+ int unset)
+{
+ int value;
+
+ if (!arg)
+ arg = unset ? "never" : (const char *)opt->defval;
+ value = git_config_colorbool(NULL, arg, -1);
+ if (value < 0)
+ return opterror(opt,
+ "expects \"always\", \"auto\", or \"never\"", 0);
+ *(int *)opt->value = value;
+ return 0;
+}
+
int parse_opt_verbosity_cb(const struct option *opt, const char *arg,
int unset)
{