kentnl / Devel-Isa-Explainer

Pretty Print Function Hierarchies of Classes
Other
1 stars 0 forks source link

[utter wishlist] More elaborate ancestry display #3

Open ribasushi opened 8 years ago

ribasushi commented 8 years ago

For extra "brainfuck" you could try to use git log --graph-like routing to indicate on the left side who inherited from whom.

ribasushi commented 8 years ago

More on this topic:

<ribasushi> would be nice to be able to "merge already seen" or somesuch for explain_isa(\@many_classes)
<ribasushi> I meant something like "it is none of \@many_classes, and does not have shadowing data => do something like D::D's $VAR1 or somesuch"
<ribasushi> note - this is not a feature request
<ribasushi> more "this is how this tool is being used in the wild - generate ideas off that if something catches your eye"

Based on

ANSI_COLORS_DISABLED=1 perl -Ilib -MDevel::Isa::Explainer=explain_isa -e '
  $Devel::Isa::Explainer::MAX_WIDTH=5;
  for (qw(
    ResultSource
    ResultSource::Table
    ResultSource::View
    ResultSourceProxy
    ResultSourceProxy::Table
  )) {
    my $m = "DBIx::Class::$_";
    eval qq( require $m );
    print explain_isa($m);
  }
' | xclip