From 14468d50a6b22c67e656cd2b2a5fb4c7dad692b2 Mon Sep 17 00:00:00 2001 From: defanor Date: Fri, 22 Dec 2017 08:10:29 +0300 Subject: Handle newlines in storeLines Usually there's none, but now it's possible for them to get there with --no-wrap. Perhaps that should be fixed too. --- Pancake/Rendering.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Pancake') diff --git a/Pancake/Rendering.hs b/Pancake/Rendering.hs index b5fd717..112bbbb 100644 --- a/Pancake/Rendering.hs +++ b/Pancake/Rendering.hs @@ -204,7 +204,8 @@ storeNote ro = do -- | Stores text lines. storeLines :: [StyledLine] -> Renderer () storeLines l = do - modify (\s -> s { lineNumber = lineNumber s + length l }) + let newlines = sum $ map (length . filter (== '\n') . unstyled) l + modify (\s -> s { lineNumber = lineNumber s + length l + newlines }) tell $ map RLine l -- | Stores attributes (identifier and line number). -- cgit v1.2.3