Files
git/generate-configlist.sh
Jean-Noël Avila e1b81f54da completion: take into account the formatting backticks for options
With the modern formatting of the manpages, the options and commands are now
backticked in their definition lists. This patch updates the generation of
the completion list to take into account this new format.

The script `generate-configlist.sh` is updated to get rid of extraneous
commands and fit everything in a single sed script.

Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-03-20 19:27:29 -07:00

40 lines
611 B
Bash
Executable File

#!/bin/sh
SOURCE_DIR="$1"
OUTPUT="$2"
if test -z "$SOURCE_DIR" || ! test -d "$SOURCE_DIR" || test -z "$OUTPUT"
then
echo >&2 "USAGE: $0 <SOURCE_DIR> <OUTPUT>"
exit 1
fi
print_config_list () {
cat <<EOF
static const char *config_name_list[] = {
EOF
sed -E '
/^`?[a-zA-Z].*\..*`?::$/ {
/deprecated/d;
s/::$//;
s/`//g;
s/^.*$/ "&",/;
s/, */",\n "/g;
p;};
d' \
"$SOURCE_DIR"/Documentation/*config.adoc \
"$SOURCE_DIR"/Documentation/config/*.adoc|
sort
cat <<EOF
NULL,
};
EOF
}
{
echo "/* Automatically generated by generate-configlist.sh */"
echo
echo
print_config_list
} >"$OUTPUT"