-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Pandoc filter for emphasizing code in fenced blocks -- -- A Pandoc filter for emphasizing sections of code in fenced blocks. @package pandoc-emphasize-code @version 0.3.0 -- | A position that cannot be constructed with incorrect bounds. module Text.Pandoc.Filter.EmphasizeCode.Position newtype Line Line :: Word -> Line newtype Column Column :: Word -> Column data Position line :: Position -> Line column :: Position -> Column mkPosition :: Line -> Column -> Maybe Position positionToTuple :: Position -> (Line, Column) instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Position.Position instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Position.Position instance Data.Hashable.Class.Hashable Text.Pandoc.Filter.EmphasizeCode.Position.Column instance GHC.Real.Integral Text.Pandoc.Filter.EmphasizeCode.Position.Column instance GHC.Real.Real Text.Pandoc.Filter.EmphasizeCode.Position.Column instance GHC.Enum.Enum Text.Pandoc.Filter.EmphasizeCode.Position.Column instance GHC.Num.Num Text.Pandoc.Filter.EmphasizeCode.Position.Column instance GHC.Classes.Ord Text.Pandoc.Filter.EmphasizeCode.Position.Column instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Position.Column instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Position.Column instance Data.Hashable.Class.Hashable Text.Pandoc.Filter.EmphasizeCode.Position.Line instance GHC.Real.Integral Text.Pandoc.Filter.EmphasizeCode.Position.Line instance GHC.Real.Real Text.Pandoc.Filter.EmphasizeCode.Position.Line instance GHC.Enum.Enum Text.Pandoc.Filter.EmphasizeCode.Position.Line instance GHC.Num.Num Text.Pandoc.Filter.EmphasizeCode.Position.Line instance GHC.Classes.Ord Text.Pandoc.Filter.EmphasizeCode.Position.Line instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Position.Line instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Position.Line instance GHC.Classes.Ord Text.Pandoc.Filter.EmphasizeCode.Position.Position -- | Ranges that cannot be constructed with incorrect bounds. module Text.Pandoc.Filter.EmphasizeCode.Range data PosRange mkPosRange :: Position -> Position -> Maybe PosRange posRangeStart :: PosRange -> Position posRangeEnd :: PosRange -> Position posRangeToTuple :: PosRange -> (Position, Position) data LineRange mkLineRange :: Line -> Line -> Maybe LineRange lineRangeStart :: LineRange -> Line lineRangeEnd :: LineRange -> Line lineRangeToTuple :: LineRange -> (Line, Line) data Range PR :: PosRange -> Range LR :: LineRange -> Range rangeToTuples :: Range -> ((Line, Maybe Column), (Line, Maybe Column)) disjoint :: Ord a => a -> a -> a -> a -> Bool data Ranges rangesToList :: Ranges -> [Range] data RangesError EmptyRanges :: RangesError Overlap :: Range -> Range -> RangesError mkRanges :: [Range] -> Either RangesError Ranges data EmphasisStyle Inline :: EmphasisStyle Block :: EmphasisStyle data SingleLineRange singleLineRangeLine :: SingleLineRange -> Line singleLineRangeStart :: SingleLineRange -> Column singleLineRangeEnd :: SingleLineRange -> Maybe Column singleLineRangeStyle :: SingleLineRange -> EmphasisStyle mkSingleLineRangeInline :: Line -> Column -> Maybe Column -> Maybe SingleLineRange splitRanges :: Ranges -> HashMap Line [SingleLineRange] instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Range.SingleLineRange instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Range.SingleLineRange instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Range.EmphasisStyle instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Range.EmphasisStyle instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Range.RangesError instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Range.RangesError instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Range.Ranges instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Range.Ranges instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Range.Range instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Range.Range instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Range.LineRange instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Range.LineRange instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Range.PosRange instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Range.PosRange module Text.Pandoc.Filter.EmphasizeCode.Parser type Parser a = ExceptT (NonEmpty ParseError) Maybe a data ParseError InvalidPosRange :: Position -> Position -> ParseError InvalidLineRange :: Line -> Line -> ParseError InvalidRanges :: RangesError -> ParseError InvalidPosRangeFormat :: Text -> ParseError InvalidLineRangeFormat :: Text -> ParseError InvalidPosition :: Line -> Column -> ParseError InvalidPositionFormat :: Text -> ParseError InvalidLineNumber :: Text -> ParseError InvalidColumnNumber :: Text -> ParseError parseRange :: Text -> Parser Range parseRanges :: Text -> Parser Ranges runParser :: Parser a -> Maybe (Either (NonEmpty ParseError) a) instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Parser.ParseError instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Parser.ParseError module Text.Pandoc.Filter.EmphasizeCode.Pretty printLine :: Line -> Text printColumn :: Column -> Text printPosition :: Position -> Text printRange :: Range -> Text printRangesError :: RangesError -> Text printParseError :: ParseError -> Text printParseErrors :: (Functor t, Foldable t) => t ParseError -> Text module Text.Pandoc.Filter.EmphasizeCode.Chunking data LineChunk Literal :: Text -> LineChunk Emphasized :: EmphasisStyle -> Text -> LineChunk type EmphasizedLine = [LineChunk] type EmphasizedLines = [EmphasizedLine] emphasizeRanges :: HashMap Line [SingleLineRange] -> Text -> EmphasizedLines instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Chunking.LineChunk instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Chunking.LineChunk module Text.Pandoc.Filter.EmphasizeCode.Renderable class Renderable r renderEmphasized :: Renderable r => r -> Attr -> EmphasizedLines -> Block module Text.Pandoc.Filter.EmphasizeCode.Latex data Latex Latex :: Latex instance Text.Pandoc.Filter.EmphasizeCode.Renderable.Renderable Text.Pandoc.Filter.EmphasizeCode.Latex.Latex module Text.Pandoc.Filter.EmphasizeCode.Html data EmphasisTag Em :: EmphasisTag Mark :: EmphasisTag newtype Html Html :: EmphasisTag -> Html instance Text.Pandoc.Filter.EmphasizeCode.Renderable.Renderable Text.Pandoc.Filter.EmphasizeCode.Html.Html module Text.Pandoc.Filter.EmphasizeCode -- | A Pandoc filter that emphasizes code blocks. emphasizeCode :: Maybe Format -> Block -> IO Block