Como estender as funções existentes de conclusão do zsh?

1

Estou tentando adicionar o preenchimento automático de alguns parâmetros personalizados de formigas. No entanto, parece estar sobrescrevendo as auto-completações de plug-ins oh my zsh ant existentes que gostaria de manter. Existe uma maneira simples de ter o plug-in oh my zsh e o preenchimento automático de formigas personalizados em harmonia?

Este é o plugin existente em ~/.oh-my-zsh/plugins/ant/ant.plugin.zsh

_ant_does_target_list_need_generating () {
  [ ! -f .ant_targets ] && return 0;
  [ build.xml -nt .ant_targets ] && return 0;
  return 1;
}

_ant () {
  if [ -f build.xml ]; then
    if _ant_does_target_list_need_generating; then
        ant -p | awk -F " " 'NR > 5 { print lastTarget }{lastTarget = $1}' > .ant_targets
    fi
    compadd -- 'cat .ant_targets'
  fi
}

compdef _ant ant

E meu preenchimento automático em ~/my_completions/_ant

#compdef ant

_arguments '-Dprop=-[properties file]:filename:->files' '-Dsrc=-[build directory]:directory:_files -/'
case "$state" in
    files)
        local -a property_files
        property_files=( *.properties )
        _multi_parts / property_files
        ;;
esac

E aqui está o meu $fpath , o caminho para a minha conclusão é anterior na lista, e eu acho que é por isso que meu script tem precedência.

/Users/myusername/my_completions /Users/myusername/.oh-my-zsh/plugins/git /Users/myusername/.oh-my-zsh/functions /Users/myusername/.oh-my-zsh/completions /usr/local/share/zsh/site-functions /usr/share/zsh/site-functions /usr/share/zsh/5.0.8/functions
    
por Ralph Callaway 23.10.2018 / 02:02

0 respostas