Страницы

Поиск по вопросам

пятница, 20 декабря 2019 г.

Автодополнение в пользовательских программах

#bash #autocomplete


В Linux-е когда через bash запускаешь какую-то программу, то можно используя Tab
ускорять ввод параметров, которые нужно передать этой программе. Как сделать так, чтобы
автодополнение работало и в моей программе?
    


Ответы

Ответ 1



микропример. сделаем для нашей (пока несуществующей) программы автодополнение опций -a, -b и параметра c : $ complete -W "-a -b c" x проверяем. вводим x, затем пробел, затем символ tab дважды и видим предложенные варианты: $ x -a -b c чтобы это работало в каждой сессии, команду (complete ...) можно добавить в конец файла ~/.bashrc. чтобы выполнялось автодополнение именами файлов/каталогов, можно, к примеру, добавить команде complete опцию -f: $ complete -f -W "-a -b c" x а дальше уже надо читать документацию (https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html) и смотреть на примеры (с актуальными версиями пакета bash/bash-completion — в каталоге /usr/share/bash-completion/completions/)

Ответ 2



как вариант можете посмотреть примеры в директории /etc/bash_completion.d/* В 16 UBUNTU autocomplete программ расположены в директории /usr/share/bash-completion/completions/ Более подробно тут

Комментариев нет:

Отправить комментарий