Завершение пользовательской вкладки терминала jquery
Можно ли взять под контроль всю функцию завершения табуляции в JQuery.Terminal? Я хочу управлять отображением автозаполнения.
Например, я хочу поддерживать шаблоны / регулярные выражения, чтобы я мог делать такие вещи, как "визуализировать кампанию CAMPAIGN_NAME, где config = SOMETHING". Я мог бы написать свой собственный парсер и обработчик для всего этого, но я не уверен, как / где его подключить?
1 ответ
Решение
В настройках инициализации необходимо убедиться, что атрибут завершения не установлен (по умолчанию установлено значение false).
Затем вам нужно перехватить функцию keydown и обработать ключ, который вас интересует (вкладка в моем случае).
Там вы можете предоставить свой собственный обработчик для логики автозаполнения:
$('#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;
}
}
});
});