Devel::REPL::Plugin::FUserPContributed PerlDevel::REPL::Plugin::FancyPrompt(3)NAMEDevel::REPL::Plugin::FancyPrompt - facilitate user-defined prompts
SYNOPSIS
#!/usr/bin/perl
use lib './lib';
use Devel::REPL;
my $repl = Devel::REPL->new;
$repl->load_plugin('MultiLine::PPI'); # for indent depth
$repl->load_plugin('Packages'); # for current package
$repl->load_plugin('FancyPrompt');
$repl->run;
DESCRIPTION
FancyPrompt helps you write your own prompts. The default fancy prompt
resembles "irb"'s default prompt. The default "fancy_prompt" looks like
this:
re.pl(main):001:0> 2 + 2
4
"re.pl" is a constant. "main" is the current package. The first number
is how many lines have been read so far. The second number (only if you
have a "MultiLine" plugin) is how deep you are; intuitively, your
indent level. This default can be implemented with:
$_REPL->fancy_prompt(sub {
my $self = shift;
sprintf 're.pl(%s):%03d%s> ',
$self->can('current_package') ? $self->current_package : 'main',
$self->lines_read,
$self->can('line_depth') ? ':' . $self->line_depth : '';
});
"current_package" is provided by Devel::REPL::Plugin::Packages (which
tracks the current package). "line_depth" is provided by a "MultiLine"
plugin (probably "MultiLine::PPI").
You may also set a "fancy_continuation_prompt". The default is very
similar to "fancy_prompt"'s default (except "*" instead of ">").
SEE ALSO
"Devel::REPL"
AUTHOR
Shawn M Moore, "<sartak at gmail dot com>"
COPYRIGHT AND LICENSE
Copyright (C) 2007 by Shawn M Moore
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.14.12010-09-2Devel::REPL::Plugin::FancyPrompt(3)