From 45dad373ca9759a339e0d19a23d1caf2c844d3db Mon Sep 17 00:00:00 2001 From: Samuel Tonini Date: Sun, 3 Apr 2016 21:49:57 +0200 Subject: [PATCH] Fix indent of pipes inside blocks of 'def' for example --- elixir-smie.el | 2 +- test/elixir-mode-indentation-test.el | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/elixir-smie.el b/elixir-smie.el index 8fa0763c..661d9fa9 100644 --- a/elixir-smie.el +++ b/elixir-smie.el @@ -329,7 +329,7 @@ (smie-rule-parent)) ((and (not (smie-rule-hanging-p)) (elixir-smie-current-line-start-with-pipe-operator-p)) - (goto-char (elixir-smie--previous-line-indentation))) + (cons 'column (elixir-smie--previous-line-indentation))) ((and (not (smie-rule-hanging-p)) (smie-rule-prev-p "OP")) -2) diff --git a/test/elixir-mode-indentation-test.el b/test/elixir-mode-indentation-test.el index 36f49f0f..c352aa0d 100644 --- a/test/elixir-mode-indentation-test.el +++ b/test/elixir-mode-indentation-test.el @@ -733,6 +733,28 @@ def foo(x) do |> Enum.reverse end") + +(elixir-def-indentation-test indent-pipes-inside-blocks + (:tags '(indentation)) + " +defmodule Foo do +def bar do + baz = + [1,2,3,4,5,6,7,8,9] + |> Enum.reverse + |> Enum.filter(&(&1 > 5)) + end +end" + " +defmodule Foo do + def bar do + baz = + [1,2,3,4,5,6,7,8,9] + |> Enum.reverse + |> Enum.filter(&(&1 > 5)) + end +end") + (elixir-def-indentation-test indent-inside-parens (:tags '(indentation)) "