summaryrefslogtreecommitdiff
path: root/builtin/help.c
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/help.c')
-rw-r--r--builtin/help.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/builtin/help.c b/builtin/help.c
index 58e0a5507f..8d4f6dd301 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -37,6 +37,7 @@ static const char *html_path;
static int show_all = 0;
static int show_guides = 0;
+static int show_config;
static int verbose;
static unsigned int colopts;
static enum help_format help_format = HELP_FORMAT_NONE;
@@ -45,6 +46,8 @@ static struct option builtin_help_options[] = {
OPT_BOOL('a', "all", &show_all, N_("print all available commands")),
OPT_HIDDEN_BOOL(0, "exclude-guides", &exclude_guides, N_("exclude guides")),
OPT_BOOL('g', "guides", &show_guides, N_("print list of useful guides")),
+ OPT_BOOL('c', "config", &show_config, N_("print all configuration variable names")),
+ OPT_SET_INT_F(0, "config-for-completion", &show_config, "", 2, PARSE_OPT_HIDDEN),
OPT_SET_INT('m', "man", &help_format, N_("show man page"), HELP_FORMAT_MAN),
OPT_SET_INT('w', "web", &help_format, N_("show manual in web browser"),
HELP_FORMAT_WEB),
@@ -444,6 +447,19 @@ int cmd_help(int argc, const char **argv, const char *prefix)
list_commands(colopts, &main_cmds, &other_cmds);
}
+ if (show_config) {
+ int for_human = show_config == 1;
+
+ if (!for_human) {
+ list_config_help(for_human);
+ return 0;
+ }
+ setup_pager();
+ list_config_help(for_human);
+ printf("\n%s\n", _("'git help config' for more information"));
+ return 0;
+ }
+
if (show_guides)
list_common_guides_help();