commonmark-0.2.6.1: Pure Haskell commonmark parser.
Safe HaskellNone
LanguageHaskell2010

Commonmark.Inlines

Synopsis

Documentation

defaultInlineParser :: forall (m :: Type -> Type) a. (Monad m, IsInline a) => InlineParser m a #

data IPState (m :: Type -> Type) #

type InlineParser (m :: Type -> Type) = ParsecT [Tok] (IPState m) (StateT Enders m) #

Specifies delimiters for formatting, e.g. strong emphasis.

data FormattingSpec il #

Constructors

FormattingSpec 

Fields

Instances

Instances details
Show (FormattingSpec il) # 
Instance details

Defined in Commonmark.Inlines

data BracketedSpec il #

Constructors

BracketedSpec 

Fields

Instances

Instances details
Show (BracketedSpec il) # 
Instance details

Defined in Commonmark.Inlines

data LinkInfo #

Constructors

LinkInfo 

Fields

Instances

Instances details
Show LinkInfo # 
Instance details

Defined in Commonmark.ReferenceMap

pLinkLabel :: forall (m :: Type -> Type) s. Monad m => ParsecT [Tok] s m Text #

pLinkDestination :: forall (m :: Type -> Type) s. Monad m => ParsecT [Tok] s m [Tok] #

pLinkTitle :: forall (m :: Type -> Type) s. Monad m => ParsecT [Tok] s m [Tok] #

pEscaped :: forall (m :: Type -> Type) s. Monad m => ParsecT [Tok] s m Tok #

pEscapedSymbol :: forall (m :: Type -> Type) s. Monad m => ParsecT [Tok] s m Tok #

processEmphasis :: IsInline a => [Chunk a] -> [Chunk a] #

processBrackets :: IsInline a => [BracketedSpec a] -> ReferenceMap -> [Chunk a] -> Map Text SourcePos -> Either (DState a) [Chunk a] #

Process square brackets: links, images, and the span extension.

DState tracks the current position and backtracking limits.

If this function succeeds, returning Right, it will return a list of chunks, now annotated with bracket information.

If this function fails, it will return `Left DState`. This can happen if a chunk straddles a link destination, like this

link text looks like code` ^-----------------^

To recover, the caller must re-Chunk everything after the end paren. The bottoms parameter, in particular, is DState's stackBottoms, and is used to prevent things before the paren from being re-parsed.

pBacktickSpan :: forall (m :: Type -> Type). Monad m => Tok -> InlineParser m (Either [Tok] [Tok]) #

withAttributes :: forall a (m :: Type -> Type). (IsInline a, Monad m) => InlineParser m a -> InlineParser m a #