git.iko.soy/typeable/pandoc
on master help sign in
Muse reader: simplify museToPandocTable

to get rid of partial functions (head, tail, maximum)

commit5f7eaaf89372be5d2d853546affe3a995e3f18e6 authorAlexander Krotov <ilabdsf@gmail.com> dateWed 24 Oct 2018, 11:21 (8 years ago) parent55068c4
1 file changed+4−6
src/Text/Pandoc/Readers/Muse.hs+4−6
src/Text/Pandoc/Readers/Muse.hs+4−6
@@ -45,7 +45,7 @@ import Control.Monad.Reader
4545import Control.Monad.Except (throwError)
4646import Data.Bifunctor
4747import Data.Default
48−import Data.List (intercalate, transpose)
48+import Data.List (intercalate, transpose, uncons)
4949import Data.List.Split (splitOn)
5050import qualified Data.Map as M
5151import qualified Data.Set as Set
@@ -640,11 +640,9 @@ data MuseTableElement = MuseHeaderRow [Blocks]
640640
641641museToPandocTable :: MuseTable -> Blocks
642642museToPandocTable (MuseTable caption headers body footers) =
643− B.table caption attrs headRow rows
644− where ncol = maximum (0 : map length (headers ++ body ++ footers))
645− attrs = replicate ncol (AlignDefault, 0.0)
646− headRow = if null headers then [] else head headers
647− rows = (if null headers then [] else tail headers) ++ body ++ footers
643+ B.table caption attrs headRow (rows ++ body ++ footers)
644+ where attrs = const (AlignDefault, 0.0) <$> transpose (headers ++ body ++ footers)
645+ (headRow, rows) = fromMaybe ([], []) $ uncons headers
648646
649647museAppendElement :: MuseTableElement
650648 -> MuseTable