Adds a new section.
Adds a new usage.
Modifies an existing section (by returning it by reference).
Generates the help text based on the given usages and sections.
The default options for a section.
The Technical version of this class is meant to give the user full control of what's generated.
The Simple version (and any other versions the user may create) are meant to have more of a scope/predefined layout, and so are simpler to use.
Isnt_This_Overcomplicated?: Kind of...
A goal of this library is to make it's foundational parts (such as this class, and the ArgBinder stuff) reusable on their own, so even if the user doesn't like how I've designed the core part of the library (Everything in jaster.cli.core, and the UDAs relating to it) they are given a small foundation to work off of to create their own version.
So I kind of need this to be a bit more complicated than it should be, so it's easy for me to provide built-in functionality that can be used or not used as wished by the user, while also allowing the user to create their own.
A class used to create help text, in an object oriented fashion.