diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-05-08 08:59:27 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-05-08 08:59:27 +0200 |
commit | 00bb99c424e90b6533170a034b7cbc7ff2e85e50 (patch) | |
tree | 0a37a6794ca54fb31e3b35b0c2f31be2c542e825 /config.c | |
parent | Merge branch 'tb/config-type' (diff) | |
parent | builtin/config: introduce `color` type specifier (diff) | |
download | git-00bb99c424e90b6533170a034b7cbc7ff2e85e50.tar.xz git-00bb99c424e90b6533170a034b7cbc7ff2e85e50.zip |
Merge branch 'tb/config-default'
"git config --get" learned the "--default" option, to help the
calling script. Building on top of the tb/config-type topic, the
"git config" learns "--type=color" type. Taken together, you can
do things like "git config --get foo.color --default blue" and get
the ANSI color sequence for the color given to foo.color variable,
or "blue" if the variable does not exist.
* tb/config-default:
builtin/config: introduce `color` type specifier
config.c: introduce 'git_config_color' to parse ANSI colors
builtin/config: introduce `--default`
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -16,6 +16,7 @@ #include "string-list.h" #include "utf8.h" #include "dir.h" +#include "color.h" struct config_source { struct config_source *prev; @@ -1067,6 +1068,15 @@ int git_config_expiry_date(timestamp_t *timestamp, const char *var, const char * return 0; } +int git_config_color(char *dest, const char *var, const char *value) +{ + if (!value) + return config_error_nonbool(var); + if (color_parse(value, dest) < 0) + return -1; + return 0; +} + static int git_default_core_config(const char *var, const char *value) { /* This needs a better name */ |