Deployer: Autocomplete install does not work in zsh

Created on 19 Jul 2017  路  17Comments  路  Source: deployphp/deployer

| Q | A
| ----------------- | ---
| Issue Type | Bug
| Deployer Version | 5.1.3
| Local Machine OS | Ubuntu 14.04.5 LTS
| Remote Machine OS | N/A

Description

autocomplete install does not work. I guess I am missing some package, but maybe script should give me some clue what I am missing?

Steps to reproduce

$ dep autocomplete --install > ~/.deployer_completion && echo "source ~/.deployer_completion" >> ~/.zshrc
$ source ~/.zshrc

Output log

/home/vytautas/.deployer_completion:47: command not found: complete

bug

Most helpful comment

autoload bashcompinit
bashcompinit
source ~/.zshrc

after:

_deployer:4: command not found: _get_comp_words_by_ref
_deployer:7: bad option: -t
_deployer:38: command not found: __ltrim_colon_completions

All 17 comments

autoload bashcompinit
bashcompinit
source ~/.zshrc

autoload bashcompinit
bashcompinit
source ~/.zshrc

after:

_deployer:4: command not found: _get_comp_words_by_ref
_deployer:7: bad option: -t
_deployer:38: command not found: __ltrim_colon_completions

I think it's a bug then. Please check this project to https://github.com/bamarni/symfony-console-autocomplete
Deployer's autocomplete based on it.

looks like its working just had to add to .zshrc

eval "$(/home/vytautas/.composer/vendor/bin/symfony-autocomplete)"

instead of

eval "$(symfony-autocomplete)"

but not sure this is related

okay added composer bin path to $PATH and now works eval "$(symfony-autocomplete)" but deployer still does not

also symfony-autocomplete works without

autoload bashcompinit
bashcompinit

Really strange, because they are really same. Try this:

eval "$(cat  ~/.deployer_completion)"

no, does not help same output

Can't tell what's wrong then)

by quick look at bash scripts they are different maybe they updated something? also symfony-autocomplete has different templates for bash and zsh but deployer has just one template? no?

okay now I see deployer uses bash template from that project even I am using zsh I guess that's the problem

also symfony-autocomplete has different templates for bash and zsh
No, only bash impl

@antonmedv when Iinstalled symfony-autocomplete it created with this https://github.com/bamarni/symfony-console-autocomplete/blob/master/resources/zsh/default.php
and when I installed deployer it used this:
https://github.com/bamarni/symfony-console-autocomplete/blob/master/resources/bash/default.php

from my error you can see deployer version tries to use _get_comp_words_by_ref this only exists in bash template
_deployer:4: command not found: _get_comp_words_by_ref

also I don't need

autoload bashcompinit
bashcompinit

because https://github.com/bamarni/symfony-console-autocomplete/blob/master/resources/zsh/default.php does not have this line https://github.com/bamarni/symfony-console-autocomplete/blob/master/resources/bash/default.php#L46

Ok, thanks. I see. Well) I think it's a time for PR? Maybe optional param to install? --install zsh

What's the outcome of this issue? It's still open, but the problem still exists.

Yes, this issue still present. Can you make PR to fix it?

Is there any known workaround for this? I've tried things mentioned here and nothing actually fixes it. Also tried upgrading bash to v4 (MacOS) and no luck. Ref: https://github.com/dsifford/yarn-completion/issues/4

Thanks

Was this page helpful?
0 / 5 - 0 ratings