Merge branch 'js/test-git-installed'
[gitweb.git] / generate-cmdlist.sh
index 3bcc1ee57daece05771e15e1901394132ec3ad24..709d67405bba65f0b1d5468fe58a92fa41c30398 100755 (executable)
@@ -45,6 +45,21 @@ define_categories () {
        test "$bit" -gt 32 && die "Urgh.. too many categories?"
 }
 
+define_category_names () {
+       echo
+       echo "/* Category names */"
+       echo "static const char *category_names[] = {"
+       bit=0
+       category_list "$1" |
+       while read cat
+       do
+               echo "  \"$cat\", /* (1UL << $bit) */"
+               bit=$(($bit+1))
+       done
+       echo "  NULL"
+       echo "};"
+}
+
 print_command_list () {
        echo "static struct cmdname_help command_list[] = {"
 
@@ -61,6 +76,23 @@ print_command_list () {
        echo "};"
 }
 
+print_config_list () {
+       cat <<EOF
+static const char *config_name_list[] = {
+EOF
+       grep -h '^[a-zA-Z].*\..*::$' Documentation/*config.txt 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;
@@ -70,4 +102,8 @@ struct cmdname_help {
 "
 define_categories "$1"
 echo
+define_category_names "$1"
+echo
 print_command_list "$1"
+echo
+print_config_list