---)
break
;;
- HC:)
- header_comment="$value"
- ;;
- CC:)
- c_file_comment="$value"
- ;;
OF:)
output_file="$value"
array_name=${value%command_list}cmds
template_members="$value"
esac
done
- if test -z "$header_comment" -o -z "$c_file_comment" \
- -o -z "$output_file"; then
+ if test -z "$output_file"; then
echo "header error" 1&>2
exit 1
fi
echo '},'
}
+dump_completion()
+{
+ echo " {.name = \"$name_txt\", .completer = ${name_txt}_completer}, \\"
+}
template_loop()
{
com_c_file()
{
- echo "/** \file $output_file.c $c_file_comment */"
echo "$system_includes"
echo "$includes"
echo "struct $array_type $array_name[] = {"
com_header()
{
- echo "/** \file $output_file.h $header_comment */"
- echo
echo "extern struct $array_type $array_name[];"
while : ; do
read_one_command
done
}
+com_completion()
+{
+
+ echo "#define $1 \\"
+ while : ; do
+ read_one_command
+ if test $ret -lt 0; then
+ exit 1
+ fi
+ if test $ret -eq 0; then
+ break
+ fi
+ if test $template -eq 0; then
+ dump_completion
+ continue
+ fi
+ template_loop dump_completion
+ done
+ echo
+}
+
read_header
arg="$1"
shift
"man")
com_man $*
;;
+ "compl")
+ com_completion $*
+ ;;
esac