Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Forget about messages and use native xbt logs...
[simgrid.git] / tools / MSG_visualization / colorize.pl
1 #!/usr/bin/perl
2
3 $col_white    = "\033[00m";
4 $col_black    = "\033[30m";
5 $col_red      = "\033[31m";
6 $col_green    = "\033[32m";
7 $col_yellow   = "\033[33m";
8 $col_blue     = "\033[34m";
9 $col_purple   = "\033[35m";
10 $col_cyan     = "\033[36m";
11 $col_ltgray   = "\033[37m";
12 $col_darkgray = "\033[30m";
13
14 $col_norm       = $col_white;
15 $col_background = "\033[07m";
16 $col_brighten   = "\033[01m";
17 $col_underline  = "\033[04m";
18 $col_blink      = "\033[05m";
19
20 # Customize colors here...
21 #
22 $col_default = $col_ltgray;
23 my (@coltab) = (
24     $col_green,                    $col_yellow,
25     $col_purple,                   $col_cyan,
26     $col_red,                      $col_blue,
27     $col_background . $col_green,
28     $col_background . $col_yellow, $col_background . $col_purple,
29     $col_background . $col_cyan,   $col_background . $col_red,
30     $col_background . $col_blue,   $col_background . $col_magenta,
31 );
32
33 while (<>) {
34     $orgline = $thisline = $_;
35
36     if ( $thisline =~ /^\[[0-9\.]*\] P[0-9]* \|/ ) {
37         ( $number, $message ) = split ( / \| /, $thisline );
38         chomp $message;
39         $head = $number;
40         $number =~ s/^\[[0-9\.]*\] P//;
41         $number =~ s/^ .*$//;
42         $head   =~ s/^(\[.*\]) (.*)$/$col_norm$1 $coltab[($number-1) % scalar(@coltab)]$2/;
43         print $head. " " . $message . $col_norm . "\n";
44         next;
45     }
46     print $col_default. $orgline;
47 }
48
49 print $col_norm;