Raku Land

Terminal::Caca

github:azawawi

Terminal::Caca Build Status

Terminal::Caca - Use libcaca (Colour AsCii Art library) API in Perl 6

NOTE: The library is currently experimental. You have been warned :)

Normally you would use the safer object-oriented API via Terminal::Caca. If you need to access raw API for any reason, please use Terminal::Caca::Raw.

Example

use v6;
use Terminal::Caca;

# Initialize library
given my $o = Terminal::Caca.new {
    # Set window title
    .title("Perl 6 rocks");

    # Say hello world
    my $text = ' Hello world, from Perl 6! ';
    .color(white, blue);
    .text(10, 10, $text);

    # Draw an ASCII-art box around it
    .thin-box(9, 9, $text.chars + 2, 3);

    # Refresh display
    .refresh;

    # Wait for a key press event
    .wait-for-keypress;

    # Cleanup on scope exit
    LEAVE {
        .cleanup;
    }
}

For more examples, please see the examples folder.

Installation

$ sudo apt-get install libcaca-dev
$ brew update
$ brew install libcaca
$ zef install Terminal::Caca

Testing

$ prove -ve "perl6 -Ilib"
$ zef install Test::META
$ AUTHOR_TESTING=1 prove -e "perl6 -Ilib"

Author

Ahmad M. Zawawi, azawawi on #perl6, https://github.com/azawawi/

License

MIT