NOTE THIS FILE IS WORK IN PROGRESS FOR 1.12

Text templates are used in various places within Mystic to define the output
of certain generators, such as all files listings, new file arrival
annoucements, and more.

Each code translates to a specific value, so for the sake of this example lets
say @CODE@ translates to "Hello" when it is encountered in a text template.

In some cases, a simple translation will be sufficient, but often times
additional formatting will be required in order to achieve the desired output.
In order to provide formatting capabiltities, each code can have any number of
functions applied to them by using the hypen - after the code name.

For example:

  @CODE@
  @CODE-<function>@
  @CODE-<function>-<function>@
  @CODE-<function>-<function>-<function>@

A code can have zero or any number of functions applied to it.  The following
functions are available to use:

Function       Descrption                                Example
-------------- ----------------------------------------- ---------------------
A<text>        Append <text> to end of value             @CODE-A World@
C<char><len>   Center pads using <char> to <len> spaces  @CODE-C 20@
D<char>        Duplicate <char> to the length of code    @CODE-D=@
L<char><len>   Left pad using <char> to <len> spaces     @CODE-L 20@
P<text>        Prepend <text> to beginning of value      @CODE-PHi! @
R<char><len>   Right pad using <char> to <len> spaces    @CODE-R 20@
S<orig>=<new>  Replace text <orig> with text <new>       @CODE-SHello=Goodbye@

Not yet implemented, possible ideas:

U              Convert to all upper case
L              Convert to all lower case
F<char><len>   Dupe <char>, (<len> - code length) times
W<char<num>    Get word <num> using <char> as word delim

Examples:

@CODE@ was equal to a value of Hello, then:

@CODE-A World@         = "Hello World"
@CODE-SHello=Goodbye@  = "Goodbye"
@CODE-R 30@            = "Hello                         "
@CODE-R.30@            = "Hello........................."
@CODE-A World-R.30@    = "Hello World..................."
@CODE-D=@              = "====="  (dupe "=" to the length of the value of code)

Draw a box that works regardless of length of @CODE@:

.-@CODE-D-@-.
| @CODE@ |
`-@CODE-D-@-'

.-------.
| Hello |
`-------'
