Просмотр исходного кода

Merge branch 'system'

pull/360/head^2
Sam Stephenson 15 лет назад
Родитель
Сommit
7ce04a6e03
5 измененных файлов: 79 добавлений и 1 удалений
  1. +29
    -0
      completions/rbenv.bash
  2. +11
    -0
      libexec/rbenv-commands
  3. +6
    -0
      libexec/rbenv-prefix
  4. +5
    -0
      libexec/rbenv-version
  5. +28
    -1
      libexec/rbenv-which

+ 29
- 0
completions/rbenv.bash Просмотреть файл

@ -0,0 +1,29 @@
_rbenv_commands() {
COMPREPLY=()
local cur="${COMP_WORDS[COMP_CWORD]}"
COMPREPLY=( $( compgen -W "$(rbenv commands)" -- $cur ) )
}
_rbenv_versions() {
COMPREPLY=()
local cur="${COMP_WORDS[COMP_CWORD]}"
local versions="$(echo system; rbenv versions --bare)"
COMPREPLY=( $( compgen -W "$versions" -- $cur ) )
}
_rbenv() {
COMPREPLY=()
local cur="${COMP_WORDS[COMP_CWORD]}"
local prev="${COMP_WORDS[COMP_CWORD-1]}"
case "$prev" in
set-* | prefix )
_rbenv_versions
;;
* )
_rbenv_commands
;;
esac
}
complete -F _rbenv rbenv

+ 11
- 0
libexec/rbenv-commands Просмотреть файл

@ -0,0 +1,11 @@
#!/usr/bin/env bash -e
shopt -s nullglob
{ for path in ${PATH//:/$'\n'}; do
for command in "${path}/rbenv-"*; do
echo "${command##*rbenv-}"
done
done
} | sort | uniq

+ 6
- 0
libexec/rbenv-prefix Просмотреть файл

@ -6,6 +6,12 @@ elif [ -z "$RBENV_VERSION" ]; then
RBENV_VERSION="$(rbenv-version)"
fi
if [ "$RBENV_VERSION" = "system" ]; then
RUBY_PATH="$(rbenv-which ruby)"
echo "${RUBY_PATH%/*}"
exit
fi
RBENV_PREFIX_PATH="${HOME}/.rbenv/versions/${RBENV_VERSION}"
if [ ! -d "$RBENV_PREFIX_PATH" ]; then
echo "rbenv: version \`${RBENV_VERSION}' not installed" >&2

+ 5
- 0
libexec/rbenv-version Просмотреть файл

@ -36,6 +36,11 @@ if [ -z "$RBENV_VERSION" ]; then
fi
fi
if [ "$RBENV_VERSION" = "system" ]; then
echo "$RBENV_VERSION"
exit
fi
RBENV_VERSION_PATH="${HOME}/.rbenv/versions/${RBENV_VERSION}"
if [ -d "$RBENV_VERSION_PATH" ]; then

+ 28
- 1
libexec/rbenv-which Просмотреть файл

@ -1,8 +1,35 @@
#!/usr/bin/env bash -e
expand_path() {
local cwd="$(pwd)"
cd "$1"
pwd
cd "$cwd"
}
remove_from_path() {
local path_to_remove="$(expand_path "$1")"
local result=""
for path in ${PATH//:/$'\n'}; do
path="$(expand_path "$path" || true)"
if [ "$path" != "$path_to_remove" ]; then
result="${result}${path}:"
fi
done
echo "${result%:}"
}
RBENV_VERSION="$(rbenv-version)"
RBENV_COMMAND="$1"
RBENV_COMMAND_PATH="${HOME}/.rbenv/versions/${RBENV_VERSION}/bin/${RBENV_COMMAND}"
if [ "$RBENV_VERSION" = "system" ]; then
PATH="$(remove_from_path "${HOME}/.rbenv/shims")"
RBENV_COMMAND_PATH="$(command -v "$RBENV_COMMAND")"
else
RBENV_COMMAND_PATH="${HOME}/.rbenv/versions/${RBENV_VERSION}/bin/${RBENV_COMMAND}"
fi
shopt -s nullglob
RBENV_WHICH_PLUGINS=(/etc/rbenv.d/which/*.bash ${HOME}/.rbenv/rbenv.d/which/*.bash)

Загрузка…
Отмена
Сохранить