quixadhal

color in perl

Apr 21st, 2014
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.67 KB | None | 0 0
  1. sub convert_token {
  2.     my $self = shift;
  3.     my $token = shift;
  4.  
  5.     return undef if !defined $token;
  6.     return $token if length $token < 1;
  7.  
  8.     my $ttype = $self->terminal_type;
  9.     return $token unless exists $color_map{$ttype}->{$token};
  10.     return $color_map{$ttype}->{$token};
  11. }
  12.  
  13. sub colorize {
  14.     my $self = shift;
  15.     my $msg = shift;
  16.  
  17.     return undef if !defined $msg;
  18.     return $msg if length $msg < 1;
  19.  
  20.     my @bits = split /\%\^/, $msg;
  21.     for (my $i = 0; $i < scalar @bits; $i++) {
  22.         next if !defined $bits[$i];
  23.         next if $bits[$i] eq '';
  24.         $bits[$i] = $self->convert_token( $bits[$i] );
  25.     }
  26.     return join '', @bits;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment