From 74611be5f6e4e6a6f48af7903f1911a155779703 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Tue, 4 Aug 2020 15:37:48 +0100 Subject: [PATCH] Refactor rbenv shell setup slightly --- zsh/rbenv.zsh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ zsh/ruby.zsh | 55 ++------------------------------------------------- 2 files changed, 57 insertions(+), 53 deletions(-) create mode 100644 zsh/rbenv.zsh diff --git a/zsh/rbenv.zsh b/zsh/rbenv.zsh new file mode 100644 index 0000000..ef00dd1 --- /dev/null +++ b/zsh/rbenv.zsh @@ -0,0 +1,55 @@ +# +# rbenv (Ruby version manager) setup. +# + +# ============================================================================== +# Lazy-load rbenv +# ============================================================================== + +rbenv() { + load-rbenv + rbenv "$@" +} + +_rbenv() { + load-rbenv + _rbenv "$@" +} + +compctl -K _rbenv rbenv + +load-rbenv() { + unset -f load-rbenv _rbenv rbenv + eval "$(command rbenv init -)" +} + +# ============================================================================== +# Plugins +# ============================================================================== + +zinit ice as'program' pick'bin/rbenv-each' from'gh' +zinit light rbenv/rbenv-each + +# ============================================================================== +# Misc. +# ============================================================================== + +solargraph-install() { + rbenv each -v gem install solargraph +} + +solargraph-download-cores() { + rbenv each -v solargraph download-core +} + +solargraph-list-versions() { + rbenv each -v gem list -q solargraph +} + +rubygems-upgrade() { + rbenv each -v gem update --system +} + +upgrade-bundler() { + rbenv each -v gem install --no-document 'bundler:~> 1.0' 'bundler:~> 2.0' +} diff --git a/zsh/ruby.zsh b/zsh/ruby.zsh index 069e14f..129d5e6 100755 --- a/zsh/ruby.zsh +++ b/zsh/ruby.zsh @@ -13,7 +13,6 @@ install_ruby_global_packages() { method_source procodile pry-doc - rbenv-rehash reek rubocop rubocop-daemon @@ -21,6 +20,7 @@ install_ruby_global_packages() { solargraph ) + gem install --no-document rbenv-rehash gem install --no-document "${packages[@]}" } @@ -53,56 +53,5 @@ alias bp="bundle package" alias bu="bundle update" if command-exists rbenv; then - # lazy-load rbenv - rbenv() { - load-rbenv - rbenv "$@" - } - - _rbenv() { - load-rbenv - _rbenv "$@" - } - - compctl -K _rbenv rbenv - - load-rbenv() { - unset -f load-rbenv _rbenv rbenv - eval "$(command rbenv init -)" - } + source "$DOTZSH/rbenv.zsh" fi - -rbenv-each-version() { - local current_version="$RBENV_VERSION" - - for v in $(ls "${HOME}/.rbenv/versions"); do - echo "==> Ruby $v:" - export RBENV_VERSION="$v" - eval $* - done - - export RBENV_VERSION="$current_version" -} - -# Solargraph related commands - -solargraph-install() { - rbenv-each-version "gem install solargraph" -} - -solargraph-download-cores() { - rbenv-each-version "solargraph download-core" -} - -solargraph-list-versions() { - rbenv-each-version "gem list -q solargraph" -} - -rubygems-upgrade() { - rbenv-each-version "gem update --system" -} - -upgrade-bundler() { - rbenv-each-version \ - "gem install --no-document 'bundler:~> 1.0' 'bundler:~> 2.0'" -}