my @ret = $self->$orig($line);
# the namespace of the loaded module
- if ($line =~ /use\s+(\S+)/) {
+ if ($line =~ /\buse\s+(\S+)/) {
my $module = $1;
- foreach my $keyword (keys %{$self->get_namespace($module)}) {
+ foreach my $keyword (keys %{$self->get_namespace($module) || {}}) {
$self->push_completion($keyword);
}
}
foreach my $var (keys %{$lex->get_context('_')}) {
$var = substr($var, 1); # we drop the variable idiom as it confuses the completion
$self->push_completion($var) unless
- grep /^${var}$/, @{$self->term->Attribs->{completion_word}};
+ grep $_ eq $var, @{$self->term->Attribs->{completion_word}};
}
return @ret;