diff options
author | Dmitry Gutov <dgutov@yandex.ru> | 2016-03-14 00:15:06 +0200 |
---|---|---|
committer | Dmitry Gutov <dgutov@yandex.ru> | 2016-03-14 01:45:01 +0200 |
commit | 5b705bc97d3928e6550d271c415c54e00e020011 (patch) | |
tree | dea5346c13e94e024a5fc9e5ed57450b4f36743a | |
parent | 04f5525fbb961f6006280be340ca0f03df9e80a7 (diff) |
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.el | 4 | ||||
-rw-r--r-- | test/indent/ruby.rb | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index b0b837aa20..9884b7e1ac 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'." (`(:before . ".") (if (smie-rule-sibling-p) (and ruby-align-chained-calls 0) - ruby-indent-level)) + (smie-backward-sexp ".") + (cons 'column (+ (current-column) + ruby-indent-level)))) (`(:before . ,(or `"else" `"then" `"elsif" `"rescue" `"ensure")) (smie-rule-parent)) (`(:before . "when") diff --git a/test/indent/ruby.rb b/test/indent/ruby.rb index 51923f7937..941fffb220 100644 --- a/test/indent/ruby.rb +++ b/test/indent/ruby.rb @@ -317,6 +317,11 @@ def bar .baz end +abc(foo + .bar, + tee + .qux) + # http://stackoverflow.com/questions/17786563/emacs-ruby-mode-if-expressions-indentation tee = if foo bar |