Fish-shell: Скрипт для генерации завершения из `--help`

Созданный на 25 дек. 2017  ·  3Комментарии  ·  Источник: fish-shell/fish-shell

Многие инструменты командной строки имеют параметр --help который можно анализировать для автоматического создания завершений. Даже если бы результат не был идеальным на 100%, это было бы бесценным для снижения планки, чтобы обеспечить завершенность рыбы. Это, безусловно, серьезное мероприятие, но я считаю его достойным вложением.

duplicate

Самый полезный комментарий

кажется, есть способ сгенерировать завершение из страниц руководства?

Да - https://github.com/fish-shell/fish-shell/blob/master/share/tools/create_manpage_completions.py. Он запускается при первом запуске рыбы и может быть обновлен, выполнив fish_update_completions .

Что, вероятно, является важной частью контекста - когда вы уже можете анализировать страницы руководства (что безопасно), действительно нет реальной необходимости анализировать вывод "--help" для очень немногих утилит, у которых есть "--help" (или это "-h" или "-?"), но без справочной страницы.

Кроме того, этот сценарий показывает ограничения генерации завершений - вы можете делать параметры с наиболее приемлемым уровнем качества (хотя описания часто плохие), но все остальное просто недостаточно стандартизировано.

Все 3 Комментарий

Об этом уже спрашивали в # 4081, и я чувствую, что причина закрытия все еще актуальна.

Повторить:

  • Слепо звонить somecommand --help опасно

  • Сгенерированные дополнения гораздо менее полезны, чем рукописные.

  • Это куча работы

  • Если бы вы вместо этого написали справочную страницу, вы также помогли бы вышестоящему проекту

Так что я не думаю, что оно того стоит.

4981, кажется, предлагает завершение на лету. Я имел в виду сценарий для «предварительной компиляции» сценария завершения, т.е. последовательность вызовов complete . Это то, что я имел в виду под не на 100% идеальным: может потребоваться ручное редактирование. С другой стороны, из того, что вы написали, кажется, есть способ сгенерировать завершение из страниц руководства?

кажется, есть способ сгенерировать завершение из страниц руководства?

Да - https://github.com/fish-shell/fish-shell/blob/master/share/tools/create_manpage_completions.py. Он запускается при первом запуске рыбы и может быть обновлен, выполнив fish_update_completions .

Что, вероятно, является важной частью контекста - когда вы уже можете анализировать страницы руководства (что безопасно), действительно нет реальной необходимости анализировать вывод "--help" для очень немногих утилит, у которых есть "--help" (или это "-h" или "-?"), но без справочной страницы.

Кроме того, этот сценарий показывает ограничения генерации завершений - вы можете делать параметры с наиболее приемлемым уровнем качества (хотя описания часто плохие), но все остальное просто недостаточно стандартизировано.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги