Eu tive o mesmo problema no OSX El Capitan e no Ubuntu 16.04.
No Ubuntu, eu originalmente atualizei manualmente /usr/share/zsh/functions/Completion/Unix/_hg
. Mas como os arquivos do sistema foram protegidos no OSX eu configurei oh-my-zsh que provavelmente é uma solução melhor do que tocar em zsh arquivos do sistema. Você pode fazer essas modificações diretamente no arquivo _hg
se não quiser usar o zsh.
Depois de instalar oh-my-zsh
, copiei /usr/share/zsh/functions/Completion/Unix/_hg
para ~/.oh-my-zsh/custom/plugins/hg/_hg
.
Em seguida, modifiquei o arquivo _hg
substituindo a função _hg_tags () por
_hg_tags() {
local expl
typeset -a hglabels
hglabels=( ${(f)"$(_hg_cmd debugnamecomplete -q 2>/dev/null)"} )
_wanted labels expl 'labels' compadd -a - hglabels
}
Para fazer com que o zsh carregue, modifique ~/.zshrc
e adicione hg
à seção plugins=(... hg)
.
Você pode querer modificar outras funções para usar _hg_tags. Eu encontrei depois de usá-lo um pouco _hg_cmd_merge
precisava ser atualizado para usar _hg_tags
.
_hg_cmd_merge() {
_arguments -s -w : $_hg_global_opts \
'(--force -f)'{-f,--force}'[force a merge with outstanding changes]' \
'(--rev -r 1)'{-r,--rev}'[revision to merge]:revision:_hg_tags' \
'(--preview -P)'{-P,--preview}'[review revisions to merge (no merge is performed)]' \
':revision:_hg_tags'
}