mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-16 07:13:53 -05:00
Show symlink contents in non-bare `pyenv versions' (#2609)
* Change other tests to use the newly-created convenience function
This commit is contained in:
@@ -104,10 +104,19 @@ exists() {
|
||||
}
|
||||
|
||||
print_version() {
|
||||
local version="${1:?}"
|
||||
local path="${2:?}"
|
||||
if [[ -z "$bare" && -L "$path" ]]; then
|
||||
# Only resolve the link itself for printing, do not resolve further.
|
||||
# Doing otherwise would misinform the user of what the link contains.
|
||||
version_repr="$version --> $(resolve_link "$version")"
|
||||
else
|
||||
version_repr="$version"
|
||||
fi
|
||||
if [[ ${BASH_VERSINFO[0]} -ge 4 && ${current_versions["$1"]} ]]; then
|
||||
echo "${hit_prefix}$1 (set by $(pyenv-version-origin))"
|
||||
echo "${hit_prefix}${version_repr} (set by $(pyenv-version-origin))"
|
||||
elif (( ${BASH_VERSINFO[0]} <= 3 )) && exists "$1" "${current_versions[@]}"; then
|
||||
echo "${hit_prefix}$1 (set by $(pyenv-version-origin))"
|
||||
echo "${hit_prefix}${version_repr} (set by $(pyenv-version-origin))"
|
||||
else
|
||||
echo "${miss_prefix}$1"
|
||||
fi
|
||||
@@ -119,7 +128,7 @@ if [ -n "$include_system" ] && \
|
||||
(PYENV_VERSION=system pyenv-which python >/dev/null 2>&1 || \
|
||||
PYENV_VERSION=system pyenv-which python3 >/dev/null 2>&1 || \
|
||||
PYENV_VERSION=system pyenv-which python2 >/dev/null 2>&1) ; then
|
||||
print_version system
|
||||
print_version system "/"
|
||||
fi
|
||||
|
||||
shopt -s dotglob nullglob
|
||||
@@ -139,14 +148,14 @@ for path in "${versions_dir_entries[@]}"; do
|
||||
if [ -d "$path" ]; then
|
||||
if [ -n "$skip_aliases" ] && [ -L "$path" ]; then
|
||||
target="$(realpath "$path")"
|
||||
[ "${target%/*}" != "$versions_dir" ] || continue
|
||||
[ "${target%/*/envs/*}" != "$versions_dir" ] || continue
|
||||
[ "${target%/*}" == "$versions_dir" ] && continue
|
||||
[ "${target%/*/envs/*}" == "$versions_dir" ] && continue
|
||||
fi
|
||||
print_version "${path##*/}"
|
||||
print_version "${path##*/}" "$path"
|
||||
# virtual environments created by anaconda/miniconda
|
||||
for env_path in "${path}/envs/"*; do
|
||||
if [ -d "${env_path}" ]; then
|
||||
print_version "${env_path#${PYENV_ROOT}/versions/}"
|
||||
print_version "${env_path#${PYENV_ROOT}/versions/}" "${env_path}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user