pandoc-3.6.3: Conversion between markup formats
CopyrightCopyright (C) 2021-2024 John MacFarlane
LicenseGNU GPL, version 2 or above
MaintainerJohn MacFarlane <jgm@berkeley.edu>
Stabilityalpha
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Text.Pandoc.Sources

Description

Defines Sources object to be used as input to pandoc parsers and redefines Char parsers so they get source position information from it.

Synopsis

Documentation

newtype Sources #

A list of inputs labeled with source positions. It is assumed that the Texts have n line endings.

Constructors

Sources 

Fields

Instances

Instances details
Monoid Sources # 
Instance details

Defined in Text.Pandoc.Sources

Semigroup Sources # 
Instance details

Defined in Text.Pandoc.Sources

IsString Sources # 
Instance details

Defined in Text.Pandoc.Sources

Methods

fromString :: String -> Sources #

Show Sources # 
Instance details

Defined in Text.Pandoc.Sources

ToSources Sources # 
Instance details

Defined in Text.Pandoc.Sources

Methods

toSources :: Sources -> Sources #

UpdateSourcePos Sources Char # 
Instance details

Defined in Text.Pandoc.Sources

Monad m => Stream Sources m Char # 
Instance details

Defined in Text.Pandoc.Sources

Methods

uncons :: Sources -> m (Maybe (Char, Sources)) #

class ToSources a where #

Methods

toSources :: a -> Sources #

Instances

Instances details
ToSources Sources # 
Instance details

Defined in Text.Pandoc.Sources

Methods

toSources :: Sources -> Sources #

ToSources Text # 
Instance details

Defined in Text.Pandoc.Sources

Methods

toSources :: Text -> Sources #

ToSources [(FilePath, Text)] # 
Instance details

Defined in Text.Pandoc.Sources

Methods

toSources :: [(FilePath, Text)] -> Sources #

class UpdateSourcePos s c where #

Methods

updateSourcePos :: SourcePos -> c -> s -> SourcePos #

Instances

Instances details
UpdateSourcePos ByteString Char # 
Instance details

Defined in Text.Pandoc.Sources

UpdateSourcePos ByteString Char # 
Instance details

Defined in Text.Pandoc.Sources

UpdateSourcePos Sources Char # 
Instance details

Defined in Text.Pandoc.Sources

UpdateSourcePos Text Char # 
Instance details

Defined in Text.Pandoc.Sources

UpdateSourcePos [Char] Char # 
Instance details

Defined in Text.Pandoc.Sources

initialSourceName :: Sources -> FilePath #

Get name of first source in Sources.

addToSources :: forall (m :: Type -> Type) u. Monad m => SourcePos -> Text -> ParsecT Sources u m () #

ensureFinalNewlines #

Arguments

:: Int

number of trailing newlines

-> Sources 
-> Sources 

addToInput :: forall (m :: Type -> Type) u. Monad m => Text -> ParsecT Sources u m () #

Add some text to the beginning of the input sources. This simplifies code that expands macros.

satisfy :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => (Char -> Bool) -> ParsecT s u m Char #

oneOf :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => [Char] -> ParsecT s u m Char #

noneOf :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => [Char] -> ParsecT s u m Char #

anyChar :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => ParsecT s u m Char #

char :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => Char -> ParsecT s u m Char #

string :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => [Char] -> ParsecT s u m [Char] #

newline :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => ParsecT s u m Char #

space :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => ParsecT s u m Char #

spaces :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => ParsecT s u m () #

letter :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => ParsecT s u m Char #

digit :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => ParsecT s u m Char #

hexDigit :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => ParsecT s u m Char #

alphaNum :: forall (m :: Type -> Type) s u. (Monad m, Stream s m Char, UpdateSourcePos s Char) => ParsecT s u m Char #