bell notificationshomepageloginNewPostedit profile

Topic : Documenting the no-args call of a command line program I am writing the built-in help for a command line program. The exact name is irrelevant, so let's use foo as a placeholder. This utility - selfpublishingguru.com

10.03% popularity

I am writing the built-in help for a command line program. The exact name is irrelevant, so let's use foo as a placeholder.

This utility can be called with some arguments (like foo -v) or without any arguments at all (just foo).

I'm struggling with describing the no-argument call in the built-in help. (There's a common practice that the -h or --help argument is used to print that help on the screen.)
A common output of -h command looks like this:

$ foo -h
foo [OPTIONS...]

Do FOO in the most awesome way possible

-h --help Show this help
-v --version Show package version

Note the pattern for explaining arguments:

(short) (long) Explanation

The no-argument call doesn't fit in this pattern.
All these variants look quite unnatural:

foo Do the FOO
Do the FOO
(no arguments) Do the FOO

In search for examples I've looked at several utilities that have valid no-argument calls (e.g. sh, bash and other shells, systemctl), but none of them describe that in the -h output.

The question: what is the proper way of documenting the no-arguments call in the built-in help?

Should I write something in the place of (no arguments) above?
Or should I explain that in a different place (where)?


Load Full (1)

Login to follow topic

More posts by @Welton431

1 Comments

Sorted by latest first Latest Oldest Best

10% popularity

Usually, your first line takes care of that:

Do FOO in the most awesome way possible

Square braces for [OPTIONS] imply all options are optional.

If arguments modify the behavior, give the default behavior in absence of an argument.

-f filename Perform FOO on file given, instead of standard input.

If parameters were not optional, you put them in <>.

foo [OPTIONS] <URL>

Process FOO of the URL in the most awesome way possible.

In this case, if this use is standard, but you may allow exceptional use without the URL, you detail this in the last line, apart from the options:

Called without arguments, foo displays this help, same as -h.


Load Full (0)

Back to top