summaryrefslogtreecommitdiffstats
path: root/lib/Carp/Always/Color.pm
blob: a482001f243b29f39b3b8853ab1cc27785afe4f0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package Carp::Always::Color;
use strict;
use warnings;
# ABSTRACT: Carp::Always, but with color

BEGIN {
    if (-t *STDERR) {
        require Carp::Always::Color::Term;
    }
    else {
        require Carp::Always::Color::HTML;
    }
}

=head1 SYNOPSIS

  use Carp::Always::Color;

or

  perl -MCarp::Always::Color -e'sub foo { die "foo" } foo()'

=head1 DESCRIPTION

Stack traces are hard to read when the messages wrap, because it's hard to tell
when one message ends and the next message starts. This just colors the first
line of each stacktrace, based on whether it's a warning or an error. If
messages are being sent to a terminal, it colors them with terminal escape
codes, otherwise it colors them with HTML (ideas for more intelligent behavior
here are welcome).

=head1 SEE ALSO

L<Carp::Always>

=cut

1;