From 560c498688b2189aa09ed99bc3c72c1f8e96b858 Mon Sep 17 00:00:00 2001 From: mrkkrp Date: Sun, 21 Jul 2019 12:22:24 +0200 Subject: [PATCH] Handle inline comments before let correctly --- .../declaration/value/function/let-multi-line-out.hs | 6 ++++++ data/examples/declaration/value/function/let-multi-line.hs | 6 ++++++ src/Ormolu/Printer/Meat/Declaration/Value.hs | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/data/examples/declaration/value/function/let-multi-line-out.hs b/data/examples/declaration/value/function/let-multi-line-out.hs index 36cd74c..e5f4e73 100644 --- a/data/examples/declaration/value/function/let-multi-line-out.hs +++ b/data/examples/declaration/value/function/let-multi-line-out.hs @@ -10,3 +10,9 @@ bar x = y = x in z + 100 + +inlineComment :: Int -> Int +inlineComment = + let {- join -} go = case () of + () -> undefined + in go diff --git a/data/examples/declaration/value/function/let-multi-line.hs b/data/examples/declaration/value/function/let-multi-line.hs index ae2c21a..76fb3b4 100644 --- a/data/examples/declaration/value/function/let-multi-line.hs +++ b/data/examples/declaration/value/function/let-multi-line.hs @@ -10,3 +10,9 @@ bar x = y = x in z + 100 + +inlineComment :: Int -> Int +inlineComment = + let {- join -} go = case () of + () -> undefined + in go diff --git a/src/Ormolu/Printer/Meat/Declaration/Value.hs b/src/Ormolu/Printer/Meat/Declaration/Value.hs index 448558b..4e8501a 100644 --- a/src/Ormolu/Printer/Meat/Declaration/Value.hs +++ b/src/Ormolu/Printer/Meat/Declaration/Value.hs @@ -392,7 +392,7 @@ p_hsLocalBinds = \case (Left <$> bagToList bag) ++ (Right <$> lsigs) p_item (Left x) = located x p_valDecl' p_item (Right x) = located x p_sigDecl' - newlineSep p_item (sortOn ssStart items) + newlineSep (sitcc . p_item) (sortOn ssStart items) HsValBinds NoExt _ -> notImplemented "HsValBinds" HsIPBinds NoExt _ -> notImplemented "HsIPBinds" EmptyLocalBinds NoExt -> return ()