O tópico zsh-workers de 2011 “PATCH: Volte para a conclusão do arquivo se nada mais funcionar” (que discute o mesmo problema com o git) parece indicar que a função de conclusão precisa ser corrigida para suportar esse comportamento.
Você pode configurar o sistema de conclusão para tentar sistematicamente os arquivos, se o sistema de conclusão não encontrar nenhuma conclusão.
zstyle :completion::::: completer _complete _files
(Referência da documentação: zstyle
builtin , é argumento padrão , o completer
style ; aspirina vendida separadamente.
Infelizmente, esse estilo é global, você não pode restringi-lo a uma função específica. (Eu acho).
Você pode usar uma função personalizada que verifique o comando atual em vez de _files
e só chame _files
se notar que o comando é bzr
.
Outra maneira de lidar com essa situação é ter uma chave separada para concluir os arquivos. Você pode usar o widget predefinido _bash_complete-word
que conclui diferentes tipos de objetos no último caractere da seqüência de teclas.
bindkey '^X!' _bash_complete-word # commands
bindkey '^X$' _bash_complete-word # variables
bindkey '^X@' _bash_complete-word # hosts
bindkey '^X/' _bash_complete-word # files
bindkey '^X~' _bash_complete-word # users
Ou você pode definir seu próprio widget.
zle -C complete_files .complete-word _files
bindkey '^X/' complete_files