|
358 | 358 | (if (elixir-smie-last-line-end-with-block-operator-p) |
359 | 359 | (smie-rule-parent) |
360 | 360 | 0)) |
| 361 | + ((and (smie-rule-parent-p "after") |
| 362 | + (smie-rule-hanging-p)) |
| 363 | + (smie-rule-parent elixir-smie-indent-basic)) |
361 | 364 | (t |
362 | 365 | (smie-rule-parent)))) |
363 | 366 | (`(:before . "fn") |
|
473 | 476 | (smie-rule-parent)))) |
474 | 477 | (`(:before . "->") |
475 | 478 | (cond |
476 | | - ((smie-rule-hanging-p) |
477 | | - (smie-rule-parent elixir-smie-indent-basic)) |
| 479 | + ;; Example |
| 480 | + ;; |
| 481 | + ;; receive do |
| 482 | + ;; after |
| 483 | + ;; 2000 -> |
| 484 | + ;; IO.puts 'hello' |
| 485 | + ;; IO.puts 'status 2000 ends' <- Indent second line |
| 486 | + ;; { :ok } -> |
| 487 | + ;; .... |
| 488 | + ((and (smie-rule-parent-p "after") |
| 489 | + (not (smie-rule-sibling-p))) |
| 490 | + (smie-rule-parent (+ elixir-smie-indent-basic |
| 491 | + elixir-smie-indent-basic))) |
478 | 492 | ;; Example |
479 | 493 | ;; |
480 | 494 | ;; case parse do |
|
486 | 500 | elixir-smie-indent-basic) |
487 | 501 | ((and (not (smie-rule-hanging-p)) |
488 | 502 | (smie-rule-parent-p "MATCH-STATEMENT-DELIMITER")) |
489 | | - (smie-rule-parent) |
490 | | - ) |
491 | | - )) |
| 503 | + (smie-rule-parent)) |
| 504 | + (t (smie-rule-parent elixir-smie-indent-basic)))) |
492 | 505 | (`(:after . "->") |
493 | 506 | (cond |
494 | 507 | ;; This first condition is kind of complicated so I'll try to make this |
|
517 | 530 | ((smie-rule-parent-p "catch" "rescue") |
518 | 531 | (smie-rule-parent (+ elixir-smie-indent-basic |
519 | 532 | elixir-smie-indent-basic))) |
520 | | - ((smie-rule-parent-p "after" "do" "try") |
521 | | - (smie-rule-parent elixir-smie-indent-basic)) |
| 533 | + ((smie-rule-parent-p "do" "try") |
| 534 | + (smie-rule-parent elixir-smie-indent-basic)) |
| 535 | + ;; Example |
| 536 | + ;; |
| 537 | + ;; receive do |
| 538 | + ;; after |
| 539 | + ;; 2000 -> |
| 540 | + ;; IO.puts 'hello' <- Indent two spaces |
| 541 | + ((and (smie-rule-parent-p "after") |
| 542 | + (smie-rule-hanging-p) |
| 543 | + (not (smie-rule-sibling-p))) |
| 544 | + (smie-rule-parent (+ elixir-smie-indent-basic |
| 545 | + elixir-smie-indent-basic))) |
522 | 546 | (t (smie-rule-parent elixir-smie-indent-basic)))))) |
523 | 547 | (`(:before . ";") |
524 | 548 | (cond |
|
0 commit comments