Ответ 1
Адаптировано из комментарий zanchey на GitHub:
Если у вас есть программа myprog
, которая принимает параметр --_completion
, вы можете написать один завершающий заглушка для myprog
, который выглядит так:
complete --command myprog --arguments '(myprog --_completion (commandline -cp)'
Затем ваша программа будет вызвана как myprog --_completion myprog some arguments here
, и вы сможете ответить соответствующим образом. Он должен возвращать только текущий токен, который завершается (вы также можете передать это программе с помощью (commandline -ct)
, или же сделать это сам), а затем необязательно по вкладке и краткому описанию. Несколько дополнений разделяются новыми строками.
Примечания:
-
--_completion
- это соглашение, предложенное библиотекой python-selfcompletion, но вы можете использовать все, что хотите, и этот ответ не Python конкретных - Невозможно указать по умолчанию, как описано в dbarnett/python-selfcompletion # 2 (комментарий GitHub). Вам обязательно нужно сделать короткий зажим для каждой команды.
Для сценариев Python, в частности, следующие библиотеки могут поддерживать доработки рыбы в какой-то момент в будущем (но они еще не созданы):