---
name: "Devel::REPL::Plugin::FancyPrompt"
section: "3pm"
platform: "linux"
package: "libdevel-repl-perl"
version: "1.003029-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Devel::REPL::Plugin::FancyPrompt"
---

# Devel::REPL::Plugin::FancyPrompt(3pm)

Facilitate user-defined prompts

## NAME

Devel::REPL::Plugin::FancyPrompt - Facilitate user-defined prompts

## VERSION

version 1.003029

## SYNOPSIS

```
    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"`

## SUPPORT

Bugs may be submitted through the RT bug tracker \<https://rt.cpan.org/Public/Dist/Display.html?Name=Devel-REPL\> (or bug-Devel-REPL@rt.cpan.org \<mailto:bug-Devel-REPL@rt.cpan.org\>).

There is also an irc channel available for users of this distribution, at `"#devel"` on `"irc.perl.org"` \<irc://irc.perl.org/#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.
