package DBIx::dbMan::Extension::LineComplete;
use strict;
use base 'DBIx::dbMan::Extension';
our $VERSION = '0.03';
1;
sub IDENTIFICATION { return "000001-000048-000003"; }
sub preference { return 3999; }
sub known_actions { return [ qw/LINE_COMPLETE/ ]; }
sub handle_action {
my ($obj,%action) = @_;
if ($action{action} eq 'LINE_COMPLETE') {
$action{list} = [];
my %maybe = ();
for my $ext (@{$obj->{-core}->{extensions}}) {
if ($ext->can('cmdcomplete')) {
study "\Q$action{text}";
for ($ext->cmdcomplete($action{text},$action{line},$action{start})) {
++$maybe{$_} if /^\Q$action{text}/i;
}
}
}
$action{list} = [ sort keys %maybe ];
$action{action} = 'NONE';
}
$action{processed} = 1;
return %action;
}