diff --git a/elixir-smie.el b/elixir-smie.el index e80293ee..1c8d0644 100644 --- a/elixir-smie.el +++ b/elixir-smie.el @@ -84,7 +84,6 @@ "===" "!==" ; comp3 "==" "!=" "<=" ">=" ; comp2 "<" ">" ; comp1 - "+" "-" "*" "/" "=" "|" "!" "^" "@" ; op1 "&&" "||" "<>" "++" "--" "**" "//" "::" "<-" ".." "/>" "=~" ; op2 (minus ->) "xor" "|>" ; http://elixir-lang.org/docs/stable/Kernel.html ) @@ -320,7 +319,7 @@ Return non-nil if any line breaks were skipped." (`(:after . "end") 0) (`(:after . ,(or `"do")) elixir-smie-indent-basic) - (`(:list-intro . ,(or `"do")) t))) + (`(:list-intro . ,(or `"do" `";")) t))) (define-minor-mode elixir-smie-mode "SMIE-based indentation and syntax for Elixir" diff --git a/test/elixir-mode-indentation-tests.el b/test/elixir-mode-indentation-tests.el index 14e00d18..ecf72f8e 100644 --- a/test/elixir-mode-indentation-tests.el +++ b/test/elixir-mode-indentation-tests.el @@ -126,20 +126,23 @@ defmodule FooBar do end") (elixir-def-indentation-test indents-after-empty-line - (:expected-result :failed) ; #18 + () " +def foo do a = 2 - b = a + 3 +b = a + 3 - c = a + b" +c = a * b +end" " -a = 2 - -b = a + 3 +def foo do + a = 2 -c = a + b") + b = a + 3 + c = a * b +end") (elixir-def-indentation-test indents-function-calls-without-parens () "