This change brings some order to how we require files. Previously, we required
app files from everywhere, including pry.rb. Now we require app files only from
pry.rb.
External and stdlib dependencies are required at places where they're used, not
globally.
* Prevent Bundler from raising a LoadError when accessing input completions.
The scenario:
- $ mkdir foogem
- $ cd foogem
- $ echo "source 'https://rubygems.org'" > Gemfile
- $ bundle install
- $ pry -rbundler/setup
- type "foo".<tab> into Pry
Notice that a LoadError is raised when trying to require
"pry/input_completer". This happens because Pry is not in the
Gemfile, so once the sandbox is initialized by Bundler any require
for a Pry file is doomed to file.
Couple that with the fact that '_pry_.config.completer' is not
loaded until a user uses tab completion, and we end up with this
broken situation.