Как имитировать завершение имени файла bash с помощью пользовательского списка слов - PullRequest
1 голос
/ 10 мая 2019

Это, вероятно, очень легко сделать, но по какой-то причине даже после прочтения статей / руководств по программируемому автозаполнению bash я не могу заставить его работать должным образом.

Я хочу имитировать автозаполнение имени файла bash, но предоставлю свой собственный набор слов (для каждого уровня)

Например

level1: Foo Bar

уровень2: бар баз даз

> mycommand [TAB][TAB]
foo    bar
> mycommand foo/[TAB][TAB]
bar   baz   daz
> mycommand foo/b[TAB][TAB]
bar   baz

Любой указатель в правильном направлении был бы полезен (я попытался разделить текущее слово с '/' в качестве разделителя, поместить его в массив и попытаться выяснить следующий набор слов оттуда, я также попытался добавить '/ 'как разделитель слов в COMP_WORDBREAKS, но это приносит свои проблемы)

1 Ответ

0 голосов
/ 10 мая 2019

завершение оболочки - это, по сути, бесплатный скрипт для вашего двоичного файла, обеспечивающий функциональность завершения оболочки.например, извлеките git auto-complete для bash .

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

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