Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I enable git-flow-completion in oh-my-zsh?

I'm using oh-my-zsh and attempting to enable git-flow-completion. I'm following the instructions here to install it as a plugin.

I cloned the plugin files as instructed:

git clone https://github.com/bobthecow/git-flow-completion ~/.oh-my-zsh/custom/plugins/git-flow-completion

My plugin directory structure looks identical to the example in the installation instructions.

I've edited my ~/.zshrc file to include:

plugins=(git git-flow git-flow-completion)

However, git flow completion is not working. When I type git flow and hit tab, I get a list of files in the current directory instead of the git flow subcommands.

The built-in plugins work fine. I edited my ~/.zshrc to include:

plugins=(git git-flow git-flow-completion emoji emoji-clock)

When I open a new terminal, the random_emoji and emoji-clock functions produce the expected output, but git flow completion still does not work.

I've added my existing PATH to my .zshrc above the line that loads oh-my-zsh.sh. No luck.

I've checked the value of $ZSH_CUSTOM and it is pointing to the directory where the git-flow-completion plugin is installed.

I wanted to know if custom plugins were being loaded at all, so I installed this auto-stats plugin and it worked correctly, so this problem seems to be isolated to the git-flow-completion plugin.

I've also tried loading the plugin file directly:

source ~/.oh-my-zsh/custom/plugins/git-flow-completion/git-flow-completion.zsh

There was no output from this command, and completion still does not work.

How can I go about troubleshooting this issue?

like image 242
Ben Harold Avatar asked Oct 24 '16 22:10

Ben Harold


People also ask

What is git completion zsh?

fpath : The git-completion. zsh is a function file, not designed to be sourced like the bash script. This command appends the ~/. zsh directory onto the shell's function lookup list.


Video Answer


2 Answers

This was a nasty problem ... but I got it fixed.

First remove these two file:

rm /usr/local/share/zsh/site-functions/_git
rm /usr/local/etc/bash_completion.d/git-flow-completion.bash

Then reset the completion cache:

# Delete the completion cache
rm "$ZSH_COMPDUMP"
# Restart the zsh session
exec zsh
like image 171
Max Horvath Avatar answered Sep 18 '22 14:09

Max Horvath


I was facing the same problem and no amount of updating helped. What did the trick in the end was commenting the default git completion (found in ~/.oh-my-zsh/plugins/git/git.plugin.zsh) with the one found here. I basically followed the instructions from here.

EDIT: I would like to point out that this "fix" has broken my git completion for git push -u origin [BRANCH] as it now completes from git push -u or to

git push -u or__git_remote_repositories:4: command not found _ssh_hosts
igin

like image 32
Daniel Einars Avatar answered Sep 18 '22 14:09

Daniel Einars