| cat <<\EOF | |
| usage: some-command [options] <args>... | |
| some-command does foo and bar! | |
| -h, --help show the help | |
| --[no-]foo some nifty option --foo | |
| --[no-]bar ... some cool option --bar with an argument | |
| -b, --[no-]baz a short and long option | |
| An option group Header | |
| -C[...] option C with an optional argument | |
| -d, --[no-]data[=...] short and long option with an optional argument | |
| Argument hints | |
| -B <arg> short option required argument | |
| --[no-]bar2 <arg> long option required argument | |
| -e, --[no-]fuz <with-space> | |
| short and long option required argument | |
| -s[<some>] short option optional argument | |
| --[no-]long[=<data>] long option optional argument | |
| -g, --[no-]fluf[=<path>] | |
| short and long option optional argument | |
| --[no-]longest <very-long-argument-hint> | |
| a very long argument hint | |
| --[no-]pair <key=value> | |
| with an equals sign in the hint | |
| --[no-]aswitch help te=t contains? fl*g characters!` | |
| --[no-]bswitch <hint> hint has trailing tab character | |
| --[no-]cswitch switch has trailing tab character | |
| --[no-]short-hint <a> with a one symbol hint | |
| Extras | |
| --[no-]extra1 line above used to cause a segfault but no longer does | |
| EOF | |
| exit 0 |