r61340@onn: sartak | 2008-05-31 12:17:19 -0400
[p5sagit/Devel-REPL.git] / lib / Devel / REPL / Plugin / CompletionDriver / INC.pm
index 0166c8c..d1aa4b3 100644 (file)
@@ -4,6 +4,10 @@ use File::Next;
 use File::Spec;
 use namespace::clean -except => [ 'meta' ];
 
+with qw(
+  Devel::REPL::Plugin::Completion
+);
+
 around complete => sub {
   my $orig = shift;
   my ($self, $text, $document) = @_;
@@ -57,6 +61,9 @@ around complete => sub {
 
   my @found;
 
+  # most VCSes don't litter every single fucking directory with garbage. if you
+  # know of any other, just stick them in here. noone wants to complete
+  # Devel::REPL::Plugin::.svn
   my %ignored =
   (
       '.'    => 1,
@@ -64,6 +71,7 @@ around complete => sub {
       '.svn' => 1,
   );
 
+  # this will take a directory and add to @found all of the possible matches
   my $add_recursively;
   $add_recursively = sub {
     my ($path, $iteration, @more) = @_;
@@ -90,9 +98,13 @@ around complete => sub {
     }
   };
 
+  # look through all of 
   INC: for (@INC)
   {
     my $path = $_;
+
+    # match all of the fragments they have, so "use Moose::Meta::At<tab>"
+    # will only begin looking in ../Moose/Meta/
     for my $subdir (@directories)
     {
       $path = File::Spec->catdir($path, $subdir);
@@ -107,3 +119,15 @@ around complete => sub {
 
 1;
 
+__END__
+
+=head1 NAME
+
+Devel::REPL::Plugin::CompletionDriver::INC - Complete module names in use and require
+
+=head1 AUTHOR
+
+Shawn M Moore, C<< <sartak at gmail dot com> >>
+
+=cut
+