diff --git a/elixir-smie.el b/elixir-smie.el index a96d641b..74e118bd 100644 --- a/elixir-smie.el +++ b/elixir-smie.el @@ -294,6 +294,10 @@ Return non-nil if any line breaks were skipped." (defun elixir-smie-rules (kind token) (pcase (cons kind token) + (`(:after . "STRING") + (if (smie-rule-prev-p "do:") + (smie-rule-parent 0) + nil)) (`(:elem . basic) (if (smie-rule-hanging-p) 0 diff --git a/test/elixir-mode-indentation-tests.el b/test/elixir-mode-indentation-tests.el index a3a23ceb..88965142 100644 --- a/test/elixir-mode-indentation-tests.el +++ b/test/elixir-mode-indentation-tests.el @@ -125,7 +125,7 @@ defmodule FooBar do end end") -(elixir-def-indentation-test indents-do-blocks-with-space-after-inline (:expected-result :failed) +(elixir-def-indentation-test indents-do-blocks-with-space-after-inline () "defmodule Foo do def foobar do if true, do: IO.puts \"yay\"