parse-options: add OPT_xxx_F() variants
These macros allow us to add extra parse-options flag, the main one in my mind is PARSE_OPT_NOCOMPLETE to hide certain options from --git-completion-helper. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy committed
Feb 9, 2018 at 18:01 UTC
2de37349d9484fc51f45fe5dc9da56096b360221
1 file changed
+12
-7
parse-options.h
+12
-7
@@ -115,19 +115,24 @@ struct option {
115
intptr_t defval;
116
};
117
118
+#define OPT_BIT_F(s, l, v, h, b, f) { OPTION_BIT, (s), (l), (v), NULL, (h), \
119
+ PARSE_OPT_NOARG|(f), NULL, (b) }
120
+#define OPT_COUNTUP_F(s, l, v, h, f) { OPTION_COUNTUP, (s), (l), (v), NULL, \
121
+ (h), PARSE_OPT_NOARG|(f) }
122
+#define OPT_SET_INT_F(s, l, v, h, i, f) { OPTION_SET_INT, (s), (l), (v), NULL, \
123
+ (h), PARSE_OPT_NOARG | (f), NULL, (i) }
124
+#define OPT_BOOL_F(s, l, v, h, f) OPT_SET_INT_F(s, l, v, h, 1, f)
125
+
126
#define OPT_END() { OPTION_END }
127
#define OPT_ARGUMENT(l, h) { OPTION_ARGUMENT, 0, (l), NULL, NULL, \
128
(h), PARSE_OPT_NOARG}
129
#define OPT_GROUP(h) { OPTION_GROUP, 0, NULL, NULL, NULL, (h) }
122
-#define OPT_BIT(s, l, v, h, b) { OPTION_BIT, (s), (l), (v), NULL, (h), \
123
- PARSE_OPT_NOARG, NULL, (b) }
130
+#define OPT_BIT(s, l, v, h, b) OPT_BIT_F(s, l, v, h, b, 0)
131
#define OPT_NEGBIT(s, l, v, h, b) { OPTION_NEGBIT, (s), (l), (v), NULL, \
132
(h), PARSE_OPT_NOARG, NULL, (b) }
126
-#define OPT_COUNTUP(s, l, v, h) { OPTION_COUNTUP, (s), (l), (v), NULL, \
127
- (h), PARSE_OPT_NOARG }
128
-#define OPT_SET_INT(s, l, v, h, i) { OPTION_SET_INT, (s), (l), (v), NULL, \
129
- (h), PARSE_OPT_NOARG, NULL, (i) }
130
-#define OPT_BOOL(s, l, v, h) OPT_SET_INT(s, l, v, h, 1)
133
+#define OPT_COUNTUP(s, l, v, h) OPT_COUNTUP_F(s, l, v, h, 0)
134
+#define OPT_SET_INT(s, l, v, h, i) OPT_SET_INT_F(s, l, v, h, i, 0)
135
+#define OPT_BOOL(s, l, v, h) OPT_BOOL_F(s, l, v, h, 0)
136
#define OPT_HIDDEN_BOOL(s, l, v, h) { OPTION_SET_INT, (s), (l), (v), NULL, \
137
(h), PARSE_OPT_NOARG | PARSE_OPT_HIDDEN, NULL, 1}
138
#define OPT_CMDMODE(s, l, v, h, i) { OPTION_CMDMODE, (s), (l), (v), NULL, \