123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- use strict;
- my $color = 35;
- my %fg_color_map = (black=>30, red=>31, green=>32, yellow=>33, blue=>34, magenta=>35, cyan=>36);
- my @pats = ();
- foreach my $pat (@ARGV){
- if($pat=~/^(\S+)=(\S+?)$/){
- if(exists $fg_color_map{$2}){
- $color = $fg_color_map{$2};
- push(@pats, [$1, $color]);
- } else {
- print STDERR "[hlcolor] unknown color \"$2\"\n";
- push(@pats, [$1, $color]);
- }
- } else {
- push(@pats, [$pat, $color]);
- }
- }
- $| = 1;
- while(<STDIN>){
- foreach my $pat (@pats){
- s/($pat->[0])/\e[1;$pat->[1]m\1\e[0m/g;
- }
- print;
- }
- 1;
|