#!/usr/bin/env perl

use lib ($ENV{RLWRAP_FILTERDIR} or ".");
use RlwrapFilter;
use strict;

my $filter = new RlwrapFilter;
my $name = $filter -> name;

$filter -> help_text("Usage: rlwrap -z '$name COLOR' <command>\n".
		     "color Prolog  | ?-  prompt\n"
);

$filter -> prompt_handler(\&colorize);
$filter -> run;

sub colorcode() {
    my %cls = (
        "black" => "30", "red"    => "31", "green" => "32", "yellow" => "33",
        "blue"  => "34", "purple" => "35", "cyan"  => "36", "white"  => "37"
    );
    return("\033[".substr($ARGV[0],0,1)=~/^[A-Z]/.";".$cls{lc($ARGV[0])}."m");
}

sub colorize{
    my ($prompt) = @_;
    if ($prompt =~ /^\|.*/) {
        return colorcode . $prompt . "\033[0m";
    } else {
        return $prompt;
    }
}
