mirror of
https://github.com/git/git
synced 2024-07-05 00:58:49 +00:00
Add shortcuts for very often used options.
It helps with consistency of the help strings, for example. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
ffe659f94d
commit
0ce865b134
|
@ -254,3 +254,24 @@ void usage_with_options(const char * const *usagestr,
|
||||||
|
|
||||||
exit(129);
|
exit(129);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*----- some often used options -----*/
|
||||||
|
#include "cache.h"
|
||||||
|
int parse_opt_abbrev_cb(const struct option *opt, const char *arg, int unset)
|
||||||
|
{
|
||||||
|
int v;
|
||||||
|
|
||||||
|
if (!arg) {
|
||||||
|
v = unset ? 0 : DEFAULT_ABBREV;
|
||||||
|
} else {
|
||||||
|
v = strtol(arg, (char **)&arg, 10);
|
||||||
|
if (*arg)
|
||||||
|
return opterror(opt, "expects a numerical value", 0);
|
||||||
|
if (v && v < MINIMUM_ABBREV)
|
||||||
|
v = MINIMUM_ABBREV;
|
||||||
|
else if (v > 40)
|
||||||
|
v = 40;
|
||||||
|
}
|
||||||
|
*(int *)(opt->value) = v;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -55,4 +55,15 @@ extern int parse_options(int argc, const char **argv,
|
||||||
extern NORETURN void usage_with_options(const char * const *usagestr,
|
extern NORETURN void usage_with_options(const char * const *usagestr,
|
||||||
const struct option *options);
|
const struct option *options);
|
||||||
|
|
||||||
|
/*----- some often used options -----*/
|
||||||
|
extern int parse_opt_abbrev_cb(const struct option *, const char *, int);
|
||||||
|
|
||||||
|
#define OPT__VERBOSE(var) OPT_BOOLEAN('v', "verbose", (var), "be verbose")
|
||||||
|
#define OPT__QUIET(var) OPT_BOOLEAN('q', "quiet", (var), "be quiet")
|
||||||
|
#define OPT__DRY_RUN(var) OPT_BOOLEAN('n', "dry-run", (var), "dry run")
|
||||||
|
#define OPT__ABBREV(var) \
|
||||||
|
{ OPTION_CALLBACK, 0, "abbrev", (var), "n", \
|
||||||
|
"use <n> digits to display SHA-1s", \
|
||||||
|
PARSE_OPT_OPTARG, &parse_opt_abbrev_cb, 0 }
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user