Uso compctl -K _my_cpl ls
para enganchar mi función de autocompletar al comando ls
. La función devuelve una lista de nombres de un archivo de índice.¿Cómo eliminar un espacio adicional de la función de autocompletar de zsh?
Sin embargo, zsh siempre agrega un espacio después de cada finalización. Si quiero completar automáticamente el directorio de múltiples niveles, tengo que eliminar un espacio cada vez. ¿Hay alguna forma de eliminar espacio adicional como la opción -o nospace
en el comando bash complete?
He probado el comando zstyle ':completion:*' add-space false
y no funciona. Gracias.
_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
zsh tiene un módulo bashcompinit. Puedo portar mi función completa bash a zsh como una solución alternativa. autoload bashcompinit bashcompinit – leo