Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Don't add to completions set unless linenoise is active
It doesn't make sense unless we have a tab completion facility
  • Loading branch information
hoelzro committed Apr 23, 2015
1 parent 8dfe790 commit 83fd4f4
Showing 1 changed file with 25 additions and 24 deletions.
49 changes: 25 additions & 24 deletions src/Perl6/Compiler.nqp
Expand Up @@ -199,36 +199,37 @@ class Perl6::Compiler is HLL::Compiler {
}

method readline($stdin, $stdout, $prompt) {
my $ctx := self.context();
if $ctx {
my $pad := nqp::ctxlexpad($ctx);
my $it := nqp::iterator($pad);

while $it {
my $e := nqp::shift($it);
my $k := nqp::iterkey_s($e);
my $m := $k ~~ /^ "&"? $<word>=[\w+] $/;
if $m {
my $word := $m<word>;
unless $word ~~ /^ "&" <.upper>+ $/ {
sorted_set_insert($!completions, $word);
if $!linenoise {
my $ctx := self.context();
if $ctx {
my $pad := nqp::ctxlexpad($ctx);
my $it := nqp::iterator($pad);

while $it {
my $e := nqp::shift($it);
my $k := nqp::iterkey_s($e);
my $m := $k ~~ /^ "&"? $<word>=[\w+] $/;
if $m {
my $word := $m<word>;
unless $word ~~ /^ "&" <.upper>+ $/ {
sorted_set_insert($!completions, $word);
}
}
}
}

my $our := nqp::getlexrel($ctx, '$?PACKAGE').WHO;
my $EnumMap := self.eval('EnumMap');
my $storage := nqp::getattr($our, $EnumMap, '$!storage');
my $our := nqp::getlexrel($ctx, '$?PACKAGE').WHO;
my $EnumMap := self.eval('EnumMap');
my $storage := nqp::getattr($our, $EnumMap, '$!storage');

$it := nqp::iterator($storage);
$it := nqp::iterator($storage);

while $it {
my $e := nqp::shift($it);
my $k := nqp::iterkey_s($e);
sorted_set_insert($!completions, $k);
while $it {
my $e := nqp::shift($it);
my $k := nqp::iterkey_s($e);
sorted_set_insert($!completions, $k);
}
}
}
if $!linenoise {

my $line := $!linenoise($prompt);
if $line.defined {
$!linenoise_add_history($line);
Expand Down

0 comments on commit 83fd4f4

Please sign in to comment.