Adds useful anything sources for use with Ruby on Rails development
Emacs Lisp
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Anything On Rails

I like the various rails plugins on emacs, but for what I want they are too heavy.

I use Anything in Emacs a lot, and for things like quick navigation I think it is all I need.

So here is a very lightweight Anything Source that shows all the major files in a rails project, so navigation is pretty easy. It is called anything-rails and can be bound to any key you like, or added to your default set of sources. It does nothing if it does not detect it is in a rails directory structure.

Basically you invoke anything-rails, and if it is in a rails directory it gathers all the major rails files from app, config, specs and groups them for display. Using the anything-match-plugin you can very quickly find what you want.

For instance to find a model called pet.rb you type mod pet, the mod will match all models and pet will hone in on the pet.rb model. You can do the same with views, type vie pets show it will first filter all the views, then the pets views then the show view. This makes navigation pretty easy, not quite as nice as going directly to the view from the controller but ok. The navigation in most of the rails major modes seems pretty flaky anyway.

I also modified RubyKitchs anything Rake source so you can run rake tasks pretty easily too, I modified it to run the rake task in a ruby-compilation window though so errors can be clicked on properly.

I'll be adding stuff to this as needed, but I want to keep it small, and not compete with Rinari or rails-mode-reloaded.

The vendor directory has recent copies of the third party libs I use, like the anything.el etc.

If you use TAGS then (global-set-key (kbd "M-.") 'anything-etags-select-from-here) and you can lookup anything that is in the TAGS file.

Also included is a setup-ruby.el and setup-anything.el that I call from my init.el to setup the various things I use for ruby/rails development.

There is a dependency on magit if you use the anything-git, so make sure there is a (require 'magit) somewhere.