¿Cómo eliminar la extensión del archivo en una finalización de ZSH?
-
21-09-2019 - |
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?
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