-- 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.1.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 Range rangeStart :: Range -> Position rangeEnd :: Range -> Position mkRange :: Position -> Position -> Maybe Range rangeToTuple :: Range -> (Position, Position) rangeToTuples :: Range -> ((Line, Column), (Line, Column)) lineIntersectsWithRange :: Line -> Range -> Bool data Ranges rangesToList :: Ranges -> [Range] data RangesError EmptyRanges :: RangesError Overlap :: Range -> Range -> RangesError mkRanges :: [Range] -> Either RangesError Ranges data LineRange lineRangeLine :: LineRange -> Line lineRangeStart :: LineRange -> Column lineRangeEnd :: LineRange -> Maybe Column mkLineRange :: Line -> Column -> Maybe Column -> Maybe LineRange splitRanges :: Ranges -> HashMap Line [LineRange] instance GHC.Show.Show Text.Pandoc.Filter.EmphasizeCode.Range.LineRange instance GHC.Classes.Eq Text.Pandoc.Filter.EmphasizeCode.Range.LineRange 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 module Text.Pandoc.Filter.EmphasizeCode.Parser type Parser a = ExceptT ParseError Maybe a data ParseError InvalidRange :: Position -> Position -> ParseError InvalidRanges :: RangesError -> ParseError InvalidRangeFormat :: Text -> ParseError InvalidPosition :: Line -> Column -> ParseError InvalidPositionFormat :: Text -> ParseError InvalidLineNumber :: Text -> ParseError InvalidColumnNumber :: Text -> ParseError parseRanges :: Text -> Parser Ranges runParser :: Parser a -> Maybe (Either 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 module Text.Pandoc.Filter.EmphasizeCode.Chunking data LineChunk Literal :: Text -> LineChunk Emphasized :: Text -> LineChunk type EmphasizedLine = [LineChunk] type EmphasizedLines = [EmphasizedLine] emphasizeRanges :: HashMap Line [LineRange] -> 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 -- | A Pandoc filter that emphasizes code blocks. emphasizeCode :: Maybe Format -> Block -> IO Block