#!/usr/bin/env bash # Summary: List hook scripts for a given rbenv command # Usage: rbenv hooks set -e [ -n "$RBENV_DEBUG" ] && set -x # Provide rbenv completions if [ "$1" = "--complete" ]; then echo exec echo rehash echo which exit fi RBENV_COMMAND="$1" if [ -z "$RBENV_COMMAND" ]; then rbenv-help --usage hooks >&2 exit 1 fi resolve_link() { $(type -p greadlink readlink | head -1) $1 } realpath() { local cwd="$(pwd)" local path="$1" while [ -n "$path" ]; do cd "${path%/*}" local name="${path##*/}" path="$(resolve_link "$name" || true)" done echo "$(pwd)/$name" cd "$cwd" } shopt -s nullglob for path in ${RBENV_HOOK_PATH//:/$'\n'}; do for script in $path/"$RBENV_COMMAND"/*.bash; do echo $(realpath $script) done done shopt -u nullglob