Я использую
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 нажатий до одного или хотя бы двух?