git.iko.soy/typeable/pandoc
on master help sign in
[Docx Reader] Use null instead of isEmpty in Readers.Docx.Combine
f09e187Nikolay Yakimov
src/Text/Pandoc/Readers/Docx/Combine.hs+5−9
@@ -61,7 +61,6 @@ import Data.List
61import Data.Bifunctor
61import Data.Bifunctor
62import Data.Sequence ( ViewL (..), ViewR (..), viewl, viewr, spanr, spanl
62import Data.Sequence ( ViewL (..), ViewR (..), viewl, viewr, spanr, spanl
63 , (><), (|>) )
63 , (><), (|>) )
64−import qualified Data.Sequence as Seq (null)
65import Text.Pandoc.Builder
64import Text.Pandoc.Builder
66
65
67data Modifier a = Modifier (a -> a)
66data Modifier a = Modifier (a -> a)
@@ -90,7 +89,7 @@ isSpace _ = False
90stackInlines :: [Modifier Inlines] -> Inlines -> Inlines
89stackInlines :: [Modifier Inlines] -> Inlines -> Inlines
91stackInlines [] ms = ms
90stackInlines [] ms = ms
92stackInlines (Modifier f : fs) ms =
91stackInlines (Modifier f : fs) ms =
93− if isEmpty ms
92+ if null ms
94 then stackInlines fs ms
93 then stackInlines fs ms
95 else f $ stackInlines fs ms
94 else f $ stackInlines fs ms
96stackInlines (AttrModifier f attr : fs) ms = f attr $ stackInlines fs ms
95stackInlines (AttrModifier f attr : fs) ms = f attr $ stackInlines fs ms
@@ -102,7 +101,7 @@ unstackInlines ms = case ilModifierAndInnards ms of
102
101
103ilModifierAndInnards :: Inlines -> Maybe (Modifier Inlines, Inlines)
102ilModifierAndInnards :: Inlines -> Maybe (Modifier Inlines, Inlines)
104ilModifierAndInnards ils = case viewl $ unMany ils of
103ilModifierAndInnards ils = case viewl $ unMany ils of
105− x :< xs | Seq.null xs -> second fromList <$> case x of
104+ x :< xs | null xs -> second fromList <$> case x of
106 Emph lst -> Just (Modifier emph, lst)
105 Emph lst -> Just (Modifier emph, lst)
107 Strong lst -> Just (Modifier strong, lst)
106 Strong lst -> Just (Modifier strong, lst)
108 SmallCaps lst -> Just (Modifier smallcaps, lst)
107 SmallCaps lst -> Just (Modifier smallcaps, lst)
@@ -143,12 +142,12 @@ combineSingletonInlines x y =
143 y_rem_attr = filter isAttrModifier y_remaining
142 y_rem_attr = filter isAttrModifier y_remaining
144 in
143 in
145 case null shared of
144 case null shared of
146− True | isEmpty xs && isEmpty ys ->
145+ True | null xs && null ys ->
147 stackInlines (x_rem_attr <> y_rem_attr) mempty
146 stackInlines (x_rem_attr <> y_rem_attr) mempty
148− | isEmpty xs ->
147+ | null xs ->
149 let (sp, y') = spaceOutInlinesL y in
148 let (sp, y') = spaceOutInlinesL y in
150 stackInlines x_rem_attr mempty <> sp <> y'
149 stackInlines x_rem_attr mempty <> sp <> y'
151− | isEmpty ys ->
150+ | null ys ->
152 let (x', sp) = spaceOutInlinesR x in
151 let (x', sp) = spaceOutInlinesR x in
153 x' <> sp <> stackInlines y_rem_attr mempty
152 x' <> sp <> stackInlines y_rem_attr mempty
154 | otherwise ->
153 | otherwise ->
@@ -177,9 +176,6 @@ instance (Monoid a, Eq a) => Eq (Modifier a) where
177 (AttrModifier f attr) == (AttrModifier g attr') = f attr mempty == g attr' mempty
176 (AttrModifier f attr) == (AttrModifier g attr') = f attr mempty == g attr' mempty
178 _ == _ = False
177 _ == _ = False
179
178
180−isEmpty :: (Monoid a, Eq a) => a -> Bool
181−isEmpty x = x == mempty
182−
183isAttrModifier :: Modifier a -> Bool
179isAttrModifier :: Modifier a -> Bool
184isAttrModifier (AttrModifier _ _) = True
180isAttrModifier (AttrModifier _ _) = True
185isAttrModifier _ = False
181isAttrModifier _ = False