Permalink
Browse files

fix ruby-mode hanging parameter indentation

  • Loading branch information...
1 parent 04d88c0 commit 54864614863fef16bf1751fc7f4543f4df1e8cce John Ledbetter committed Feb 21, 2012
Showing with 22 additions and 0 deletions.
  1. +22 −0 emacs.d/init.el
View
@@ -318,6 +318,28 @@
(setq ns-popup-frames 'nil))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; fix ruby-mode multi-line parameter indentation
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+(setq-default ruby-deep-indent-paren nil)
+(setq-default ruby-deep-indent-paren-style nil)
+(setq-default ruby-deep-arglist nil)
+
+(defadvice ruby-indent-line (after unindent-closing-paren activate)
+ (let ((column (current-column))
+ indent offset)
+ (save-excursion
+ (back-to-indentation)
+ (let ((state (syntax-ppss)))
+ (setq offset (- column (current-column)))
+ (when (and (eq (char-after) ?\))
+ (not (zerop (car state))))
+ (goto-char (cadr state))
+ (setq indent (current-indentation)))))
+ (when indent
+ (indent-line-to indent)
+ (when (> offset 0) (forward-char offset)))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; mode hooks
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(add-hook 'text-mode-hook 'on-text-mode)

0 comments on commit 5486461

Please sign in to comment.