git.iko.soy/typeable/pandoc
on master help sign in
Clean up Text.Pandoc

We had primed versions of all the Writer types and getWriter functions, as we transitioned. Now that we're using the new ones exclusively, we'll get rid of the old ones, and get rid of the primes in the names.

commit04545c92c8588f2487518fc45cffcf2df8935e7b authorJesse Rosenthal <jrosenthal@jhu.edu> dateSun 27 Nov 2016, 00:05 (10 years ago) parent23c5b0d
2 files changed+58−78
pandoc.hs+5−5 src/Text/Pandoc.hs+53−73
pandoc.hs+5−5
@@ -915,7 +915,7 @@ options =
915915 let allopts = unwords (concatMap optnames options)
916916 UTF8.hPutStrLn stdout $ printf tpl allopts
917917 (unwords (map fst readers))
918− (unwords (map fst (writers' :: [(String, Writer' PandocIO)])))
918+ (unwords (map fst (writers :: [(String, Writer PandocIO)])))
919919 (unwords $ map fst highlightingStyles)
920920 ddir
921921 exitSuccess ))
@@ -932,7 +932,7 @@ options =
932932 , Option "" ["list-output-formats"]
933933 (NoArg
934934 (\_ -> do
935− let writers'names = sort (map fst (writers' :: [(String, Writer' PandocIO)]))
935+ let writers'names = sort (map fst (writers :: [(String, Writer PandocIO)]))
936936 mapM_ (UTF8.hPutStrLn stdout) writers'names
937937 exitSuccess ))
938938 ""
@@ -1274,7 +1274,7 @@ convertWithOpts opts args = do
12741274 writer <- if ".lua" `isSuffixOf` format
12751275 -- note: use non-lowercased version writerName
12761276 then error "custom writers disabled for now"
1277− else case getWriter' writerName' of
1277+ else case getWriter writerName' of
12781278 Left e -> err 9 $
12791279 if format == "pdf"
12801280 then e ++
@@ -1481,8 +1481,8 @@ convertWithOpts opts args = do
14811481
14821482 case writer of
14831483 -- StringWriter f -> f writerOptions doc' >>= writerFn outputFile
1484− ByteStringWriter' f -> (runIOorExplode $ f writerOptions doc') >>= writeFnBinary outputFile
1485− StringWriter' f
1484+ ByteStringWriter f -> (runIOorExplode $ f writerOptions doc') >>= writeFnBinary outputFile
1485+ StringWriter f
14861486 | pdfOutput -> do
14871487 -- make sure writer is latex or beamer or context or html5
14881488 unless (laTeXOutput || conTeXtOutput || html5Output) $
src/Text/Pandoc.hs+53−73
@@ -64,7 +64,7 @@ module Text.Pandoc
6464 -- * Lists of readers and writers
6565 , readers
6666 -- , writers
67− , writers'
67+ , writers
6868 -- * Readers: converting /to/ Pandoc format
6969 , Reader (..)
7070 , mkStringReader
@@ -88,8 +88,7 @@ module Text.Pandoc
8888 , readTxt2TagsNoMacros
8989 , readEPUB
9090 -- * Writers: converting /from/ Pandoc format
91− -- , Writer (..)
92− , Writer'(..)
91+ , Writer(..)
9392 , writeNative
9493 , writeJSON
9594 , writeMarkdown
@@ -124,8 +123,7 @@ module Text.Pandoc
124123 , module Text.Pandoc.Templates
125124 -- * Miscellaneous
126125 , getReader
127− -- , getWriter
128− , getWriter'
126+ , getWriter
129127 , getDefaultExtensions
130128 , ToJsonFilter(..)
131129 , pandocVersion
@@ -335,67 +333,67 @@ readers = [ ("native" , StringReader $ \_ s -> return $ readNative s)
335333-- ,("tei" , PureStringWriter writeTEI)
336334-- ]
337335
338−data Writer' m = StringWriter' (WriterOptions -> Pandoc -> m String)
339− | ByteStringWriter' (WriterOptions -> Pandoc -> m BL.ByteString)
336+data Writer m = StringWriter (WriterOptions -> Pandoc -> m String)
337+ | ByteStringWriter (WriterOptions -> Pandoc -> m BL.ByteString)
340338
341339-- | Association list of formats and writers.
342−writers' :: PandocMonad m => [ ( String, Writer' m) ]
343−writers' = [
344− ("native" , StringWriter' writeNative)
345− ,("json" , StringWriter' $ \o d -> return $ writeJSON o d)
346− ,("docx" , ByteStringWriter' writeDocx)
347− ,("odt" , ByteStringWriter' writeODT)
348− ,("epub" , ByteStringWriter' $ \o ->
340+writers :: PandocMonad m => [ ( String, Writer m) ]
341+writers = [
342+ ("native" , StringWriter writeNative)
343+ ,("json" , StringWriter $ \o d -> return $ writeJSON o d)
344+ ,("docx" , ByteStringWriter writeDocx)
345+ ,("odt" , ByteStringWriter writeODT)
346+ ,("epub" , ByteStringWriter $ \o ->
349347 writeEPUB o{ writerEpubVersion = Just EPUB2 })
350− ,("epub3" , ByteStringWriter' $ \o ->
348+ ,("epub3" , ByteStringWriter $ \o ->
351349 writeEPUB o{ writerEpubVersion = Just EPUB3 })
352− ,("fb2" , StringWriter' writeFB2)
353− ,("html" , StringWriter' writeHtmlString)
354− ,("html5" , StringWriter' $ \o ->
350+ ,("fb2" , StringWriter writeFB2)
351+ ,("html" , StringWriter writeHtmlString)
352+ ,("html5" , StringWriter $ \o ->
355353 writeHtmlString o{ writerHtml5 = True })
356− ,("icml" , StringWriter' writeICML)
357− ,("s5" , StringWriter' $ \o ->
354+ ,("icml" , StringWriter writeICML)
355+ ,("s5" , StringWriter $ \o ->
358356 writeHtmlString o{ writerSlideVariant = S5Slides
359357 , writerTableOfContents = False })
360− ,("slidy" , StringWriter' $ \o ->
358+ ,("slidy" , StringWriter $ \o ->
361359 writeHtmlString o{ writerSlideVariant = SlidySlides })
362− ,("slideous" , StringWriter' $ \o ->
360+ ,("slideous" , StringWriter $ \o ->
363361 writeHtmlString o{ writerSlideVariant = SlideousSlides })
364− ,("dzslides" , StringWriter' $ \o ->
362+ ,("dzslides" , StringWriter $ \o ->
365363 writeHtmlString o{ writerSlideVariant = DZSlides
366364 , writerHtml5 = True })
367− ,("revealjs" , StringWriter' $ \o ->
365+ ,("revealjs" , StringWriter $ \o ->
368366 writeHtmlString o{ writerSlideVariant = RevealJsSlides
369367 , writerHtml5 = True })
370− ,("docbook" , StringWriter' writeDocbook)
371− ,("docbook5" , StringWriter' $ \o ->
368+ ,("docbook" , StringWriter writeDocbook)
369+ ,("docbook5" , StringWriter $ \o ->
372370 writeDocbook o{ writerDocbook5 = True })
373− ,("opml" , StringWriter' writeOPML)
374− ,("opendocument" , StringWriter' writeOpenDocument)
375− ,("latex" , StringWriter' writeLaTeX)
376− ,("beamer" , StringWriter' $ \o ->
371+ ,("opml" , StringWriter writeOPML)
372+ ,("opendocument" , StringWriter writeOpenDocument)
373+ ,("latex" , StringWriter writeLaTeX)
374+ ,("beamer" , StringWriter $ \o ->
377375 writeLaTeX o{ writerBeamer = True })
378− ,("context" , StringWriter' writeConTeXt)
379− ,("texinfo" , StringWriter' writeTexinfo)
380− ,("man" , StringWriter' writeMan)
381− ,("markdown" , StringWriter' writeMarkdown)
382− ,("markdown_strict" , StringWriter' writeMarkdown)
383− ,("markdown_phpextra" , StringWriter' writeMarkdown)
384− ,("markdown_github" , StringWriter' writeMarkdown)
385− ,("markdown_mmd" , StringWriter' writeMarkdown)
386− ,("plain" , StringWriter' writePlain)
387− ,("rst" , StringWriter' writeRST)
388− ,("mediawiki" , StringWriter' writeMediaWiki)
389− ,("dokuwiki" , StringWriter' writeDokuWiki)
390− ,("zimwiki" , StringWriter' writeZimWiki)
391− ,("textile" , StringWriter' writeTextile)
392− ,("rtf" , StringWriter' $ \o ->
376+ ,("context" , StringWriter writeConTeXt)
377+ ,("texinfo" , StringWriter writeTexinfo)
378+ ,("man" , StringWriter writeMan)
379+ ,("markdown" , StringWriter writeMarkdown)
380+ ,("markdown_strict" , StringWriter writeMarkdown)
381+ ,("markdown_phpextra" , StringWriter writeMarkdown)
382+ ,("markdown_github" , StringWriter writeMarkdown)
383+ ,("markdown_mmd" , StringWriter writeMarkdown)
384+ ,("plain" , StringWriter writePlain)
385+ ,("rst" , StringWriter writeRST)
386+ ,("mediawiki" , StringWriter writeMediaWiki)
387+ ,("dokuwiki" , StringWriter writeDokuWiki)
388+ ,("zimwiki" , StringWriter writeZimWiki)
389+ ,("textile" , StringWriter writeTextile)
390+ ,("rtf" , StringWriter $ \o ->
393391 writeRTFWithEmbeddedImages o)
394− ,("org" , StringWriter' writeOrg)
395− ,("asciidoc" , StringWriter' writeAsciiDoc)
396− ,("haddock" , StringWriter' writeHaddock)
397− ,("commonmark" , StringWriter' writeCommonMark)
398− ,("tei" , StringWriter' writeTEI)
392+ ,("org" , StringWriter writeOrg)
393+ ,("asciidoc" , StringWriter writeAsciiDoc)
394+ ,("haddock" , StringWriter writeHaddock)
395+ ,("commonmark" , StringWriter writeCommonMark)
396+ ,("tei" , StringWriter writeTEI)
399397 ]
400398
401399getDefaultExtensions :: String -> Set Extension
@@ -433,35 +431,17 @@ getReader s =
433431 r o{ readerExtensions = setExts $
434432 getDefaultExtensions readerName }
435433
436−-- | Retrieve writer based on formatSpec (format+extensions).
437−-- getWriter :: String -> Either String Writer
438−-- getWriter s
439−-- = case parseFormatSpec s of
440−-- Left e -> Left $ intercalate "\n" [m | Message m <- errorMessages e]
441−-- Right (writerName, setExts) ->
442−-- case lookup writerName writers of
443−-- Nothing -> Left $ "Unknown writer: " ++ writerName
444−-- Just (PureStringWriter r) -> Right $ PureStringWriter $
445−-- \o -> r o{ writerExtensions = setExts $
446−-- getDefaultExtensions writerName }
447−-- Just (IOStringWriter r) -> Right $ IOStringWriter $
448−-- \o -> r o{ writerExtensions = setExts $
449−-- getDefaultExtensions writerName }
450−-- Just (IOByteStringWriter r) -> Right $ IOByteStringWriter $
451−-- \o -> r o{ writerExtensions = setExts $
452−-- getDefaultExtensions writerName }
453−
454−getWriter' :: PandocMonad m => String -> Either String (Writer' m)
455−getWriter' s
434+getWriter :: PandocMonad m => String -> Either String (Writer m)
435+getWriter s
456436 = case parseFormatSpec s of
457437 Left e -> Left $ intercalate "\n" [m | Message m <- errorMessages e]
458438 Right (writerName, setExts) ->
459− case lookup writerName writers' of
439+ case lookup writerName writers of
460440 Nothing -> Left $ "Unknown writer: " ++ writerName
461− Just (StringWriter' r) -> Right $ StringWriter' $
441+ Just (StringWriter r) -> Right $ StringWriter $
462442 \o -> r o{ writerExtensions = setExts $
463443 getDefaultExtensions writerName }
464− Just (ByteStringWriter' r) -> Right $ ByteStringWriter' $
444+ Just (ByteStringWriter r) -> Right $ ByteStringWriter $
465445 \o -> r o{ writerExtensions = setExts $
466446 getDefaultExtensions writerName }
467447