diff options
| author | Dmitry Gutov | 2013-12-19 07:06:24 +0200 |
|---|---|---|
| committer | Dmitry Gutov | 2013-12-19 07:06:24 +0200 |
| commit | ce41edb426ccd6acc1c653d8a9a28aded9e9d594 (patch) | |
| tree | 7470708b803ac4c93bfd52d7343eaa79a27d8626 | |
| parent | c7734b728e5f1a44c20bc969801ffd10bbac37b9 (diff) | |
| download | emacs-ce41edb426ccd6acc1c653d8a9a28aded9e9d594.tar.gz emacs-ce41edb426ccd6acc1c653d8a9a28aded9e9d594.zip | |
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Indent middle-of-block
keywords to their parent.
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/progmodes/ruby-mode.el | 5 | ||||
| -rw-r--r-- | test/indent/ruby.rb | 4 |
3 files changed, 12 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 09d4cebb6f5..5fd4ff56c66 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,10 @@ | |||
| 1 | 2013-12-19 Dmitry Gutov <dgutov@yandex.ru> | 1 | 2013-12-19 Dmitry Gutov <dgutov@yandex.ru> |
| 2 | 2 | ||
| 3 | * progmodes/ruby-mode.el (ruby-smie-rules): Indent middle-of-block | ||
| 4 | keywords to their parent. | ||
| 5 | |||
| 6 | 2013-12-19 Dmitry Gutov <dgutov@yandex.ru> | ||
| 7 | |||
| 3 | * progmodes/ruby-mode.el (ruby-smie--args-separator-p): Allow the | 8 | * progmodes/ruby-mode.el (ruby-smie--args-separator-p): Allow the |
| 4 | first arg to be a string (fixed dead code), or an operator symbol. | 9 | first arg to be a string (fixed dead code), or an operator symbol. |
| 5 | (ruby-smie--forward-token): Tokenize ` @ ' before strings and | 10 | (ruby-smie--forward-token): Tokenize ` @ ' before strings and |
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index e291acec327..449a10dc999 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el | |||
| @@ -569,8 +569,9 @@ It is used when `ruby-encoding-magic-comment-style' is set to `custom'." | |||
| 569 | (cons 'column (current-column))))) | 569 | (cons 'column (current-column))))) |
| 570 | (`(:before . "do") (ruby-smie--indent-to-stmt)) | 570 | (`(:before . "do") (ruby-smie--indent-to-stmt)) |
| 571 | (`(:before . ".") ruby-indent-level) | 571 | (`(:before . ".") ruby-indent-level) |
| 572 | (`(:before . ,(or `"else" `"then" `"elsif" `"rescue" `"ensure")) 0) | 572 | (`(:before . ,(or `"else" `"then" `"elsif" `"rescue" `"ensure")) |
| 573 | (`(:before . ,(or `"when")) | 573 | (smie-rule-parent)) |
| 574 | (`(:before . "when") | ||
| 574 | (if (not (smie-rule-sibling-p)) 0)) ;; ruby-indent-level | 575 | (if (not (smie-rule-sibling-p)) 0)) ;; ruby-indent-level |
| 575 | (`(:after . ,(or "=" "iuwu-mod" "+" "-" "*" "/" "&&" "||" "%" "**" "^" "&" | 576 | (`(:after . ,(or "=" "iuwu-mod" "+" "-" "*" "/" "&&" "||" "%" "**" "^" "&" |
| 576 | "<=>" ">" "<" ">=" "<=" "==" "===" "!=" "<<" ">>" | 577 | "<=>" ">" "<" ">=" "<=" "==" "===" "!=" "<<" ">>" |
diff --git a/test/indent/ruby.rb b/test/indent/ruby.rb index 0bf4bc14fbb..1993c29efb3 100644 --- a/test/indent/ruby.rb +++ b/test/indent/ruby.rb | |||
| @@ -272,6 +272,8 @@ end | |||
| 272 | # http://stackoverflow.com/questions/17786563/emacs-ruby-mode-if-expressions-indentation | 272 | # http://stackoverflow.com/questions/17786563/emacs-ruby-mode-if-expressions-indentation |
| 273 | tee = if foo | 273 | tee = if foo |
| 274 | bar | 274 | bar |
| 275 | else | ||
| 276 | tee | ||
| 275 | end | 277 | end |
| 276 | 278 | ||
| 277 | a = b { | 279 | a = b { |
| @@ -328,6 +330,8 @@ def qux | |||
| 328 | foo ||= begin | 330 | foo ||= begin |
| 329 | bar | 331 | bar |
| 330 | tee | 332 | tee |
| 333 | rescue | ||
| 334 | oomph | ||
| 331 | end | 335 | end |
| 332 | end | 336 | end |
| 333 | 337 | ||