Como remover a extensão do arquivo em uma conclusão do ZSH?
-
21-09-2019 - |
Pergunta
Eu quero ajustar o ZSH para que eu possa guiar completa:
myprog <tab>
usando tudo *.foo
arquivos em ~/somedir
, mas tenha isso para que os exiba sem a .foo
extensão.
Há alguma maneira de fazer isso?
É isso que tenho até agora:
#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
No entanto, isso exibe o dobro da saída para cada arquivo (ou seja, cada um .foo
O arquivo está listado com e sem sua extensão). Existe alguma maneira de contornar isso?
Solução
Eu acredito que você precisa definir o file-patterns
estilo, provavelmente usando '%p:globbed-files'
.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow