ocaml-omake / omake

The new home of OMake - docs, downloads, mailing list etc. see:
http://projects.camlcity.org/projects/omake.html
GNU General Public License v2.0
67 stars 25 forks source link

Split output of option "--help" #145

Closed cspiel closed 2 years ago

cspiel commented 2 years ago

Split Help Screen

This P/R distributes the output of --help onto more help-options. The reason is the large number of debugging flags that are rarely needed. We introduce two new options --help-debug and --help-all. The latter plays the role --help had before. The new output of --help is everything but the debug options.

We raise to the occasion and enrich the output of the help screens with the names of the option arguments, e.g. -j N or -server SERVER-NAME. The format now follows that of tar(1) or cpio(1) which also suffer from the way-too-many-flags desease.

In the course of the change the output of --version was adapted, too.

There will be a P/R that adds a manual page to the project which is intended to augment the output of the various help-screens.

Here are the previews.

omake --help (just the first lines)

Usage: ./src/main/omake.opt [OPTIONS...] [TARGET...]
Run OMake in the current directory to build TARGET.
If called as osh start the OMake shell Osh.

A `<N>' symbol indicates options that can be negated by
prefixing them with `--no' as, e.g., `--no-S' or
`--no--print-status'.  Note the conserved inner double
dash of the latter, though.

Options:
 Build Control:
  -j N                         specify maximum number N of parallel jobs and
                               remote servers
  -k                           do not stop when an error occurs; implied by -p
                               and -P <N>
  -p                           poll filesystem for changes (until build
                               succeeds); implies -k <N>
  -P                           poll filesystem for changes (keep polling
                               "forever"); implies -k and -p <N>
  -n                           print commands, but do not execute them <N>

omake --version

OMake 0.10.3 (development snapshot):
    build [Fri Nov 19 10:50:07 2021]
    on falcon
Default library directory: /home/solo/lib/omake

License GPLv2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.