Text package:cmdargs

A module to represent text with very basic formatting. Values are of type [Text] and shown with showText. As an example of the formatting:
[Line "Cooking for hungry people."
,Line "Welcome to my cookery recipe program, I sure hope you enjoy using it!"
,Line ""
,Cols ["Omlette","  A tasty eggy treat."]
,Cols ["  -m"," --mushrooms","  Some mushrooms, or in fact any other ingredients you have in the cupboards"]
,Cols ["  -e"," --eggs", "  But always you need eggs"]
,Line ""
,Cols ["Spagetti Bolognaise", "  An Italian delight."]
,Cols ["  -s"," --spagetti","  The first word in the name"]
,Cols ["  -b"," --bolognaise","  The second word in the name"]
,Cols ["  -d"," --dolmio","  The magic ingredient!"]
,Line ""
,Line "    The author of this program explicitly disclaims any liability for poisoning people who get their recipes off the internet."]
With putStrLn (showText (Wrap 50) demo) gives:
Cooking for hungry people.
Welcome to my cookery recipe program, I sure hope
you enjoy using it!

Omlette              A tasty eggy treat.
-m --mushrooms   Some mushrooms, or in fact
any other ingredients you have
in the cupboards
-e --eggs        But always you need eggs

Spagetti Bolognaise  An Italian delight.
-s --spagetti    The first word in the name
-b --bolognaise  The second word in the name
-d --dolmio      The magic ingredient!

The author of this program explicitly
disclaims any liability for poisoning people
who get their recipes off the internet.
The data type representing some text, typically used as [Text]. The formatting is described by:
  • Line values represent a paragraph of text, and may be wrapped depending on the TextFormat. If a Line value is wrapped then all leading space will be treated as an indent.
  • Cols values represent columns of text. Within any [Text] all columns of the same length are grouped in tabs, with the final column being wrapped if necessary. All columns are placed adjacent with no space between them - for this reason most columns will start with a space.
How to output the text.
Generate a help message from a mode. The first argument is a prefix, which is prepended when not using HelpFormatBash or HelpFormatZsh.
Show some text using the given formatting.