=head1 NAME
aa-echo - Shows a message
=head1 SYNOPSIS
B<aa-echo> [B<-D>] [B<-O> I<FILE|FD>]
[B<-B>] [B<-T> | B<-t> | B<-w> | B<-e> | B<-n>] I<MESSAGE...>
=head1 OPTIONS
=over
=item B<-B, --blank-first>
Prints a blank line (LF) first.
=item B<-D, --double-output>
Enable double-output mode. Instead of using stdout for regular output, and
stderr for warnings and errors, everything is sent both to stdout and stderr.
This is intended to redirect stderr to a log file, so full output can be both
shown on console and logged.
B<Deprecation warning:> Note that this option has been deprecated and will be
removed in the next version; You should use B<--log-file> instead.
=item B<-e, --error>
Show I<MESSAGE...> as an error message. A red prefix "==> ERROR: " will be
printed before the message.
=item B<-h, --help>
Show help screen and exit.
=item B<-n, --normal>
Show I<MESSAGE...> as regular text, i.e. without any prefix or color. This can
be used for simple echo, but make sure to see how arguments making up
I<MESSAGE...> are processed.
=item B<-O, --log-file> I<FILE|FD>
Will duplicate all output (everything written to stdout or stderr) to the given
file or file descriptor. I<FILE|FD> can either be a (previously opened for
writing) file descriptor (must be > 2), or a file which will then be opened in
append mode.
=item B<-T, --title>
Show I<MESSAGE...> as a main title. A green "==> " prefix will be printed before
the message. This is the default, if no other option is used.
=item B<-t, --title2>
Show I<MESSAGE...> as a secondary title. A blue " -> " prefix will be printed
before the message.
=item B<-V, --version>
Show version information and exit.
=item B<-w, --warning>
Show I<MESSAGE...> as a warning. A yellow "==> WARNING: " prefix will be printed
before the message.
=back
=head1 DESCRIPTION
This is a little helper to easily print messages using the same color code as
other B<anopa> tools do. Note that all arguments making up I<MESSAGE> are
printed one after the other, without adding a blank space; In other words,
`aa-echo foo bar` will result in the string "==> foobar" being printed.
This is due to the way B<aa-echo>(1) processes its arguments, to allow you to
set the text color. Any argument making up I<MESSAGE> can indeed be one of:
=over
=item B<+g, +green>
Set color to green.
=item B<+b, +blue>
Set color to blue.
=item B<+y, +yellow>
Set color to yellow.
=item B<+r, +red>
Set color to red.
=item B<+w, +white>
Set color to white.
=item B<+n, +normal>
Reset color to normal.
=item B<++TEXT>
To print +TEXT
=back
For example: `aa-echo -w "The file " +r "/foo/bar" +n " doesn't exist"`
=head1 RETURN CODES
Return codes are somewhat unified inside B<anopa>. Odd return codes represent
fatal errors, and are detailled in B<anopa-rc>(1)
B<aa-echo>(1) does not have even return codes.