diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-07-30 12:06:01 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-07-30 12:23:31 -0700 |
commit | 1158826394e162c5d45a4043ea86b04b24215555 (patch) | |
tree | c0500be569a03fbd141839547ce7fa6a09724a58 /parse-options.h | |
parent | 35f5eaa2eedcd7145ee59ff5ff2cb48e71270b81 (diff) | |
download | git-1158826394e162c5d45a4043ea86b04b24215555.tar.gz |
parse-options: add OPT_CMDMODE()
This can be used to define a set of mutually exclusive "command
mode" options, and automatically catch use of more than one from
that set as an error.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'parse-options.h')
-rw-r--r-- | parse-options.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/parse-options.h b/parse-options.h index c378b75b13..2404e06732 100644 --- a/parse-options.h +++ b/parse-options.h @@ -13,6 +13,7 @@ enum parse_opt_type { OPTION_COUNTUP, OPTION_SET_INT, OPTION_SET_PTR, + OPTION_CMDMODE, /* options with arguments (usually) */ OPTION_STRING, OPTION_INTEGER, @@ -130,6 +131,8 @@ struct option { #define OPT_BOOL(s, l, v, h) OPT_SET_INT(s, l, v, h, 1) #define OPT_SET_PTR(s, l, v, h, p) { OPTION_SET_PTR, (s), (l), (v), NULL, \ (h), PARSE_OPT_NOARG, NULL, (p) } +#define OPT_CMDMODE(s, l, v, h, i) { OPTION_CMDMODE, (s), (l), (v), NULL, \ + (h), PARSE_OPT_NOARG|PARSE_OPT_NONEG, NULL, (i) } #define OPT_INTEGER(s, l, v, h) { OPTION_INTEGER, (s), (l), (v), N_("n"), (h) } #define OPT_STRING(s, l, v, a, h) { OPTION_STRING, (s), (l), (v), (a), (h) } #define OPT_STRING_LIST(s, l, v, a, h) \ |