Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autocompletion doesn't works #18

Closed
Invis1ble opened this issue Jun 15, 2016 · 4 comments
Closed

Autocompletion doesn't works #18

Invis1ble opened this issue Jun 15, 2016 · 4 comments

Comments

@Invis1ble
Copy link

Invis1ble commented Jun 15, 2016

I've installed this package globally and added $HOME/.composer/vendor/bin to my PATH. My ~/.profile file looks now:

# set PATH so it includes composer's bin if it exists
if [ -d "$HOME/.composer/vendor/bin" ] ; then
    PATH="$HOME/.composer/vendor/bin:$PATH"
fi

# see https://github.com/bamarni/symfony-console-autocomplete
eval "$(symfony-autocomplete)"

Then I've re-checked my PATH by echo $PATH and it looks properly.
Command symfony-autocomplete is now available.
I have two projects that are using Symfony2 and Symfony3 and autocompletion doesn't works.

symfony-2$ app/console [TAB] # only lists me subdirectories
symfony-3$ bin/console [TAB] # only lists me subdirectories

Environment:
Ubuntu 16.04

$ composer --version
Composer version 1.1.2 2016-05-31 19:48:11
$ php --version
PHP 7.0.4-7ubuntu2.1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
@bamarni
Copy link
Owner

bamarni commented Jun 15, 2016

Do you have /etc/bash_completion getting sourced during bash initialisation? I think it should be done by default on ubuntu but maybe it's disabled. If you source it manually and try again maybe it'll work.

@Invis1ble
Copy link
Author

Invis1ble commented Jun 16, 2016

Do you have /etc/bash_completion getting sourced during bash initialisation?

Yes, I have the following code in ~/.profile:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

and

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

in ~/.bashrc.

I've manually dumped the output to /etc/bash_completion.d/symfony-autocomplete. Now completion works.
Thanks.

@bamarni
Copy link
Owner

bamarni commented Jun 16, 2016

Your solution is cleaner 👍 The eval thing is just something that should be compatible with most OS.

I'm still curious to know what was the issue. I've tried with eval on a ubuntu server and it worked (for bin/console [TAB] but not ./bin/console [TAB]). Please send an update if you find out what was wrong.

@bamarni bamarni closed this as completed Jun 16, 2016
@Invis1ble
Copy link
Author

BTW, before I've dumped to /etc/bash_completion.d/symfony-autocomplete I've tried to manually execute eval "$(symfony-autocomplete)" in the terminal and completion also works during that terminal session.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants