Я использую 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