- #!/usr/bin/env bash
- # Summary: List hook scripts for a given rbenv command
- # Usage: rbenv hooks <command>
-
- 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
-
- READLINK=$(type -p greadlink readlink | head -1)
- if [ -z "$READLINK" ]; then
- echo "rbenv: cannot find readlink - are you missing GNU coreutils?" >&2
- exit 1
- fi
-
- resolve_link() {
- $READLINK "$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"
- }
-
- IFS=: hook_paths=($RBENV_HOOK_PATH)
-
- shopt -s nullglob
- for path in "${hook_paths[@]}"; do
- for script in "$path/$RBENV_COMMAND"/*.bash; do
- echo $(realpath $script)
- done
- done
- shopt -u nullglob
|