ponysay displays an image of a pony saying some text provided by the user
in a terminal. If message is not provided, it accepts standard input,
word-wraps the message given at about 60 columns, and prints the pony saying
the given message on standard output.

If no arguments are provided, the program only accepts standard input piped from
another program, a file or either here documents or here strings (see man
bash(1) for details on here document/string.)

Select a pony (either a file name or a pony name), you can
use this option multiple times, and one of the will be selected
randomly.

+f, ++file, ++pony name

Select a pony outside of My Little Pony: Friendship is
Magic (either a file name or a pony name), you can use this options
multiple times, and one of the will be selected randomly.

-F, --any-file, --anyfile, --anypony --any-pony
name

This option combines -f and +f.

--f, --files, --ponies [name...]

Variadic variant of -f, meaning that all arguments
added after this one will parsed as an argument to this option.

++f, ++files, ++ponies [name...]

Variadic variant of +f, meaning that all arguments
added after this one will parsed as an argument to this option.

--F, --any-files, --anyfiles, --anyponies --any-ponies
name

This option combines --f and ++f.

-q, --quote [name...]

By using this option, a pony will be printed with quotes
from her in My Little Pony: Friendship is Magic. The pony will be selected
randomly, unless at least one pony is added as an argument to -q.
If more than one pony is added as an argument to -q, the pony will
be selected randomly from that set of ponies.

--q, --quotes [name...]

Variadic variant of -q, meaning that all arguments
added after this one will parsed as an argument to this option.
Additionally, those options are added to -q.

-b, --bubble, --balloon style

Specify the balloon style that should used, this can either
be a file name or a balloon name printed by ponysay -B.

-W, --wrap column

The screen column where the message should be wrapped, the
balloon's extra width is taken into consideration. If the argument is not
a number, but starts instead with n, no wrapping is done, and if it
starts with i the width of the terminal is used.

-c, --compress, --compact [ANSI-colour]

Compress the message in the same way cowsay does,
that is basically without multiple spaces, and only paragraphs
separations.

-l, --list

List pony files.

-L, --symlist, --altlist

List pony files with alternative names inside
brackets.

+l, ++list

List non-MLP:FiM pony files.

+L, ++symlist, ++altlist

List non-MLP:FiM pony files with alternative names inside
brackets.

-B, --bubblelist, --balloonlist style

Prints a list of all balloon styles.

-A, --all

List all pony files, MLP:FiM and non-MLP:FiM, in this case
the first list are MLP:FiM and the second are non-MLP:FiM.

+A, ++all, --symall, --altall

List all pony files, including alternatives names inside
brackets, these from MLP:FiM and non-MLP:FiM the first list are the
MLP:FiM and the second one are non-MLP:FiM.

-o, --pony-only, --ponyonly

Just print the pony, nothing else like the speech
balloon.

-i, --info

By adding this flag you will get a meta-data for a pony
printed, rather than the pony itself.

+i, ++info

This works just like the -i option, except the pony
will use the output has her message rather that just print that
information.

-r, --restriction

This option is used to restrict which ponies can be
randomly select based one their meta-data. A value in the argument is a
combination of the tag name and tag value on the form
NAME=VALUE.

Use Linux VT’s compatibilities with KMS
utilisation, despite your terminal’s actual compatibilities. (May
not work with all KMS video cards)

+c, --colour [ANSI-colour]

Colour the balloon, including link and message. For more
colouring features, see the info manual. The argument,
ANSI-colour, should be a ANSI colour sequence without leading CSI
and without a tailing m, for example 1;31 will make it in
red and bold (or bright depending on the terminal.)

--colour-bubble, --colour-balloon
[ANSI-colour]

Just like --colour, but it only colours the balloon,
without the message or link.

--colour-link [ANSI-colour]

Just like --colour, but it only colours the balloon
link.

--colour-msg, --colour-message
[ANSI-colour]

Just like --colour, but it only colours the
message.

--colour-pony [ANSI-colour]

Just like --colour, but it colours the pony. This
colouring has no effect on regular pony files, as it has its own
colouring.

--colour-wrap, --colour-hyphen
[ANSI-colour]

Just like --colour, but it colours hyphen added by
the word wrapping. if you want uncoloured use 0, the default is
31.

Under TTY (Linux VT), if the output is larger the the
screen's height, only the beginning is printed, leaving two blank lines.
If you want the bottom to be printed rather the the beginning you can
export PONYSAY_BOTTOM with the value yes, y or
1.

PONYSAY_SHELL_LINES

Under TTY (Linux VT), if the output is larger the the
screen's height, two lines are left blank. If you want more, or less,
blank lines you can export PONYSAY_SHELL_LINES with the value of
how many blank lines you want.

PONYSAY_FULL_WIDTH

You can export PONYSAY_FULL_WIDTH with the value
yes, y or 1, if you do not want the output to be
truncated on the width to fit the terminal.

PONYSAY_TRUNCATE_HEIGHT

Export PONYSAY_TRUNCATE_HEIGHT with the value
yes, y or 1, if you want to truncate the output on
the height even if you are not running ponysay under TTY.

PONYSAY_UCS_ME

Export PONYSAY_UCS_ME with the value yes,
y or 1, if you want [simulated] symlink to pony files using
Universal Character Set in their names.

PONYSAY_KMS_PALETTE, PONYSAY_KMS_PALETTE_CMD

PONYSAY_KMS_PALETTE or
PONYSAY_KMS_PALETTE_CMD is used to tell ponysay how your TTY
palette looks, this feature lets you get the best images in TTY if you
have Kernel Mode Setting (KMS) support.

PONYSAY_TYPO_LIMIT

ponysay is able to auto-correct misspelled pony
names and balloon style name. Without consideration for transpositioning,
by default if the weighted distance is greater than 5 for the closest
words, auto-correction ignored. This limit can be changed by exporting the
limit to PONYSAY_TYPO_LIMIT; setting the limit to zero will disable
auto-correction.

PONYSAY_WRAP_HYPHEN

You can export what ponysay should use instead of a hyphen
when wrapping messages.

PONYSAY_WRAP_LIMIT

Defines how long a word must be to be hyphenated. This is
used to wrap words that are long so the output gets as pretty as possible.
This is not the only condition under which a word can be hyphenated, it
can also be hyphenated if the word cannot fit otherwise.

PONYSAY_WRAP_EXCEED

Defines how much a word must exceed the wrapping point to
be hyphenated. This setting is used together with
PONYSAY_WRAP_LIMIT.

This manual page was originally written by Louis Taylor
<kragniz@gmail.com> for the Debian GNU/Linux project (and may be used by
others), and been edited by the ponysay authors for the official ponysay
release.