summaryrefslogtreecommitdiff
path: root/Text/Pandoc
diff options
context:
space:
mode:
authordefanor <defanor@uberspace.net>2017-10-28 03:16:26 +0300
committerdefanor <defanor@uberspace.net>2017-10-28 03:16:26 +0300
commitd2da10d36b857e399e10388ddc6f66850211ec77 (patch)
tree40e98bcc17276200f98c5af7c0de2b64263b9bc9 /Text/Pandoc
parentb52d2a395814158319a781d38a49bb0f132c221d (diff)
Improve plaintext rendering
Reuse lineToInlines previously used for Gopher, and adjust fitLines.
Diffstat (limited to 'Text/Pandoc')
-rw-r--r--Text/Pandoc/Readers/Gopher.hs8
-rw-r--r--Text/Pandoc/Readers/Plain.hs17
2 files changed, 14 insertions, 11 deletions
diff --git a/Text/Pandoc/Readers/Gopher.hs b/Text/Pandoc/Readers/Gopher.hs
index 33dec3e..694720d 100644
--- a/Text/Pandoc/Readers/Gopher.hs
+++ b/Text/Pandoc/Readers/Gopher.hs
@@ -16,14 +16,8 @@ import Text.Pandoc.Definition
import Text.Pandoc.Error
import Text.Parsec
import Text.Parsec.String
+import Text.Pandoc.Readers.Plain
--- | Translates a text line into a list of 'Inline' elements suitable
--- for further processing.
-lineToInlines :: String -> [Inline]
-lineToInlines [] = []
-lineToInlines (' ':rest) = Space : lineToInlines rest
-lineToInlines s = let (cur, next) = break (== ' ') s
- in Str cur : lineToInlines next
-- | UNASCII ::= ASCII - [Tab CR-LF NUL].
unascii :: Parser Char
diff --git a/Text/Pandoc/Readers/Plain.hs b/Text/Pandoc/Readers/Plain.hs
index 600e5f8..cb8fb9b 100644
--- a/Text/Pandoc/Readers/Plain.hs
+++ b/Text/Pandoc/Readers/Plain.hs
@@ -6,15 +6,24 @@ Portability : portable
-}
{-# LANGUAGE OverloadedStrings #-}
-module Text.Pandoc.Readers.Plain ( readPlain ) where
+module Text.Pandoc.Readers.Plain ( readPlain
+ , lineToInlines
+ ) where
import Text.Pandoc.Definition
import Text.Pandoc.Error
-import Data.List
+
+
+-- | Translates a text line into a list of 'Inline' elements suitable
+-- for further processing.
+lineToInlines :: String -> [Inline]
+lineToInlines [] = []
+lineToInlines (' ':rest) = Space : lineToInlines rest
+lineToInlines s = let (cur, next) = break (== ' ') s
+ in Str cur : lineToInlines next
-- | Reads plain text, always succeeding and producing a single
-- 'Plain' block.
readPlain :: String -> Either PandocError Pandoc
readPlain = Right . Pandoc mempty . pure . Plain .
- concatMap (\l -> (intersperse Space $ map Str $ words l) ++ [LineBreak]) . lines
- -- or Right . Pandoc mempty . pure . RawBlock "plain"
+ concatMap (\l -> (lineToInlines l) ++ [LineBreak]) . lines