19 #include "parser_local_proto.h"
21 static void print_escaped_for_rest(FILE *f,
const char *str);
22 static void print_escaped_for_rest_options(FILE *f,
const char *str);
42 fprintf(stdout,
"=================");
43 for (s = 0; s <= strlen(
st->pgm_name); s++) {
46 fprintf(stdout,
"\n");
47 fprintf(stdout,
"%s - GRASS GIS manual\n",
st->pgm_name);
48 fprintf(stdout,
"=================");
49 for (s = 0; s <= strlen(
st->pgm_name); s++) {
52 fprintf(stdout,
"\n\n");
54 fprintf(stdout,
".. figure:: grass_logo.png\n");
55 fprintf(stdout,
" :align: center\n");
56 fprintf(stdout,
" :alt: GRASS logo\n\n");
58 fprintf(stdout,
"%s\n----\n",
_(
"NAME"));
59 fprintf(stdout,
"**%s**",
st->pgm_name);
61 if (
st->module_info.label ||
st->module_info.description)
62 fprintf(stdout,
" - ");
64 if (
st->module_info.label)
65 fprintf(stdout,
"%s\n\n",
st->module_info.label);
67 if (
st->module_info.description)
68 fprintf(stdout,
"%s\n",
st->module_info.description);
70 fprintf(stdout,
"\n%s\n----------------------\n",
_(
"KEYWORDS"));
71 if (
st->module_info.keywords) {
73 fprintf(stdout,
"\n");
75 fprintf(stdout,
"\n%s\n----------------------\n",
_(
"SYNOPSIS"));
76 fprintf(stdout,
"**%s**\n\n",
st->pgm_name);
77 fprintf(stdout,
"**%s** --help\n\n",
st->pgm_name);
79 fprintf(stdout,
"**%s**",
st->pgm_name);
83 flag = &
st->first_flag;
84 fprintf(stdout,
" [**-");
85 while (flag !=
NULL) {
86 fprintf(stdout,
"%c", flag->
key);
89 fprintf(stdout,
"**] ");
95 opt = &
st->first_option;
116 fprintf(stdout,
" [");
117 fprintf(stdout,
"**%s** = *%s*", opt->
key, type);
119 fprintf(stdout,
" [, *%s* ,...]", type);
122 fprintf(stdout,
"] ");
125 fprintf(stdout,
" ");
129 fprintf(stdout,
" [-- **overwrite**] ");
131 fprintf(stdout,
" [-- **verbose**] ");
132 fprintf(stdout,
" [-- **quiet**] ");
134 fprintf(stdout,
"\n");
137 fprintf(stdout,
"\n");
138 if (
st->n_flags || new_prompt) {
139 flag = &
st->first_flag;
140 fprintf(stdout,
"%s:\n~~~~~~\n",
_(
"Flags"));
141 while (
st->n_flags && flag !=
NULL) {
142 fprintf(stdout,
"**-%c**\n", flag->
key);
145 fprintf(stdout,
" %s", flag->
label);
153 fprintf(stdout,
"\n");
156 fprintf(stdout,
"-- **overwrite**\n");
157 fprintf(stdout,
" %s\n",
158 _(
"Allow output files to overwrite existing files"));
161 fprintf(stdout,
"-- **verbose**\n");
162 fprintf(stdout,
" %s\n",
_(
"Verbose module output"));
164 fprintf(stdout,
"-- **quiet**\n");
165 fprintf(stdout,
" %s\n",
_(
"Quiet module output"));
167 fprintf(stdout,
"\n");
170 fprintf(stdout,
"\n");
172 opt = &
st->first_option;
173 fprintf(stdout,
"%s:\n~~~~~~~~~~~\n",
_(
"Parameters"));
175 while (opt !=
NULL) {
194 fprintf(stdout,
"**%s** = *%s*", opt->
key, type);
196 fprintf(stdout,
" [, *%s* ,...]", type);
200 fprintf(stdout,
" **[required]**");
202 fprintf(stdout,
"\n\n");
204 fprintf(stdout,
"\t");
205 print_escaped_for_rest(stdout, opt->
label);
207 fprintf(stdout,
"\n\n");
210 fprintf(stdout,
"\t");
213 fprintf(stdout,
"\n\n");
217 fprintf(stdout,
"\t%s: *",
_(
"Options"));
218 print_escaped_for_rest_options(stdout, opt->
options);
220 fprintf(stdout,
"*\n\n");
224 fprintf(stdout,
"\t%s:",
_(
"Default"));
227 fprintf(stdout,
" *");
228 print_escaped_for_rest(stdout, opt->
def);
230 fprintf(stdout,
"*\n\n");
232 fprintf(stdout,
"\n\n");
238 while (opt->
opts[i]) {
240 fprintf(stdout,
"\t\t**");
241 print_escaped_for_rest(stdout, opt->
opts[i]);
243 fprintf(stdout,
"** : ");
244 print_escaped_for_rest(stdout, opt->
descs[i]);
246 fprintf(stdout,
"\n\n");
253 fprintf(stdout,
"\n");
255 fprintf(stdout,
"\n");
262 #define do_escape(c, escaped) \
266 void print_escaped_for_rest(FILE *f,
const char *str)
270 for (s = str; *s; s++) {
279 void print_escaped_for_rest_options(FILE *f,
const char *str)
283 for (s = str; *s; s++) {
const char * G_program_name(void)
Return module name.
void G__print_keywords(FILE *fd, void(*format)(FILE *, const char *), int newline)
Print list of keywords (internal use only)
int G__uses_new_gisprompt(void)
#define do_escape(c, escaped)
Format text for reStructuredText output.
void G__usage_rest(void)
Print module usage description in reStructuredText format.
Structure that stores flag info.
Structure that stores option information.