asok / projectile-rails

Emacs Rails mode based on projectile
258 stars 59 forks source link

Search files in Gemset associated with project #134

Closed JohnMerlino2 closed 4 years ago

JohnMerlino2 commented 5 years ago

Right now I am using Projectile with Emacs. I have not tried this particular package (projectile-rails) yet, but I am considering it. When I do a global file search in Projectile, it only searches files IN the project, but not files in the Gems in the Gemset of the Project. When I use byebug and step into methods located in Gems, I want to be able to open up the file easily and inspect the contents. Does this package provide me a way to search the Gem files associated with the Project? If not, is there another method to do this in Emacs?

Here is a good use case:

/home/myuser/.rvm/gems/ruby-2.4.7@core/gems/rspec-rails-3.8.2/lib/rspec/rails/adapters.rb:126:in `block (2 levels) in '

This is some error I get. I want to be able to easily open the file rspec/rails/adapters.rb.

JohnMerlino2 commented 5 years ago

I am currently using C-c C-f to load mini buffer to search for file in Gemset. But it doesn't feel right. I want to be able to add byebug statements (without having to worry that it is actually modifying the gem itself), almost like a copy of the buffer of the Gem in memory, which allows me to add byebug statements without affecting the Gem itself.

asok commented 5 years ago

Does this package provide me a way to search the Gem files associated with the Project?

If you're asking about some form of projectile-find-file that would also look in the gems, then not. Actually I'm not aware of such package.

Here is a good use case:

/home/myuser/.rvm/gems/ruby-2.4.7@core/gems/rspec-rails-3.8.2/lib/rspec/rails/adapters.rb:126:in `block (2 levels) in module:MinitestLifecycleAdapter'

This is some error I get. I want to be able to easily open the file rspec/rails/adapters.rb.

For that you could put the point on the line and run find-file-at-point unfortunately it will not put you in the correct line.