私は、CLIツールを実装するためにPerlでTerm::Shellパッケージを使用しています。私はそれでコマンド部のタブ補完を行うことができません。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]
上記のコマンドのdoesntが期待される出力を与える...それはちょうど私のタブを提供します。
作業を試行したサンプルコードを投稿してください。 – Inshallah
答えを削除し、サンプルコードを質問に追加してください。また、サンプルコードの各行を4つのスペースでインデントして、コードブロックとして表示させてください。 – Inshallah
@Anandan:あなたのコードで書式を整理しようとしましたが、Inshallaは正しいです。回答を削除し、質問の一部としてコードを投稿してください。編集ボタンを使用して、コードをコードとして適切にフォーマットするのに役立ちます。 – Telemachus