Вывод подсказок для Makefile

Проблема:

Ты помнишь опкоды старых процессоров, помнишь имена регистров, которых давно нет ни в одном учебнике, — но не помнишь, как называется цель в Makefile, которую вчера дописывал руками. Память устроена избирательно, и на имена целей в ней места не нашлось. Здравый смысл тут бессилен, и никакой сертификат не поможет: смотреть под слои придётся самому.

Решение:

Добавить в файл ~/.bashrc следующую команду :

complete -W "\`grep -oE '^[a-zA-Z0-9_.-]+:([^=]|$)' ?akefile | sed 's/[^a-zA-Z0-9_.-]*$//'\`" make
Подсказки таргетов Makefile — открыть страницу урока

или используя fzf (если не установлен : sudo apt install fzf)

Греп, сед, завершение — три маленьких винтика, которые работают, пока где-то продают «интеллектуальную оболочку» за подписку. Чуть сложнее, зато честнее: цель выбираешь пальцем, а не памятью.

complete -W "\`grep -oE '^[a-zA-Z0-9_.-]+[\\:]*[a-zA-Z0-9_.-]+:([^=]|$)' ?akefile | sort | uniq | sed 's/[^a-zA-Z0-9_.-]*$//' | sed 's/[\]//g' | fzf\`" make
Подсказки Makefile через fzf — открыть страницу урока

Машина предлагает, ты выбираешь. Инструмент меняется — привычка остаётся.