полная -Е настройка завершения - PullRequest
0 голосов
/ 23 января 2020

Я сделал это. Затем кандидат на завершение отображается следующим образом:

$ foo() { COMPREPLY=($(compgen -W "abc def ghi" -- "$2")); }
$ complete -E -F foo
$ (two times tab key)
abc  def  ghi
$

И я подумал, что ab c будет дополнено следующим:

$ ab (presstab key)

Однако команды, начинающиеся с ab, на самом деле появляются как кандидаты на завершение.

$ ab (two times tab key)
ab                                   abrt-action-save-package-data
abrt-action-analyze-backtrace        abrt-action-trim-files
abrt-action-analyze-c                abrt-auto-reporting

В man bash, действительно, опция -E указывает, что оставшиеся опции и поведение относятся к «пустому» завершению команды (попытка завершения на пустых строках).

Он говорит, что только когда он "пустой", как описано, но нет никакой пользы для опции -E. Кроме того, кажется, что нет никакого способа выполнить завершение, кроме завершения имени команды, когда команда еще не распознается, как "ab tab double" выше.

Это то, что мы больше не можем делать, или там что-то упустили?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...