Я пишу программу завершения bash на Голанге.Фактически, программа является собственной программой завершения, так как она ищет переменную среды COMP_LINE и, если она присутствует, выводит параметры завершения, а если нет, просто продолжает запуск основной программы.
ЗавершениеЗатем устанавливается со следующим:
complete -C /path/to/my-program my-program
Это хорошо работает.Для большинства моих завершений я хочу добавить пробел после того, как слово завершено, однако для некоторых флагов я не хочу, чтобы это происходило.
Когда определение завершения определено, вы можете установить -o nospace
возможность пропустить завершающий пробел при заполнении слова.Однако тогда все дополнения, которым требуется пробел, должны быть явно добавлены в список слов завершения.
Есть ли способ, которым моя программа может динамически изменять полные опции в зависимости от того, какое завершение возвращается?Является ли это переменной окружения, которую может установить команда завершения?
Я бы хотел избежать добавления пробела ко всем остальным завершениям, просто чтобы избежать одного в крайнем случае для одного флага, который я не делаюхочу, чтобы это произошло.