10 my ($self, $ometa) = @_;
11 +{ %$ometa, width_left => $ometa->{width_left} - length $self->indent_by };
15 my ($self, $to_indent) = @_;
16 $to_indent =~ s/^/${\$self->indent_by}/mg;
21 my ($self, $thing) = @_;
22 $self->_fmt($thing, { width_left => $self->max_width })."\n";
26 my ($self, $thing, $meta) = @_;
27 return $thing unless ref($thing);
28 my $type = join'_', split '::', lc +(ref($thing) =~ /^DX::(.*)/)[0];
29 $self->${\"_fmt_${type}"}($thing, $meta);
33 my ($self, $dict, $ometa) = @_;
34 my $imeta = $self->_inner_meta($ometa);
35 my $chunks = $self->_indent_one(join "\n", map {
36 "$_ ".$self->_fmt($dict->get_member_at($_), $imeta)
41 sub _fmt_value_string {
42 my ($self, $string) = @_;
43 my $val = $string->string_value;
44 if ($val =~ /^\w+$/) {
51 sub _fmt_value_number { $_[1]->number_value }
53 sub _fmt_value_true { 'true' }
55 sub _fmt_value_false { 'false' }
57 sub _fmat_value_unset { 'unset' }