git.iko.soy/typeable/pandoc
on master help sign in
Docx Reader: Remove DummyListItem type
07b8a45Jesse Rosenthal
src/Text/Pandoc/Readers/Docx.hs+2−2
@@ -486,7 +486,7 @@ bodyPartToBlocks (Paragraph pPr parparts)
486 return $ case isNull ils' of
486 return $ case isNull ils' of
487 True -> mempty
487 True -> mempty
488 _ -> parStyleToTransform pPr $ para ils'
488 _ -> parStyleToTransform pPr $ para ils'
489−bodyPartToBlocks (ListItem pPr numId lvl levelInfo parparts) = do
489+bodyPartToBlocks (ListItem pPr numId lvl (Just levelInfo) parparts) = do
490 let
490 let
491 kvs = case levelInfo of
491 kvs = case levelInfo of
492 (_, fmt, txt, Just start) -> [ ("level", lvl)
492 (_, fmt, txt, Just start) -> [ ("level", lvl)
@@ -503,7 +503,7 @@ bodyPartToBlocks (ListItem pPr numId lvl levelInfo parparts) = do
503 ]
503 ]
504 blks <- bodyPartToBlocks (Paragraph pPr parparts)
504 blks <- bodyPartToBlocks (Paragraph pPr parparts)
505 return $ divWith ("", ["list-item"], kvs) blks
505 return $ divWith ("", ["list-item"], kvs) blks
506−bodyPartToBlocks (DummyListItem pPr _ parparts) =
506+bodyPartToBlocks (ListItem pPr _ _ _ parparts) =
507 let pPr' = pPr {pStyle = "ListParagraph": (pStyle pPr)}
507 let pPr' = pPr {pStyle = "ListParagraph": (pStyle pPr)}
508 in
508 in
509 bodyPartToBlocks $ Paragraph pPr' parparts
509 bodyPartToBlocks $ Paragraph pPr' parparts
src/Text/Pandoc/Readers/Docx/Parse.hs+5−10
@@ -177,8 +177,7 @@ defaultParagraphStyle = ParagraphStyle { pStyle = []
177
177
178
178
179data BodyPart = Paragraph ParagraphStyle [ParPart]
179data BodyPart = Paragraph ParagraphStyle [ParPart]
180− | ListItem ParagraphStyle String String Level [ParPart]
180+ | ListItem ParagraphStyle String String (Maybe Level) [ParPart]
181− | DummyListItem ParagraphStyle String [ParPart]
182 | Tbl String TblGrid TblLook [Row]
181 | Tbl String TblGrid TblLook [Row]
183 | OMathPara [Exp]
182 | OMathPara [Exp]
184 deriving Show
183 deriving Show
@@ -565,9 +564,8 @@ elemToBodyPart ns element
565 let parstyle = elemToParagraphStyle ns element sty
564 let parstyle = elemToParagraphStyle ns element sty
566 parparts <- mapD (elemToParPart ns) (elChildren element)
565 parparts <- mapD (elemToParPart ns) (elChildren element)
567 num <- asks envNumbering
566 num <- asks envNumbering
568− case lookupLevel numId lvl num of
567+ let levelInfo = lookupLevel numId lvl num
569− Just levelInfo -> return $ ListItem parstyle numId lvl levelInfo parparts
568+ return $ ListItem parstyle numId lvl levelInfo parparts
570− Nothing -> return $ DummyListItem parstyle lvl parparts
571elemToBodyPart ns element
569elemToBodyPart ns element
572 | isElem ns "w" "p" element = do
570 | isElem ns "w" "p" element = do
573 sty <- asks envParStyles
571 sty <- asks envParStyles
@@ -576,11 +574,8 @@ elemToBodyPart ns element
576 case pNumInfo parstyle of
574 case pNumInfo parstyle of
577 Just (numId, lvl) -> do
575 Just (numId, lvl) -> do
578 num <- asks envNumbering
576 num <- asks envNumbering
579− case lookupLevel numId lvl num of
577+ let levelInfo = lookupLevel numId lvl num
580− Just levelInfo ->
581− return $ ListItem parstyle numId lvl levelInfo parparts
578+ return $ ListItem parstyle numId lvl levelInfo parparts
582− Nothing ->
583− return $ DummyListItem parstyle lvl parparts
584 Nothing -> return $ Paragraph parstyle parparts
579 Nothing -> return $ Paragraph parstyle parparts
585elemToBodyPart ns element
580elemToBodyPart ns element
586 | isElem ns "w" "tbl" element = do
581 | isElem ns "w" "tbl" element = do