While working on a Ruby project, I often find myself referring to the code of various libraries when it’s easier than looking up the documentation. For this, I used to use
code (bundle show GEM_NAME), but recently I’ve been getting this warning:
[DEPRECATED] use `bundle info $GEM_NAME` instead of `bundle show $GEM_NAME`
Okay, that’s fine, but bundle info returns a bunch of stuff that would confuse VS Code:
> bundle info devise * devise (4.7.1) Summary: Flexible authentication solution for Rails with Warden Homepage: https://github.com/plataformatec/devise Path: /Users/keita/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/devise-4.7.1
bundle info $GEM_NAME --path.
code (bundle info devise --path) is kind of long to type out every time, though, so I decided to make an alias.
I use the Fish shell, so the code here is written for that shell. Adapt it to your shell as required. You’ll also need the VS Code terminal integration installed for this to work.
function bundlecode if test -e ./Gemfile code (bundle info $argv --path) else set_color -o red echo "Couldn't find `Gemfile`. Try again in a directory with a `Gemfile`." set_color normal end end
> bundlecode devise # VS Code opens!