bash завершение: текст описания при нажатии TAB (вроде наследника c для автозаполнения) - PullRequest
1 голос
/ 03 августа 2020

Я создал красивое автозаполнение для своего скрипта.

Но вот что: когда аргумент остается на усмотрение пользователя (например, первым аргументом является имя нового проекта), я Я хотел бы отобразить небольшую строку, описывающую то, что ожидается .

For example:
$> script [TAB][TAB]
<name of project>
$> script my_new_project

.

Конечно, я думал об этом:

if [ $COMP_CWORD -eq 1 ]; then
        local IFS=$'\n'
        COMPREPLY+=($(compgen -W "<name of project>"))

Проблема в том, что я получаю следующее:

$> script [TAB][TAB]
$> script <name of project>

То есть один определенный мной текст автоматически добавляется в командную строку, когда я нажимаю TAB.

.

Я тоже пробовал это:

local IFS=$':'
COMPREPLY+=($(compgen -W "Help: <domain name associated with the project>"))

Но результат искажен, и он все равно добавляет слова в командную строку:

$> script [TAB][TAB]
<domain name associated with the project> Help:
$> script <domain name associated with the project>

.

Пожалуйста , знаете ли вы , есть ли что-то вроде heredoc для автозаполнения , где текст справки просто появляется, но не добавляется в командную строку?

Спасибо!

...