Ich verwende das Term::Shell Paket in Perl für die Implementierung eines CLI-Tools. Ich kann die Tab-Vervollständigung eines Befehlsteils damit nicht machen.Wie mache ich die Tab-Vervollständigung in Perls Term :: Shell?
comp_CMD() - das ist eine API, die von diesem Term :: Shell zur Verfügung gestellt wird, soll die Tab-Vervollständigung erreichen. Das hilft mir nicht. Weiß jemand wie man das macht ??
Beispielcode:
#!/usr/bin/env perl
package Sample;
use base qw(Term::Shell);
sub prompt_str { "Sample\>" };
sub comp_show
{
my $o = shift;
my $word = shift;
$o->completions($word, [qw(all work and no play is no fun at)]);
}
sub run_show
{
print "run show\n";
}
package main;
Sample->new->cmdloop;
Dies ist ein Lauf des Programms:
Sample>show[TAB]
Der obige Befehl doesnt geben die erwartete Ausgabe .. es gibt mir nur eine Registerkarte.
Bitte senden Sie einen Beispielcode, den Sie versucht haben, zu arbeiten. – Inshallah
Bitte löschen Sie Ihre Antwort und fügen Sie den Beispielcode zu Ihrer Frage hinzu. Bitte ziehen Sie außerdem jede Zeile des Beispielcodes mit 4 zusätzlichen Leerzeichen ein, damit sie als Codeblock angezeigt wird. – Inshallah
@Anandan: Ich habe versucht, die Formatierung in Ihrem Code aufzuräumen, aber Inshalla hat Recht. Bitte lösche die Antwort und poste den Code als Teil deiner Frage. Verwenden Sie die Bearbeitungsschaltflächen, um den Code ordnungsgemäß als Code zu formatieren. – Telemachus