7 while read key value; do
22 template_members="$value"
39 while read key value; do
48 template_name="$value"
52 template_prototype="$value"
67 if test "$line" = "---"; then
78 if test $template -eq 0; then
79 if test -n "$name_txt" -a -n "$desc_txt" -a -n "$usage_txt" \
80 -a -n "$help_txt"; then
85 if test -n "$template_name" -a -n "$template_prototype" \
86 -a -n "$name_txt " -a -n "$template_members" \
87 -a -n "$desc_txt" -a -n "$usage_txt" \
88 -a -n "$help_txt"; then
93 if test -z "$name_txt" -a -z "$desc_txt" -a -z "$usage_txt" \
94 -a -z "$help_txt"; then
106 echo "O: $template_prototype"
111 if test $template -eq 0; then
112 echo ".SS \"$name_txt\""
115 echo "\\fBUsage: \\fP$usage_txt"
117 for member in $template_members; do
118 local sed_cmd="sed -e s/@member@/$member/g"
119 local t_name_txt=$(echo $name_txt | $sed_cmd)
120 echo ".SS \"$t_name_txt\""
122 echo "$desc_txt" | sed -e "s/@member@/{$(echo $template_members | sed -e 's/ / | /g')}/g"
124 echo "\\fBUsage: \\fP"
127 for member in $template_members; do
128 local sed_cmd="sed -e s/@member@/$member/g"
129 local t_usage_txt=$(echo $usage_txt | $sed_cmd)
130 printf "\t$t_usage_txt\n"
135 echo "$help_txt" | sed -e 's/^ //'
137 if test -n "$perms_txt"; then
138 echo -n "\\fBpermissions:\\fP "
139 if test "$perms_txt" = "0"; then
151 echo "[$section_name]"
155 if test $ret -lt 0; then
158 if test $ret -eq 0; then
167 result="com_$name_txt,"
176 result="{.name = \"$name_txt\", .handler = com_$name_txt, "
177 if test -n "$perms_txt"; then
178 result="$result .perms = $perms_txt,"
180 result="$result.description = \"$desc_txt\", .usage = \"$usage_txt\", \\$CR .help = "
181 tmp="$(printf "%s\n" "$help_txt" | sed -e 's/^/\"/g' -e 's/$/\\n\"/g' \
182 -e "s/$TAB/\\\t/g" -e's/$/\\/g')"
183 result="$result$tmp$CR}, \\$CR"
190 result=" {.name = \"$name_txt\", .completer = ${name_txt}_completer}, \\$CR"
197 local t_name="$name_txt"
198 local t_perms="$perms_txt"
199 local t_desc="$desc_txt"
200 local t_usage="$usage_txt"
201 local t_help="$help_txt"
202 local t_source_files="$source_files"
204 for member in $template_members; do
205 name_txt="${t_name//@member@/$member}"
206 perms_txt="${t_perms//@member@/$member}"
207 desc_txt="${t_desc//@member@/$member}"
208 usage_txt="${t_usage//@member@/$member}"
209 help_txt="${t_help//@member@/$member}"
210 prototype="${template_prototype//@member@/$member}"
213 loop_result="$loop_result$result"
215 result="$loop_result"
216 # reset global variables
222 source_files="$t_source_files"
227 local array_members handlers= CR='
232 if test $ret -lt 0; then
235 if test $ret -eq 0; then
238 if test $template -eq 0; then
242 array_members="$array_members$result"
245 template_loop cmd_handler_name
247 template_loop make_array_member
248 array_members="$array_members$result"
250 array_members="$array_members{.name = NULL} \\$CR"
251 echo "#define DEFINE_${base_name^^}_CMD_ARRAY $array_members"
252 echo "#define ${base_name^^}_COMMAND_HANDLERS ${handlers%,}"
261 if test $ret -lt 0; then
264 if test $ret -eq 0; then
267 if test $template -eq 0; then
269 printf "%s" "$result"
272 template_loop make_completion
273 printf "%s" "$result"