是否可以控制JQuery.Terminal中的整个制表符完成功能?我想管理显示的自动完成功能。
例如,我想支持模板/正则表达式,以便我可以执行以下操作:"可视化广告系列CAMPAIGN_NAME,其中config = SOMETHING"。我可以为所有这些编写自己的解析器和处理程序,但我不确定如何/在哪里插入它?
答案 0 :(得分:1)
在初始化设置中,您需要确保未设置completion属性(默认为false)。
然后,您需要拦截keydown函数并处理您感兴趣的密钥(在我的情况下为tab)。
在那里,您可以为自动完成逻辑提供自己的处理程序:
$('#terminal').terminal(function (command, term)
{
// Command handlers
},
{
keydown: function(event, term) {
if (event.keyCode == 9) //Tab
{
// Call handler to handle your auto-completion logic
// Sample to print stuff to the console and update the command
term.echo("autocompletion commands...");
term.set_command(term.get_command() + " completion text");
// Tells the terminal to not handle the tab key
return false;
}
}
});
});