| 1 | cmd Main("printf") [ |
| 2 | requires Format |
| 3 | ] { |
| 4 | /// the format string controlling output, as in C printf; may contain |
| 5 | /// literal characters, escape sequences (e.g. \n, \t, \uHHHH), and |
| 6 | /// format specifiers (e.g. %s, %d, %f); the format is reused as |
| 7 | /// necessary to consume all arguments |
| 8 | arg Format(0) => String |
| 9 | |
| 10 | /// zero or more values substituted into FORMAT in order, according to |
| 11 | /// their corresponding format specifiers; if arguments exceed |
| 12 | /// specifiers, FORMAT is reused from the beginning; if fewer are |
| 13 | /// supplied, missing numeric specifiers default to 0 and string |
| 14 | /// specifiers to the empty string |
| 15 | arg Arguments(1..) => List<String> |
| 16 | |
| 17 | /// assign the output to shell variable VAR rather than printing to |
| 18 | /// standard output (bash builtin only) |
| 19 | opt Var("v") => String |
| 20 | |
| 21 | /// display help and exit |
| 22 | opt Help("help") => Bool [ |
| 23 | excludes All |
| 24 | ] |
| 25 | |
| 26 | /// output version information and exit |
| 27 | opt Version("version") => Bool [ |
| 28 | excludes All |
| 29 | ] |
| 30 | } |