rubocopfmt-mode

Emacs minor-mode to format Ruby code with RuboCop on save via it's --auto-correct option.

Installing

Drop rubocopfmt.el somewhere into you load-path and require it. Personally I favour the folder ~/.emacs.d/vendor:

(add-to-list 'load-path "~/.emacs.d/vendor")
(require 'rubocopfmt)

Usage

To enable formatting ruby-mode buffers on save, simply enable rubocopfmt-mode with something like this in your config:

(add-hook 'ruby-mode-hook #'rubocopfmt-mode)

Internals

rubocopfmt-mode works by executing rubocop against the file you are saving. To ensure RuboCop behaves as expected, it is executed from within the same directory as the file you are saving.

Bundler Integration

If a Gemfile is found in the current directory or in any parent directory, bundle exec rubocop [...] will be used to execute RuboCop. This does mean that projects with a Gemfile are required to have rubocop listed as a dependency for rubocopfmt to work.

This ensures that formatting is done with the same version of RuboCop that the project lists as a dependency.

Commands

  • rubocopfmt - Format current buffer with RuboCop.
  • rubocopfmt-mode - Toggle formatting on save on/off.
Description
Emacs minor-mode to format Ruby code with RuboCop on save.
Readme BSD-3-Clause 159 KiB
Languages
Emacs Lisp 98%
Makefile 2%