ANSI-Palette

 view release on metacpan or  search on metacpan

lib/ANSI/Palette.pm  view on Meta::CPAN

use base 'Import::Export';

our %EX = (
	reset => [qw/all/],
	palette_8 => [qw/all/],
	palette_16 => [qw/all/],
	palette_256 => [qw/all/],
	text_8 => [qw/all text ansi_8/],
	text_16 => [qw/all text ansi_16/],
	text_256 => [qw/all text ansi_256/],
	bold_8 => [qw/all bold ansi_8/],
	bold_16 => [qw/all bold ansi_16/],
	bold_256 => [qw/all bold ansi_256/],
	underline_8 => [qw/all underline ansi_8/],
	underline_16 => [qw/all underline ansi_16/],
	underline_256 => [qw/all underline ansi_256/],
	italic_8 => [qw/all italic ansi_8/],
	italic_16 => [qw/all italic ansi_16/],
	italic_256 => [qw/all italic ansi_256/],
	background_text_8 => [qw/all background_text ansi_8/],
	background_text_16 => [qw/all background_text ansi_16/],
	background_text_256 => [qw/all background_text ansi_256/],
	background_bold_8 => [qw/all background_bold ansi_8/],
	background_bold_16 => [qw/all background_bold ansi_16/],
	background_bold_256 => [qw/all background_bold ansi_256/],
	background_underline_8 => [qw/all background_underline ansi_8/],
	background_underline_16 => [qw/all background_underline ansi_16/],
	background_underline_256 => [qw/all background_underline ansi_256/],
	background_italic_8 => [qw/all background_italic ansi_8/],
	background_italic_16 => [qw/all background_italic ansi_16/],
	background_italic_256 => [qw/all background_italic ansi_256/],
);


sub palette_8 {

lib/ANSI/Palette.pm  view on Meta::CPAN

sub text_16 {
	print "\e[" . $_[0] . ($_[1] ? ";1" : "") . "m" . $_[2];
	reset();
}

sub text_256 {
	print "\e[38;5;" . $_[0] . "m" . $_[1];
	reset();
}

sub bold_8 {
	print "\e[" . $_[0] . ";1m" . $_[1];
	reset();
}

sub bold_16 {
	print "\e[" . $_[0] . ($_[1] ? ";1" : ";0") . ";1m" . $_[2];
	reset();
}

sub bold_256 {
	print "\e[38;5;" . $_[0] . ";1m" . $_[1];
	reset();
}

sub underline_8 {
	print "\e[" . $_[0] . ";4m" . $_[1];
	reset();
}

sub underline_16 {

lib/ANSI/Palette.pm  view on Meta::CPAN

sub background_text_16 {
	print "\e[" . $_[0] . ($_[1] ? ";1" : ";0") . ";" . $_[2] . "m" . $_[3];
	reset();
}

sub background_text_256 {
	print "\e[48;5;" . $_[0] . ";38;5;" . $_[1] . "m" . $_[2];
	reset();
}

sub background_bold_8 {
	print "\e[" . $_[0] . ";" . $_[1] . ";1m" . $_[2];
	reset();
}

sub background_bold_16 {
	print "\e[" . $_[0] . ($_[1] ? ";1" : ";0") . ";" . $_[2] . ";1m" . $_[3];
	reset();
}

sub background_bold_256 {
	print "\e[48;5;" . $_[0] . ";38;5;" . $_[1] . ";1m" . $_[2];
	reset();
}

sub background_underline_8 {
	print "\e[" . $_[0] . ";" . $_[1] . ";4m" . $_[2];
	reset();
}

sub background_underline_16 {

lib/ANSI/Palette.pm  view on Meta::CPAN

Perhaps a little code snippet.

	use ANSI::Palette qw/palette_256/;
	palette_256();

	... 

	use ANSI::Palette qw/ansi_256/;

	background_text_256(208, 33, "This is a test for background_text_256\n");
	background_bold_256(160, 33, "This is a test for background_bold_256\n");
	background_underline_256(226, 33, "This is a test for background_underline_256\n");
	background_italic_256(118, 33, "This is a test for background_italic_256\n");	

=head1 EXPORT

A list of functions that can be exported.  You can delete this section
if you don't export anything, such as for a purely object-oriented module.

=head2 reset
	

lib/ANSI/Palette.pm  view on Meta::CPAN

=cut

=head2 text_256

print text using one of the 256 base colors.

	text_256(32, "This is a test for text_256\n");

=cut

=head2 bold_8

print bold text using one of the 8 base colors.

	bold_8(32, "This is a test for bold_8\n");

=cut

=head2 bold_16 

print bold text using one of the 16 base colors.

	bold_16(32, 1, "This is a test for bold_16\n");

=cut

=head2 bold_256

print bold text using one of the 256 base colors.

	bold_256(32, "this is a test for bold_256\n");

=cut

=head2 underline_8

print underlined text using one of the 8 base colors.

	underline_8(32, "This is a test for underline_8\n");

=cut

lib/ANSI/Palette.pm  view on Meta::CPAN

=cut

=head2 background_text_256

print text using one of the 256 base colors on a background using one of the 256 base colors.

	background_text_256(208, 33, "This is a test for background_text_256\n");

=cut

=head2 background_bold_8

print bold text using one of the 8 base colors on a background using one of the 8 base colors.

	background_bold_8(32, 40, "This is a test for background_bold_8\n");

=cut

=head2 background_bold_16

print bold text using one of the 16 base colors on a background using one of the 16 base colors (40-47) (100-107).

	background_bold_16(32, 1, 40, "This is a test for background_bold_16\n");

=cut

=head2 background_bold_256

print bold text using one of the 256 base colors on a background using one of the 256 base colors.

	background_bold_256(208, 33, "this is a test for background_bold_256\n");

=cut

=head2 background_underline_8

print underlined text using one of the 8 base colors on a background using one of the 8 base colors.

	background_underline_8(32, 40, "This is a test for background_underline_8\n");

=cut

t/01-colours.t  view on Meta::CPAN

use Test::More;

use ANSI::Palette qw/all/;

text_8(32, "This is a test for text_8\n");
text_16(32, 1, "This is a test for text_16\n");
text_256(32, "This is a test for text_256\n");

bold_8(0, "This is a test for bold_8\n");
underline_8(0, "This is a test for underline_8\n");
italic_8(0, "This is a test for italic_8\n");


background_text_8(30, 41, "Hello\n");
background_text_16(30, 0, 101, "Hello\n");
background_bold_16(30, 0, 101, "Hello\n");
background_underline_16(30, 0, 101, "Hello\n");
background_italic_16(30, 0, 101, "Hello\n");


background_text_256(208, 33, "This is a test for background_text_256\n");
background_bold_256(208, 33, "This is a test for background_bold_256\n");
background_underline_256(208, 33, "This is a test for background_underline_256\n");
background_italic_256(208, 33, "This is a test for background_italic_256\n");

ok(1);

done_testing();



( run in 0.372 second using v1.01-cache-2.11-cpan-c333fce770f )