Завершение пользовательской вкладки терминала 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;
            }
        }
    });
});
Другие вопросы по тегам