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);
    printf "%s\n",$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 zentral an- und ab-zuschalten. Die An- oder Abschaltung erfolgt bei Aufruf des Konstruktors.

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 durch die Klasse 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 Ausgabe mit oder ohne ANSI Colorcodes erfolgt.

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.

VERSION

1.156

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2019 Frank Seitz

LICENSE

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