Я использую
cur="${COMP_WORDS[COMP_CWORD]}"
opts=`sqlite3 test.db "${QUERY[COMP_CWORD]}"`
SAVEIFS="$IFS"
IFS=$'\n'
COMPREPLY=( $(compgen -S"'" -P"'" -W "${opts}" $cur) )
IFS="$SAVEIFS"
для получения возможных вариантов из базы данных и завершаю их с помощью TAB. Поскольку эти варианты могут содержать пробелы, удобно автоцитировать их, используя '
в качестве префикса и суффикса, так что когда я нажимаю A, B, TAB и есть только один вариант с префиксом AB
, то я получаю что-то вроде 'ABC DEF'
.
Но проблема в том, что если вариантов много, то после A, B, TAB я получаю 'AB
, затем я нажимаю TAB еще раз и это NOP, и только при третьем нажатии TAB я получаю возможные завершения.
Есть ли способ уменьшить количество нажатий TAB до одного или хотя бы двух?