diff options
-rw-r--r-- | lib/Language/Haskell/Stylish/Step/TrailingWhitespace.hs | 7 | ||||
-rw-r--r-- | tests/Language/Haskell/Stylish/Step/TrailingWhitespace/Tests.hs | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/Language/Haskell/Stylish/Step/TrailingWhitespace.hs b/lib/Language/Haskell/Stylish/Step/TrailingWhitespace.hs index dbc594c..e41bace 100644 --- a/lib/Language/Haskell/Stylish/Step/TrailingWhitespace.hs +++ b/lib/Language/Haskell/Stylish/Step/TrailingWhitespace.hs @@ -19,4 +19,9 @@ dropTrailingWhitespace = reverse . dropWhile isSpace . reverse -------------------------------------------------------------------------------- step :: Step -step = makeStep "TrailingWhitespace" $ \ls _ -> map dropTrailingWhitespace ls +step = makeStep "TrailingWhitespace" $ \ls _ -> map dropTrailingWhitespace' ls + where + dropTrailingWhitespace' l = case l of + -- Preserve page breaks + "\12" -> l + _ -> dropTrailingWhitespace l diff --git a/tests/Language/Haskell/Stylish/Step/TrailingWhitespace/Tests.hs b/tests/Language/Haskell/Stylish/Step/TrailingWhitespace/Tests.hs index 1394edb..0593c0a 100644 --- a/tests/Language/Haskell/Stylish/Step/TrailingWhitespace/Tests.hs +++ b/tests/Language/Haskell/Stylish/Step/TrailingWhitespace/Tests.hs @@ -28,12 +28,16 @@ case01 = expected @=? testStep step input where input = unlines [ "module Main where" - , " " + , " \t" , "data Foo = Bar | Qux\t " + , "\12" -- page break + , " \12" -- malformed page break ] expected = unlines [ "module Main where" , "" , "data Foo = Bar | Qux" + , "\12" -- page break + , "" ] |