From 80ff9053a3545f6d7dbad5fd6446ff7b1bc8442c Mon Sep 17 00:00:00 2001 From: Seong Yong-ju Date: Fri, 10 May 2019 23:24:39 +0900 Subject: [PATCH] Add rubocopfmt to format Ruby buffers --- CHANGELOG.develop | 1 + layers/+lang/ruby/README.org | 1 + layers/+lang/ruby/packages.el | 14 +++++++++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.develop b/CHANGELOG.develop index d18687403..4e6414b96 100644 --- a/CHANGELOG.develop +++ b/CHANGELOG.develop @@ -2167,6 +2167,7 @@ Other: - ~SPC m f f b~ to find job - ~SPC m f f w~ to find webpack config - ~SPC m f c d~ to run rails destroy +- Added =rubocopfmt= with the key binding ~SPC m = r~ **** Rust - Added missing =counsel-gtags= and =smartparens= package declarations (thanks to Kalle Lindqvist) diff --git a/layers/+lang/ruby/README.org b/layers/+lang/ruby/README.org index 4a5bd8f1a..d33099909 100644 --- a/layers/+lang/ruby/README.org +++ b/layers/+lang/ruby/README.org @@ -212,6 +212,7 @@ directory local variables. | Key binding | Description | |---------------+------------------------------------------------------| +| ~SPC m = r~ | Format the current buffer using RuboCop | | ~SPC m R r f~ | Runs RuboCop on the currently visited file | | ~SPC m R r F~ | Runs auto-correct on the currently visited file | | ~SPC m R r d~ | Prompts from a directory on which to run RuboCop | diff --git a/layers/+lang/ruby/packages.el b/layers/+lang/ruby/packages.el index e53269da2..5724db4b2 100644 --- a/layers/+lang/ruby/packages.el +++ b/layers/+lang/ruby/packages.el @@ -27,6 +27,7 @@ robe rspec-mode rubocop + rubocopfmt ruby-hash-syntax (ruby-mode :location built-in :toggle (not ruby-enable-enh-ruby-mode)) ruby-refactor @@ -226,10 +227,21 @@ "Rd" 'rubocop-check-directory "RD" 'rubocop-autocorrect-directory "Rf" 'rubocop-check-current-file - "RF" 'rubocop-autocorrect-current-file "Rp" 'rubocop-check-project "RP" 'rubocop-autocorrect-project)))) +(defun ruby/init-rubocopfmt () + (use-package rubocopfmt + :defer t + :init + (progn + (setq-default rubocopfmt-disabled-cops '()) + + (dolist (mode '(ruby-mode enh-ruby-mode)) + (spacemacs/declare-prefix-for-mode mode "m=" "format") + (spacemacs/set-leader-keys-for-major-mode mode + "=r" #'rubocopfmt))))) + (defun ruby/init-ruby-mode () (use-package ruby-mode :defer t