Search code examples
rubyemacsruby-mode

Automatically unindent "end" in ruby-mode after typing it?


Is it possible to set ruby-mode to automatically unindented the end?

For instance, after the end is typed as so:

def foo
  # indented
  end

It should turn into this:

def foo
  # indented
end

Solution

  • You can modify your .emacs to enable ruby electric mode by adding the following:

    (require 'ruby-electric)
    (add-hook 'ruby-mode-hook (lambda () (ruby-electric-mode t)))
    

    This will add a correctly indented end whenever you type class or def.