sa125
sa125

Reputation: 28971

Mercurial Branch / File name completion in ZShell

I've been using Zsh as a Bash replacement for a while now. One thing that doesn't work as well anymore is the completion for branch and uncommitted file names for mercurial.

If previously (bash) I had the following hg tracked folder:

repo/
    .hg/
    file1.txt
    file2.txt <-- modified

Then doing this in Bash:

% hg commit -m "changed file2.txt" <TAB>

automagically completed file2.txt.

Same with branches — assuming I had default, dev and crazy branches, Bash knew how to complete branch names:

% hg update cr<TAB>

completed the branch name to crazy.

Basically what I'm asking is how to restore this functionality — which file/s take care of that and so on.

Upvotes: 2

Views: 848

Answers (1)

wRAR
wRAR

Reputation: 25711

zsh uses its internal system for advanced completion, while bash uses a separate bash-completion software for that. Their configuration is incompatible so if you want some function to work you need to find a 3rd party zsh completion module for it or write it yourself. mercurial contains a sample zsh completion function, it is installed on my system as /usr/share/doc/mercurial/examples/zsh_completion.gz.

Upvotes: 5

Related Questions