NAME
Carp::SyntaxHighlightSource - Die/warn of errors with stack backtrace and source context
VERSION
version 0.02
SYNOPSIS
use Carp::SyntaxHighlightSource 'source_cluck';
source_cluck 'some error';
source_cluck 'some error',
lines => 5, number => 0, color => 'yellow on_blue';
DESCRIPTION
This module exports one function, source_cluck()
, which prints stack traces with syntax-highlighted source code extracts to make it obvious what has been called from where.
It does not work for one-liners because there is no file from which to load source code.
Syntax-highlighting is done using SyntaxHighlight::Any. You need one or more backends for syntax-highlighting to work, e.g. B,Pygments> or GNU source-highlight.
- source_cluck
-
source_cluck 'some error'; source_cluck 'some error', lines => 5, number => 0, color => 'yellow on_blue';
Like Carp's
cluck()
, but it also displays the source code context of all call frames, with three lines before and after each call being shown, and the call being highlighted.It takes as arguments a string (the error message) and a hash of options. The following options are recognized:
- lines
-
Number of lines to display before and after the line reported in the stack trace. Defaults to 3.
- number
-
Boolean value to indicate whether line numbers should be printed at the beginning of the context source code lines. Defaults to yes.
- color
-
The color in which to print the source code line reported in the stack trace. It has to be a string that Term::ANSIColor understands. Defaults to
black on_yellow
.
This is just a quick hack - not all of
Carp
's or even justcluck()
's features are present. The code borrows heavily fromCarp
.
CREDITS
Modified from Carp::Source.
SEE ALSO
Carp::Always::SyntaxHighlightSource
AUTHOR
Steven Haryanto <stevenharyanto@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Steven Haryanto.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.