NAME
Langertha::Raider::CLI::Output - Internal terminal renderer of the raider CLI
VERSION
version 0.503
SYNOPSIS
# Internal to Langertha-Raider -- no API promise.
my $out = Langertha::Raider::CLI::Output->new;
$out->say_meta('history cleared.');
$out->say_error('something failed');
$out->say_agent($result);
$out->config_report($app->explain_config);
DESCRIPTION
Internal module. Its interface may change without notice.
Everything the raider CLI prints for a human goes through here: the blue/yellow palette, the agent/meta/error lines, the raider config explain report and the raider config migrate report. The machine output (--json and friends) is Langertha::Raider::CLI::Machine.
out
Filehandle everything is printed to. Defaults to STDOUT.
color
Whether to emit ANSI colors. Defaults to true when "out" is a terminal; ANSI_COLORS_DISABLED switches them off as well.
c
my $text = $out->c(meta => 'some', ' text');
The text in the palette color meta, title, agent, ... -- plain when "color" is off.
emit
Prints its arguments to "out".
say_agent
One line of agent output, inline `code` highlighted.
say_meta
One line of meta information.
say_error
An error: line.
error_text
my $text = $out->error_text($@);
An exception as one line for the user: without the trailing newline and the Perl source location croak appends, also the form Moose adds for a constructor or accessor.
render_inline_code
Wraps `...` spans in a darker background when colors are on. Triple backticks stay untouched so fenced code blocks keep their own flow.
config_report
Prints a report of "explain_config" in Langertha::Raider::Application: the config file in use and any config file ignored next to it (a legacy .raider.yml beside .raider/config.yml); the home file ~/.raider/config.yml when it is loaded; one line per setting with its value, source, what it was merged with, what it overrides and whether it applies to the engine or to raider; the instructions source (-M, .raider/instructions.md, .raider.md, default) with (bare) under --bare, and any instructions file ignored next to the one in use (a legacy .raider.md beside .raider/instructions.md); each pack with its state, the kind of place it was found in (project, home, shipped, env) and why it is on or off; the pack directories that were skipped, and why; the perl tools grant; and each mounted tool with its source and effect classes (unknown for a tool the built-in table does not know); and, when ~/.raider/config.yml has a project_tools, each of its selectors (matched or not, and why) and each tool name with the selectors granting it, the packs requesting it and whether raider knows it -- information only.
migrate_report
$out->migrate_report($plan, dry_run => 1);
Prints what raider config migrate does, from a "plan" in Langertha::Raider::Config::Migrate that was not refused: per legacy file its new file, its backup and whether the content changes -- copied unchanged, without the api_key lines (their line numbers), or rewritten (then the new content follows, it holds no api_key) -- and where an api_key was left out; whether .raider/.gitignore is created; with dry_run that nothing was written. Never prints the value of an api_key.
migrate_done
$out->migrate_done(@results);
One line per step of "apply" in Langertha::Raider::Config::Migrate that was done: migrated FROM -> TO (backup BACKUP). Failed and skipped steps are the caller's to report.
pack_reason
my $text = $out->pack_reason($entry, rule => 1);
Why a pack of "activation_report" in Langertha::Raider::Packs::Collection is on or off: SOURCE: REASON (detected: must file=cpanfile (cpanfile), flag: --no-pack), or the detection outcome of an inactive pack (not matched: ...). With rule the origin of a detection rule is appended ([rule: pack default]).
SEE ALSO
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/langertha-raider/issues.
IRC
Join #langertha on irc.perl.org or message Getty directly.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.