bamarni/symfony-console-autocomplete

Syntax error ?

wtfred opened this issue · 4 comments

Hello,
I tried symfony-console-autocomplete yesterday, and i was very happy with it, autocompletion was working perfectly, but this morning i couldn't login because of an error in my session.
Here is the message:
/etc/mdm/Xsession: 6: eval: Syntax error: "(" unexpected (expecting "}")

In console mode i add to delete the eval "$(symfony-autocomplete)" line from my ~/.profile so i could login in graphic mode.

So I tried the other method instead of the "eval":
symfony-autocomplete composer | tee ~/.symfony-autocomplete

And then add to my ~/.profile

if [ -f "$HOME/.symfony-autocomplete" ] ; then
    . "$HOME/.symfony-autocomplete"
fi

But i got the same Syntax error on line 6 when i tried to login, plus autocompletion wasn't working anymore

Did i go wrong somewhere ? Thanks ^^
(Oh and i'm on Linux Mint 17.3)

Hi,

You're using bash right? Could you paste the content of the generated script you're getting and I'll try to check?

Yes i'm using bash, here is the content of my previously generated file ~/.symfony-autocomplete:

#!/usr/bin/env bash

_composer()
{
    local cur script coms opts com
    COMPREPLY=()
    _get_comp_words_by_ref -n : cur words

    # for an alias, get the real script behind it
    if [[ $(type -t ${words[0]}) == "alias" ]]; then
        script=$(alias ${words[0]} | sed -E "s/alias ${words[0]}='(.*)'/\1/")
    else
        script=${words[0]}
    fi

    # lookup for command
    for word in ${words[@]:1}; do
        if [[ $word != -* ]]; then
            com=$word
            break
        fi
    done

    # completing for an option
    if [[ ${cur} == --* ]] ; then
        opts="--help --quiet --verbose --version --ansi --no-ansi --no-interaction --profile --no-plugins --working-dir"

        case "$com" in
            about)
            opts="${opts} "
            ;;
            archive)
            opts="${opts} --format --dir --file"
            ;;
            browse)
            opts="${opts} --homepage --show"
            ;;
            clear-cache)
            opts="${opts} "
            ;;
            config)
            opts="${opts} --global --editor --auth --unset --list --file --absolute"
            ;;
            create-project)
            opts="${opts} --stability --prefer-source --prefer-dist --repository --repository-url --dev --no-dev --no-custom-installers --no-scripts --no-progress --no-secure-http --keep-vcs --no-install --ignore-platform-reqs"
            ;;
            depends)
            opts="${opts} --recursive --tree"
            ;;
            diagnose)
            opts="${opts} "
            ;;
            dump-autoload)
            opts="${opts} --no-scripts --optimize --classmap-authoritative --no-dev"
            ;;
            exec)
            opts="${opts} --list"
            ;;
            global)
            opts="${opts} "
            ;;
            help)
            opts="${opts} --xml --format --raw"
            ;;
            init)
            opts="${opts} --name --description --author --type --homepage --require --require-dev --stability --license --repository"
            ;;
            install)
            opts="${opts} --prefer-source --prefer-dist --dry-run --dev --no-dev --no-custom-installers --no-autoloader --no-scripts --no-progress --optimize-autoloader --classmap-authoritative --ignore-platform-reqs"
            ;;
            licenses)
            opts="${opts} --format --no-dev"
            ;;
            list)
            opts="${opts} --xml --raw --format"
            ;;
            outdated)
            opts="${opts} --outdated --all --direct"
            ;;
            prohibits)
            opts="${opts} --recursive --tree"
            ;;
            remove)
            opts="${opts} --dev --no-progress --no-update --update-no-dev --update-with-dependencies --no-update-with-dependencies --ignore-platform-reqs --optimize-autoloader --classmap-authoritative"
            ;;
            require)
            opts="${opts} --dev --prefer-source --prefer-dist --no-progress --no-update --update-no-dev --update-with-dependencies --ignore-platform-reqs --sort-packages --optimize-autoloader --classmap-authoritative"
            ;;
            run-script)
            opts="${opts} --timeout --dev --no-dev --list"
            ;;
            search)
            opts="${opts} --only-name"
            ;;
            self-update)
            opts="${opts} --rollback --clean-backups --no-progress --update-keys --stable --preview --snapshot"
            ;;
            show)
            opts="${opts} --all --installed --platform --available --self --name-only --path --tree --latest --outdated --direct"
            ;;
            status)
            opts="${opts} "
            ;;
            suggests)
            opts="${opts} --by-package --by-suggestion --no-dev"
            ;;
            update)
            opts="${opts} --prefer-source --prefer-dist --dry-run --dev --no-dev --lock --no-custom-installers --no-autoloader --no-scripts --no-progress --with-dependencies --optimize-autoloader --classmap-authoritative --ignore-platform-reqs --prefer-stable --prefer-lowest --interactive --root-reqs"
            ;;
            validate)
            opts="${opts} --no-check-all --no-check-lock --no-check-publish --with-dependencies --strict"
            ;;

        esac

        COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
        __ltrim_colon_completions "$cur"

        return 0;
    fi

    # completing for a command
    if [[ $cur == $com ]]; then
        coms="about archive browse clear-cache config create-project depends diagnose dump-autoload exec global help init install licenses list outdated prohibits remove require run-script search self-update show status suggests update validate"

        COMPREPLY=($(compgen -W "${coms}" -- ${cur}))
        __ltrim_colon_completions "$cur"

        return 0
    fi
}

complete -o default -F _composer composer

Not sure if this is still an issue.

Closing due to inactivity.