CLIツールを実装するためにPerlのTerm::Shellパッケージを使用しています。それではコマンドパートのタブ補完を行うことができません。
comp_CMD()-このTerm :: Shellによって提供されるAPIは、タブ補完を実現するためのものです。これは私を助けていません。誰かがこれを機能させる方法を知っていますか?
サンプルコード:
#!/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;
これはプログラムの実行です:
Sample>show[TAB]
上記のコマンドは期待される出力を与えません..それは私にタブを与えるだけです。