Skip to content

Commit

Permalink
Reduce state in Org writer (#3404)
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Krotov authored and jgm committed Feb 1, 2017
1 parent d4d3184 commit 59a2e55
Showing 1 changed file with 3 additions and 8 deletions.
11 changes: 3 additions & 8 deletions src/Text/Pandoc/Writers/Org.hs
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,15 @@ import Text.Pandoc.Class (PandocMonad)

data WriterState =
WriterState { stNotes :: [[Block]]
, stLinks :: Bool
, stImages :: Bool
, stHasMath :: Bool
, stOptions :: WriterOptions
}

-- | Convert Pandoc to Org.
writeOrg :: PandocMonad m => WriterOptions -> Pandoc -> m String
writeOrg opts document = return $
let st = WriterState { stNotes = [], stLinks = False,
stImages = False, stHasMath = False,
let st = WriterState { stNotes = [],
stHasMath = False,
stOptions = opts }
in evalState (pandocToOrg document) st

Expand Down Expand Up @@ -361,13 +359,10 @@ inlineToOrg SoftBreak = do
inlineToOrg (Link _ txt (src, _)) = do
case txt of
[Str x] | escapeURI x == src -> -- autolink
do modify $ \s -> s{ stLinks = True }
return $ "[[" <> text (orgPath x) <> "]]"
do return $ "[[" <> text (orgPath x) <> "]]"
_ -> do contents <- inlineListToOrg txt
modify $ \s -> s{ stLinks = True }
return $ "[[" <> text (orgPath src) <> "][" <> contents <> "]]"
inlineToOrg (Image _ _ (source, _)) = do
modify $ \s -> s{ stImages = True }
return $ "[[" <> text (orgPath source) <> "]]"
inlineToOrg (Note contents) = do
-- add to notes in state
Expand Down

0 comments on commit 59a2e55

Please sign in to comment.