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?

Foi útil?

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
scroll top