mirror of https://github.com/jenv/jenv.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
755 B
44 lines
755 B
#!/usr/bin/env bash |
|
set -e |
|
[ -n "$JENV_DEBUG" ] && set -x |
|
|
|
# Provide jenv completions |
|
if [ "$1" = "--complete" ]; then |
|
echo exec |
|
echo rehash |
|
echo which |
|
exit |
|
fi |
|
|
|
JENV_COMMAND="$1" |
|
if [ -z "$JENV_COMMAND" ]; then |
|
echo "usage: jenv hooks COMMAND" >&2 |
|
exit 1 |
|
fi |
|
|
|
resolve_link() { |
|
$(type -p greadlink readlink | head -1) $1 |
|
} |
|
|
|
realpath() { |
|
local cwd="$(pwd)" |
|
local base="$(basename $1)" |
|
local path="$1" |
|
|
|
while [ -n "$path" ]; do |
|
cd "${path%/*}" |
|
local name="${path##*/}" |
|
path="$(resolve_link "$name" || true)" |
|
done |
|
|
|
echo "$(pwd)/$base" |
|
cd "$cwd" |
|
} |
|
|
|
shopt -s nullglob |
|
for path in ${JENV_HOOK_PATH//:/$'\n'}; do |
|
for script in $path/"$JENV_COMMAND"/*.bash; do |
|
echo $(realpath $script) |
|
done |
|
done |
|
shopt -u nullglob
|
|
|