Pregunta

Quiero ajustar ZSH para poder completar:

myprog <tab>

usando todo *.foo archivos ~/somedir, pero tengo que para que los muestre sin que la .foo extensión.

¿Hay alguna forma de hacer esto?

Esto es lo que tengo hasta ahora:

#compdef myprog
typeset -A opt_args
local context state line
local -a mydirs
mydirs="(. ~/somedir)"

_arguments -s -S \
    "*:name:->foos" \
    && return 0

case $state in
    (foos)
        _files -W ${mydirs} -g '*.foo(:r)' && return 0
    ;;
esac

return 1

Sin embargo, esto muestra el doble de salida para cada archivo (es decir, cada uno .foo El archivo figura con y sin su extensión). ¿Hay alguna forma de evitar esto?

¿Fue útil?

Solución

Creo que necesitas establecer el file-patterns estilo, probablemente usando '%p:globbed-files'.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top