The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::AnsiColor - Erzeuge Text mit/ohne ANSI Colorcodes

BASE CLASS

Quiq::Object

SYNOPSIS

  use Quiq::AnsiColor;
  
  my $a = Quiq::AnsiColor->new(-t STDOUT);
  say $a->str('bold white on_cyan','Hello, world!');

DESCRIPTION

Die Klasse erlaubt es, Textausgaben - die typischerweise aufs Terminal gehen - mit ANSI Colorcodes auszuzeichnen und diese Auszeichnung bei Aufruf des Konstruktors zentral an- oder ab-zuschalten.

Terminal-Eigenschaften

  Allgemein    Vordergrund  Hintergrund
  -----------  -----------  -----------
  dark         black        on_black
  bold         red          on_red
  underline    green        on_green
  blink        yellow       on_yellow
  reverse      blue         on_blue
  concealed    magenta      on_magenta
  reset        cyan         on_cyan
               white        on_white

Es kann eine Kombination aus Eigenschaften angegeben werden. Mehrere aus der Rubrik "Allgemein", eine aus der Rubrik "Vordergrund", eine aus der Rubrik "Hintergrund". Werden mehrere Eigenschaften angegeben, werden diese durch Leerzeichen getrennt.

Beispiele: 'bold reverse' oder 'dark red on_green'

Texte mit Colorcodes weiter verarbeiten

Die im folgenden genannten Programme aha, wkhtmltopdf sind im Debian-Repository enthalten.

Nach PDF wandeln

  $ PROGRAM | aha | wkhtmltopdf - FILE.pdf

Drucken

  $ PROGRAM | aha | wkhtmltopdf - - | lpr

Im Pager anzeigen

  $ PROGRAM | less -R

METHODS

Konstruktor

new() - Instantiiere Objekt

Synopsis

  $a = $class->new;
  $a = $class->new($bool);

Arguments

$bool (Default: 1)

Wenn wahr, findet eine Auszeichnung mit ANSI Colorcodes statt, wenn falsch, nicht. Ist das Argument nicht angegeben, ist dies gleichbedeutend mit wahr.

Returns

AnsiColor-Objekt

Description

Instantiiere ein Objekt der Klasse und liefere dieses zurück. Durch den Parameter $bool wird entschieden, ob die Methode str() ihren Rückgabewert mit oder ohne ANSI Colorcodes liefert.

Objektmethoden

active() - Farbdarstellung eingeschaltet?

Synopsis

  $bool = $a->active;

Returns

Bool

Description

Liefere wahr, wenn ANSI Colorcodes aktiviert sind, anderfalls falsch.

str() - Formatiere String mit Colorcodes

Synopsis

  $str = $a->str($attr,$str);

Arguments

$attr

Attribut-Spezifikation gemäß Term::ANSIColor (siehe auch Terminal-Eigenschaften).

$str

Zeichenkette, die mit ANSI Colorcodes formatiert wird.

Returns

Zeichenkette mit ANSI Colorcodes (String)

Description

Formatiere Zeichenkette $str mit ANSI Colorcodes gemäß Spezifikation $attr und liefere das Resultat zurück. Die Colorcodes werden der Zeichenkette vorangestellt und mit dem Colorcode 'reset' beendet. Ist die Erzeugung von Colorcodes abgeschaltet, wird die Zeichenkette unverändert geliefert.

strLn() - Formatiere Zeile mit Colorcodes

Synopsis

  $str = $a->strLn($attr,$str);

Arguments

Siehe str()

Returns

Siehe str()

Description

Wie str(), nur dass das Resultat mit einem Newline terminiert wird.

VERSION

1.178

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2020 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.