Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2018-05-26 16:55:24 +0300
committerJunio C Hamano <gitster@pobox.com>2018-05-29 08:51:28 +0300
commit3ac68a93fd2b984e2a7e570217d2646a208ffcc3 (patch)
treea2daa2ec0763d187815899c677681ff7ccb6acf8 /generate-cmdlist.sh
parenta46baac61ebc6a8b187f76bcd49b625e0d4f408e (diff)
help: add --config to list all available config
Sometimes it helps to list all available config vars so the user can search for something they want. The config man page can also be used but it's harder to search if you want to focus on the variable name, for example. This is not the best way to collect the available config since it's not precise. Ideally we should have a centralized list of config in C code (pretty much like 'struct option'), but that's a lot more work. This will do for now. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'generate-cmdlist.sh')
-rwxr-xr-xgenerate-cmdlist.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/generate-cmdlist.sh b/generate-cmdlist.sh
index 8d6d8b45ce..c4124acbe7 100755
--- a/generate-cmdlist.sh
+++ b/generate-cmdlist.sh
@@ -76,6 +76,23 @@ print_command_list () {
echo "};"
}
+print_config_list () {
+ cat <<EOF
+static const char *config_name_list[] = {
+EOF
+ grep '^[a-zA-Z].*\..*::$' Documentation/config.txt |
+ sed '/deprecated/d; s/::$//; s/, */\n/g' |
+ sort |
+ while read line
+ do
+ echo " \"$line\","
+ done
+ cat <<EOF
+ NULL,
+};
+EOF
+}
+
echo "/* Automatically generated by generate-cmdlist.sh */
struct cmdname_help {
const char *name;
@@ -88,3 +105,5 @@ echo
define_category_names "$1"
echo
print_command_list "$1"
+echo
+print_config_list