aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Gutov2016-03-14 00:15:06 +0200
committerDmitry Gutov2016-03-14 01:45:01 +0200
commit5b705bc97d3928e6550d271c415c54e00e020011 (patch)
treedea5346c13e94e024a5fc9e5ed57450b4f36743a
parent04f5525fbb961f6006280be340ca0f03df9e80a7 (diff)
downloademacs-5b705bc97d3928e6550d271c415c54e00e020011.tar.gz
emacs-5b705bc97d3928e6550d271c415c54e00e020011.zip
Indent '.' relative to the first sibling expression
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Indent '.' relative to the first sibling expression, instead of the parent token (bug#17213).
-rw-r--r--lisp/progmodes/ruby-mode.el4
-rw-r--r--test/indent/ruby.rb5
2 files changed, 8 insertions, 1 deletions
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index b0b837aa20e..9884b7e1ac1 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -661,7 +661,9 @@ It is used when `ruby-encoding-magic-comment-style' is set to `custom'."
661 (`(:before . ".") 661 (`(:before . ".")
662 (if (smie-rule-sibling-p) 662 (if (smie-rule-sibling-p)
663 (and ruby-align-chained-calls 0) 663 (and ruby-align-chained-calls 0)
664 ruby-indent-level)) 664 (smie-backward-sexp ".")
665 (cons 'column (+ (current-column)
666 ruby-indent-level))))
665 (`(:before . ,(or `"else" `"then" `"elsif" `"rescue" `"ensure")) 667 (`(:before . ,(or `"else" `"then" `"elsif" `"rescue" `"ensure"))
666 (smie-rule-parent)) 668 (smie-rule-parent))
667 (`(:before . "when") 669 (`(:before . "when")
diff --git a/test/indent/ruby.rb b/test/indent/ruby.rb
index 51923f79373..941fffb2209 100644
--- a/test/indent/ruby.rb
+++ b/test/indent/ruby.rb
@@ -317,6 +317,11 @@ def bar
317 .baz 317 .baz
318end 318end
319 319
320abc(foo
321 .bar,
322 tee
323 .qux)
324
320# http://stackoverflow.com/questions/17786563/emacs-ruby-mode-if-expressions-indentation 325# http://stackoverflow.com/questions/17786563/emacs-ruby-mode-if-expressions-indentation
321tee = if foo 326tee = if foo
322 bar 327 bar