- sub debug {
- my ($self, $module, @args) = @_;
-
- return if not $self->{debug};
-
- state $fh; # only open the file once per run
- if (not defined $fh) {
- # Ignore errors if the directory doesn't exist.
- if (not open $fh, '>', "$ENV{HOME}/.config/fcscs/log") {
- $fh = undef; # a failed open still writes a value to $fh
- return;
- }
- }
-
- foreach (@args) {
- $_ = $self->encode($_);
- }
- say $fh "$module: @args" or CORE::die $!;
- return;
- }
-
-
- sub prompt {
- my ($self, %settings) = @_;
-
- foreach (keys %settings) {
- CORE::die if not exists $self->{prompt}{$_};
- $self->{prompt}{$_} = $settings{$_};
- }
- return;
- }