|
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