This fix makes the autocompletion script also work on zsh without
changing how it works for Bash.
The expression "${COMP_WORDS[@]:2:$COMP_CWORD-2}" does not behave the
same on Bash and Zsh when the command has only zero or one arguments,
e.g. typing "expressvpn conne<TAB>" or "expressvpn <TAB>" would print
the error "autocomplete:8: substring expression: 1 < 2". This fixes it
by handling the case of the short command separately in a simpler way
and handling the rest of the cases the same way as before.
With this fix, zsh users just have to use the command "source
/usr/share/bash-completion/completions/expressvpn" to get the same
auto-completion as bash users.
File : /usr/share/bash-completion/completions/expressvpn
Diff to the original file (using the `diff` command) :
9a10,12
> opts=$( ${COMP_WORDS[0]} "$cmd" "${COMP_WORDS[@]:2:$COMP_CWORD-2}" --generate-bash-completion )
> else
> opts=$( ${COMP_WORDS[0]} --generate-bash-completion )
11d13
< opts=$( ${COMP_WORDS[0]} "$cmd" "${COMP_WORDS[@]:2:$COMP_CWORD-2}" --generate-bash-completion )