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
Luckily there’s 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[1] --path)
else
set_color -o red
echo "Couldn't find `Gemfile`. Try again in a directory with a `Gemfile`."
set_color normal
end
end
Usage:
> bundlecode devise
# VS Code opens!