Автодополнение в Bash для Makefile на macOS

Автодополнение в Bash для Makefile на macOS

Как сделать чтобы автодополнение Makefile работало в macOS для bash?

Сначала убедитесь, что у вас установлен bash-completion.

Затем добавьте это в ваш файл ~/.bash_profile или в ~/.bashrc:

complete -W "\`grep -oE '^[a-zA-Z0-9_.-]+:([^=]|$)' Makefile | sed 's/[^a-zA-Z0-9_.-]*$//'\`" make

Предполагается, что все ваши Makefile называются с заглавной буквы M (Makefile). Если это не так, вам нужно будет адаптировать эту команду под вашу конкретную схему именования файлов.

Если вы хотите исключить dot-targets (точечные цели) из автозаполенения (включая все специальные цели .PHONY), вы можете использовать его немного измененную версию:

complete -W "\`grep -oE '^[^.][a-zA-Z0-9_.-]+:([^=]|$)' Makefile | sed 's/[^a-zA-Z0-9_.-]*$//'\`" make

Чтобы конфиг применился, выполните команду

source ~/.bash_profile

Вот так с помощью нехитрой команды, можно настроить работу автодополнения для bash в makefile.

Орининал: Bash auto-completion for Makefile targets in macOS

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *