|
3 | 3 |
|
4 | 4 | # Provide phpenv completions
|
5 | 5 | if [ "$1" = "--complete" ]; then
|
6 |
| - exec php-build --definitions |
| 6 | + exec phpenv versions --bare |
7 | 7 | fi
|
8 | 8 |
|
9 | 9 | if [ -z "$PHPENV_ROOT" ]; then
|
10 | 10 | PHPENV_ROOT="${HOME}/.phpenv"
|
11 | 11 | fi
|
12 | 12 |
|
| 13 | +if [ "$1" = "-f" ]; then |
| 14 | + FORCE=1 |
| 15 | + shift |
| 16 | +else |
| 17 | + FORCE="" |
| 18 | +fi |
| 19 | + |
13 | 20 | DEFINITION="$1"
|
14 | 21 | case "$DEFINITION" in
|
15 | 22 | "" | -* )
|
16 |
| - { echo "usage: phpenv uninstall VERSION" |
17 |
| - echo " phpenv uninstall /path/to/definition" |
| 23 | + { echo "usage: phpenv uninstall [-f] VERSION" |
| 24 | + echo |
| 25 | + echo " -f Attempt to remove the specified version without prompting" |
| 26 | + echo " for confirmation. If the version does not exist, do not" |
| 27 | + echo " display an error message." |
| 28 | + echo |
| 29 | + echo "Available versions:" |
| 30 | + phpenv versions --bare | sed 's/^/ /' |
18 | 31 | echo
|
19 |
| - if [ -n `which phpenv` ]; then |
20 |
| - echo "Available versions:" |
21 |
| - phpenv versions | sed 's/^/ /' |
22 |
| - echo |
23 |
| - fi |
24 | 32 | } >&2
|
25 | 33 | exit 1
|
26 | 34 | ;;
|
|
29 | 37 | VERSION_NAME="${DEFINITION##*/}"
|
30 | 38 | PREFIX="${PHPENV_ROOT}/versions/${VERSION_NAME}"
|
31 | 39 |
|
32 |
| -if [ ! -e "$PREFIX" ]; then |
33 |
| - echo "Given version ($VERSION_NAME) is not installed" |
34 |
| - exit 1 |
| 40 | +if [ -z "$FORCE" ]; then |
| 41 | + if [ ! -d "$PREFIX" ]; then |
| 42 | + echo "phpenv: version \`$VERSION_NAME' not installed" >&2 |
| 43 | + exit 1 |
| 44 | + fi |
| 45 | + |
| 46 | + read -p "phpenv: remove $PREFIX? " |
| 47 | + case "$REPLY" in |
| 48 | + y* | Y* ) ;; |
| 49 | + * ) exit 1 ;; |
| 50 | + esac |
| 51 | +fi |
| 52 | + |
| 53 | +if [ -d "$PREFIX" ]; then |
| 54 | + rm -rf "$PREFIX" |
| 55 | + phpenv rehash |
35 | 56 | fi
|
36 |
| -rm -rf "$PREFIX" |
37 |
| -phpenv rehash |
|
0 commit comments