Как убрать дополнительный пробел из функции автоматического завершения zsh?

Я использую compctl -K _my_cpl ls для подключения моей функции автоматического завершения к команде ls. Функция возвращает список имен из индексного файла.

Однако zsh всегда добавляет пробел после каждого завершения. Если я хочу автоматически завершить многоуровневый каталог, мне придется каждый раз удалять пробел. Есть ли способ удалить дополнительный пробел так же, как -o nospace в команде bash complete?

Я тестировал команду zstyle ':completion:*' add-space false и она не работает. Спасибо.

_my_cpl() {
local cur last opts

# current word in command line.
read -cA cur
last=$cur[-1]

# grep all directories and file names under current directory level.
opts=`egrep "${last}[^/]*[$|/]*" ~/index -o |uniq`

reply=($=opts)
}
compctl -K _my_cpl ls
6
задан AdrieanKhisbe 23 May 2015 в 20:57
поделиться