@@ -932,20 +932,20 @@ widthsFromIndices numColumns' indices =
932-- (which may be grid), then the rows,
932-- (which may be grid), then the rows,
933-- which may be grid, separated by blank lines, and
933-- which may be grid, separated by blank lines, and
934-- ending with a footer (dashed line followed by blank line).
934-- ending with a footer (dashed line followed by blank line).
935−gridTableWith :: (Monad m, HasReaderOptions st,
935+gridTableWith :: (Monad m, HasReaderOptions st, Stream s m Char,
936− Functor mf, Applicative mf, Monad mf)
936+ Functor mf, Applicative mf, Monad mf, IsString s)
937− => ParserT [Char] st m (mf Blocks) -- ^ Block list parser
937+ => ParserT s st m (mf Blocks) -- ^ Block list parser
938− -> Bool -- ^ Headerless table
938+ -> Bool -- ^ Headerless table
939− -> ParserT [Char] st m (mf Blocks)
939+ -> ParserT s st m (mf Blocks)
940gridTableWith blocks headless =
940gridTableWith blocks headless =
941 tableWith (gridTableHeader headless blocks) (gridTableRow blocks)
941 tableWith (gridTableHeader headless blocks) (gridTableRow blocks)
942 (gridTableSep '-') gridTableFooter
942 (gridTableSep '-') gridTableFooter
944−gridTableWith' :: (Monad m, HasReaderOptions st,
944+gridTableWith' :: (Monad m, HasReaderOptions st, Stream s m Char,
945− Functor mf, Applicative mf, Monad mf)
945+ Functor mf, Applicative mf, Monad mf, IsString s)
946− => ParserT [Char] st m (mf Blocks) -- ^ Block list parser
946+ => ParserT s st m (mf Blocks) -- ^ Block list parser
947− -> Bool -- ^ Headerless table
947+ -> Bool -- ^ Headerless table
948− -> ParserT [Char] st m (TableComponents mf)
948+ -> ParserT s st m (TableComponents mf)
949gridTableWith' blocks headless =
949gridTableWith' blocks headless =
950 tableWith' (gridTableHeader headless blocks) (gridTableRow blocks)
950 tableWith' (gridTableHeader headless blocks) (gridTableRow blocks)
951 (gridTableSep '-') gridTableFooter
951 (gridTableSep '-') gridTableFooter
@@ -981,10 +981,11 @@ gridTableSep :: Stream s m Char => Char -> ParserT s st m Char
981gridTableSep ch = try $ gridDashedLines ch >> return '\n'
981gridTableSep ch = try $ gridDashedLines ch >> return '\n'
983-- | Parse header for a grid table.
983-- | Parse header for a grid table.
984−gridTableHeader :: (Monad m, Functor mf, Applicative mf, Monad mf)
984+gridTableHeader :: (Monad m, Functor mf, Applicative mf, Monad mf,
985+ Stream s m Char, IsString s)
985 => Bool -- ^ Headerless table
986 => Bool -- ^ Headerless table
986− -> ParserT [Char] st m (mf Blocks)
987+ -> ParserT s st m (mf Blocks)
987− -> ParserT [Char] st m (mf [Blocks], [Alignment], [Int])
988+ -> ParserT s st m (mf [Blocks], [Alignment], [Int])
988gridTableHeader headless blocks = try $ do
989gridTableHeader headless blocks = try $ do
989 optional blanklines
990 optional blanklines
990 dashes <- gridDashedLines '-'
991 dashes <- gridDashedLines '-'
@@ -1014,10 +1015,11 @@ gridTableRawLine indices = do
1014 return (gridTableSplitLine indices line)
1015 return (gridTableSplitLine indices line)
1016-- | Parse row of grid table.
1017-- | Parse row of grid table.
1017−gridTableRow :: (Monad m, Functor mf, Applicative mf, Monad mf)
1018+gridTableRow :: (Monad m, Functor mf, Applicative mf, Monad mf,
1019+ Stream s m Char, IsString s)
1018− => ParserT [Char] st m (mf Blocks)
1020+ => ParserT s st m (mf Blocks)
1019 -> [Int]
1021 -> [Int]
1020− -> ParserT [Char] st m (mf [Blocks])
1022+ -> ParserT s st m (mf [Blocks])
1021gridTableRow blocks indices = do
1023gridTableRow blocks indices = do
1022 colLines <- many1 (gridTableRawLine indices)
1024 colLines <- many1 (gridTableRawLine indices)
1023 let cols = map ((++ "\n") . unlines . removeOneLeadingSpace) $
1025 let cols = map ((++ "\n") . unlines . removeOneLeadingSpace) $