@@ -71,20 +71,18 @@ data Modifier a = Modifier (a -> a)
72spaceOutInlinesL :: Inlines -> (Inlines, Inlines)
72spaceOutInlinesL :: Inlines -> (Inlines, Inlines)
73spaceOutInlinesL ms = (l, stackInlines fs (m' <> r))
73spaceOutInlinesL ms = (l, stackInlines fs (m' <> r))
74− where (l, m, r) = spaceOutInlines ms
74+ where (l, (fs, m'), r) = spaceOutInlines ms
75− (fs, m') = unstackInlines m
77spaceOutInlinesR :: Inlines -> (Inlines, Inlines)
76spaceOutInlinesR :: Inlines -> (Inlines, Inlines)
78spaceOutInlinesR ms = (stackInlines fs (l <> m'), r)
77spaceOutInlinesR ms = (stackInlines fs (l <> m'), r)
79− where (l, m, r) = spaceOutInlines ms
78+ where (l, (fs, m'), r) = spaceOutInlines ms
80− (fs, m') = unstackInlines m
82−spaceOutInlines :: Inlines -> (Inlines, Inlines, Inlines)
80+spaceOutInlines :: Inlines -> (Inlines, ([Modifier Inlines], Inlines), Inlines)
83spaceOutInlines ils =
81spaceOutInlines ils =
84 let (fs, ils') = unstackInlines ils
82 let (fs, ils') = unstackInlines ils
85 (left, (right, contents')) = second (spanr isSpace) $ spanl isSpace $ unMany ils'
83 (left, (right, contents')) = second (spanr isSpace) $ spanl isSpace $ unMany ils'
86 -- NOTE: spanr counterintuitively returns suffix as the FIRST tuple element
84 -- NOTE: spanr counterintuitively returns suffix as the FIRST tuple element
87− in (Many left, stackInlines fs $ Many contents', Many right)
85+ in (Many left, (fs, Many contents'), Many right)
89isSpace :: Inline -> Bool
87isSpace :: Inline -> Bool
90isSpace Space = True
88isSpace Space = True