Многие инструменты командной строки имеют параметр --help
который можно анализировать для автоматического создания завершений. Даже если бы результат не был идеальным на 100%, это было бы бесценным для снижения планки, чтобы обеспечить завершенность рыбы. Это, безусловно, серьезное мероприятие, но я считаю его достойным вложением.
Об этом уже спрашивали в # 4081, и я чувствую, что причина закрытия все еще актуальна.
Повторить:
Слепо звонить somecommand --help
опасно
Сгенерированные дополнения гораздо менее полезны, чем рукописные.
Это куча работы
Если бы вы вместо этого написали справочную страницу, вы также помогли бы вышестоящему проекту
Так что я не думаю, что оно того стоит.
complete
. Это то, что я имел в виду под не на 100% идеальным: может потребоваться ручное редактирование. С другой стороны, из того, что вы написали, кажется, есть способ сгенерировать завершение из страниц руководства?кажется, есть способ сгенерировать завершение из страниц руководства?
Да - https://github.com/fish-shell/fish-shell/blob/master/share/tools/create_manpage_completions.py. Он запускается при первом запуске рыбы и может быть обновлен, выполнив fish_update_completions
.
Что, вероятно, является важной частью контекста - когда вы уже можете анализировать страницы руководства (что безопасно), действительно нет реальной необходимости анализировать вывод "--help" для очень немногих утилит, у которых есть "--help" (или это "-h" или "-?"), но без справочной страницы.
Кроме того, этот сценарий показывает ограничения генерации завершений - вы можете делать параметры с наиболее приемлемым уровнем качества (хотя описания часто плохие), но все остальное просто недостаточно стандартизировано.
Самый полезный комментарий
Да - https://github.com/fish-shell/fish-shell/blob/master/share/tools/create_manpage_completions.py. Он запускается при первом запуске рыбы и может быть обновлен, выполнив
fish_update_completions
.Что, вероятно, является важной частью контекста - когда вы уже можете анализировать страницы руководства (что безопасно), действительно нет реальной необходимости анализировать вывод "--help" для очень немногих утилит, у которых есть "--help" (или это "-h" или "-?"), но без справочной страницы.
Кроме того, этот сценарий показывает ограничения генерации завершений - вы можете делать параметры с наиболее приемлемым уровнем качества (хотя описания часто плохие), но все остальное просто недостаточно стандартизировано.