Функция, подобная Spinner, в Bash при использовании сценария автозаполнения, выполнение которого занимает несколько секунд - PullRequest
0 голосов
/ 05 марта 2020

У меня есть приложение CLI, которое использует Oclif и NodeJS. У меня есть скрипт автозаполнения, который выглядит следующим образом:

# func gets called for the exec binart when Tab is pressed
# eg exec [Tab] [Tab] calls __func()

__func()
{
    Perform an http request that takes 2-3 seconds
    Populate COMPREPLY with autocomplete values
}

complete -o nospace -F __func exec

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

Как мне этого добиться? Вместо счетчика было бы неплохо индикатор выполнения или несколько точек, указывающих на загрузку (...).

1 Ответ

0 голосов
/ 12 марта 2020

Вы пытались вызвать счетчик до и после вашей команды?

Пример счетчика:

Пример с вашим кодом:

    __func()
    {
        spinner.start()
        Perform an http request that takes 2-3 seconds
        Populate COMPREPLY with autocomplete values
        spinner.end()
    }

    complete -o nospace -F __func exec
...