我在 Perl 中使用Term::Shell包来实现 CLI 工具。我无法用它来完成命令部分的制表符完成。
comp_CMD() - 这是这个 Term::Shell 提供的一个 API,用于实现 tab 补全。这对我没有帮助。有谁知道如何使这项工作?
示例代码:
#!/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]
上面的命令没有给出预期的输出。它只是给了我一个标签。