pro-abstract-0.1.0.0: Abstract syntax for writing documents
Safe HaskellNone
LanguageHaskell2010

ProAbstract.Classes

Synopsis

Block and inline prisms

class CanBePlain x where Source #

Methods

plain :: Prism' x (Plain x) Source #

Instances

Instances details
CanBePlain (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

plain :: Prism' (Inline ann) (Plain (Inline ann)) Source #

CanBePlain (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

plain :: Prism' (Block ann) (Plain (Block ann)) Source #

CanBePlain (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Methods

plain :: Prism' (BlockTag ann) (Plain (BlockTag ann)) Source #

class CanFork x where Source #

Methods

fork :: Prism' x (Fork x) Source #

Instances

Instances details
CanFork (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

fork :: Prism' (Inline ann) (Fork (Inline ann)) Source #

CanFork (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

fork :: Prism' (Block ann) (Fork (Block ann)) Source #

CanFork (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Methods

fork :: Prism' (BlockTag ann) (Fork (BlockTag ann)) Source #

Plaintext traversals

class HasManyPlainInlines x where Source #

Instances

Instances details
HasManyPlainInlines (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyPlainInlines (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyPlainInlines (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyPlainInlines (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyPlainInlines (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyPlainInlines (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasManyPlainInlines (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyPlainInlines (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyPlainInlines (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

HasManyPlainInlines (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Annotation

class HasAnnotation x x' where Source #

Methods

annotation :: Lens x x' (Annotation x) (Annotation x') Source #

Instances

Instances details
HasAnnotation (Fragment ann) (Fragment ann') Source # 
Instance details

Defined in ProAbstract.Structure.Fragment

Methods

annotation :: Lens (Fragment ann) (Fragment ann') (Annotation (Fragment ann)) (Annotation (Fragment ann')) Source #

HasAnnotation (Tag ann) (Tag ann') Source # 
Instance details

Defined in ProAbstract.Tag.TagType

Methods

annotation :: Lens (Tag ann) (Tag ann') (Annotation (Tag ann)) (Annotation (Tag ann')) Source #

HasAnnotation (Tagged (PlainBlock ann)) (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasAnnotation (Tagged (Lines ann)) (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

annotation :: Lens (Tagged (Lines ann)) (Tagged (Lines ann)) (Annotation (Tagged (Lines ann))) (Annotation (Tagged (Lines ann))) Source #

HasAnnotation (Tagged (Blocks ann)) (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasAnnotation (PlainBlock ann) (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasAnnotation (Line ann) (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

annotation :: Lens (Line ann) (Line ann) (Annotation (Line ann)) (Annotation (Line ann)) Source #

HasAnnotation (Inline ann) (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

annotation :: Lens (Inline ann) (Inline ann) (Annotation (Inline ann)) (Annotation (Inline ann)) Source #

HasAnnotation (Paragraph ann) (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasAnnotation (Block ann) (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

annotation :: Lens (Block ann) (Block ann) (Annotation (Block ann)) (Annotation (Block ann)) Source #

HasAnnotation (BlockTag ann) (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

class HasManyAnnotations x x' where Source #

Instances

Instances details
HasManyAnnotations (Tagged (PlainBlock ann)) (Tagged (PlainBlock ann')) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasManyAnnotations (Tagged (Lines ann)) (Tagged (Lines ann')) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyAnnotations (Tagged (Blocks ann)) (Tagged (Blocks ann')) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyAnnotations (PlainBlock ann) (PlainBlock ann') Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasManyAnnotations (Lines ann) (Lines ann') Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

allAnnotations :: Traversal (Lines ann) (Lines ann') (Annotation (Lines ann)) (Annotation (Lines ann')) Source #

HasManyAnnotations (Line ann) (Line ann') Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

allAnnotations :: Traversal (Line ann) (Line ann') (Annotation (Line ann)) (Annotation (Line ann')) Source #

HasManyAnnotations (Inline ann) (Inline ann') Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyAnnotations (Paragraph ann) (Paragraph ann') Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasManyAnnotations (Blocks ann) (Blocks ann') Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyAnnotations (Block ann) (Block ann') Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

allAnnotations :: Traversal (Block ann) (Block ann') (Annotation (Block ann)) (Annotation (Block ann')) Source #

HasManyAnnotations (Document ann) (Document ann') Source # 
Instance details

Defined in ProAbstract.Structure.Document

HasManyAnnotations (BlockTag ann) (BlockTag ann') Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Content

class HasContent x x' where Source #

Methods

content :: Lens x x' (Content x) (Content x') Source #

Instances

Instances details
HasContent (Fragment ann) (Fragment ann) Source # 
Instance details

Defined in ProAbstract.Structure.Fragment

Methods

content :: Lens (Fragment ann) (Fragment ann) (Content (Fragment ann)) (Content (Fragment ann)) Source #

HasContent (Tagged (PlainBlock ann)) (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasContent (Tagged (Lines ann)) (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

content :: Lens (Tagged (Lines ann)) (Tagged (Lines ann)) (Content (Tagged (Lines ann))) (Content (Tagged (Lines ann))) Source #

HasContent (Tagged (Blocks ann)) (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

content :: Lens (Tagged (Blocks ann)) (Tagged (Blocks ann)) (Content (Tagged (Blocks ann))) (Content (Tagged (Blocks ann))) Source #

HasContent (Paragraph ann) (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

Methods

content :: Lens (Paragraph ann) (Paragraph ann) (Content (Paragraph ann)) (Content (Paragraph ann)) Source #

HasContent (Document ann) (Document ann') Source # 
Instance details

Defined in ProAbstract.Structure.Document

Methods

content :: Lens (Document ann) (Document ann') (Content (Document ann)) (Content (Document ann')) Source #

class HasContents x x' where Source #

Methods

contents :: Lens x x' (Seq (Contents x)) (Seq (Contents x')) Source #

Instances

Instances details
HasContents (Tagged (PlainBlock ann)) (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasContents (Tagged (Lines ann)) (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

contents :: Lens (Tagged (Lines ann)) (Tagged (Lines ann)) (Seq (Contents (Tagged (Lines ann)))) (Seq (Contents (Tagged (Lines ann)))) Source #

HasContents (Tagged (Blocks ann)) (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

contents :: Lens (Tagged (Blocks ann)) (Tagged (Blocks ann)) (Seq (Contents (Tagged (Blocks ann)))) (Seq (Contents (Tagged (Blocks ann)))) Source #

HasContents (PlainBlock ann) (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

HasContents (Lines ann) (Lines ann') Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

contents :: Lens (Lines ann) (Lines ann') (Seq (Contents (Lines ann))) (Seq (Contents (Lines ann'))) Source #

HasContents (Line ann) (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

contents :: Lens (Line ann) (Line ann) (Seq (Contents (Line ann))) (Seq (Contents (Line ann))) Source #

HasContents (Paragraph ann) (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

Methods

contents :: Lens (Paragraph ann) (Paragraph ann) (Seq (Contents (Paragraph ann))) (Seq (Contents (Paragraph ann))) Source #

HasContents (Blocks ann) (Blocks ann') Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

contents :: Lens (Blocks ann) (Blocks ann') (Seq (Contents (Blocks ann))) (Seq (Contents (Blocks ann'))) Source #

HasContents (Document ann) (Document ann') Source # 
Instance details

Defined in ProAbstract.Structure.Document

Methods

contents :: Lens (Document ann) (Document ann') (Seq (Contents (Document ann))) (Seq (Contents (Document ann'))) Source #

Metadata

class HasMetadata x where Source #

Associated Types

type MetadataOpticKind x Source #

Instances

Instances details
HasMetadata Metadata Source # 
Instance details

Defined in ProAbstract.Metadata.HasMetadata

Associated Types

type MetadataOpticKind Metadata Source #

HasMetadata (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.TagType

Associated Types

type MetadataOpticKind (Tag ann) Source #

HasMetadata (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Associated Types

type MetadataOpticKind (Tagged (PlainBlock ann)) Source #

HasMetadata (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type MetadataOpticKind (Tagged (Lines ann)) Source #

HasMetadata (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type MetadataOpticKind (Tagged (Blocks ann)) Source #

HasMetadata (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type MetadataOpticKind (Inline ann) Source #

HasMetadata (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type MetadataOpticKind (Block ann) Source #

HasMetadata (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Associated Types

type MetadataOpticKind (Document ann) Source #

HasMetadata (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Associated Types

type MetadataOpticKind (BlockTag ann) Source #

class HasManyMetadata x where Source #

Instances

Instances details
HasManyMetadata (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyMetadata (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyMetadata (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyMetadata (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyMetadata (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyMetadata (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasManyMetadata (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyMetadata (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyMetadata (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

HasManyMetadata (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Tags

class HasTag x where Source #

Associated Types

type TagOpticKind x :: OpticKind Source #

Instances

Instances details
HasTag (Tag ann) Source # 
Instance details

Defined in ProAbstract.Tag.HasTag

Associated Types

type TagOpticKind (Tag ann) Source #

Methods

tag :: Optic' (TagOpticKind (Tag ann)) NoIx (Tag ann) (Tag (Annotation (Tag ann))) Source #

HasTag (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Structure.PlainBlock

Associated Types

type TagOpticKind (Tagged (PlainBlock ann)) Source #

HasTag (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type TagOpticKind (Tagged (Lines ann)) Source #

Methods

tag :: Optic' (TagOpticKind (Tagged (Lines ann))) NoIx (Tagged (Lines ann)) (Tag (Annotation (Tagged (Lines ann)))) Source #

HasTag (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type TagOpticKind (Tagged (Blocks ann)) Source #

HasTag (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Associated Types

type TagOpticKind (Inline ann) Source #

Methods

tag :: Optic' (TagOpticKind (Inline ann)) NoIx (Inline ann) (Tag (Annotation (Inline ann))) Source #

HasTag (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Associated Types

type TagOpticKind (Block ann) Source #

Methods

tag :: Optic' (TagOpticKind (Block ann)) NoIx (Block ann) (Tag (Annotation (Block ann))) Source #

HasTag (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

Associated Types

type TagOpticKind (BlockTag ann) Source #

Traversal

class HasManyTags x where Source #

Instances

Instances details
HasManyTags (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyTags (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyTags (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyTags (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyTags (Inline ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

HasManyTags (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasManyTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyTags (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

HasManyTags (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Structure.BlockTag

class HasManyTags x => HasManyBlockTags x where Source #

Instances

Instances details
HasManyBlockTags (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyBlockTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyBlockTags (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

HasManyBlockTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Withering

class HasWitherableTags x where Source #

Minimal complete definition

witherTags

Methods

witherTags :: Monad f => (Tag (Annotation x) -> f (Maybe (Tag (Annotation x)))) -> x -> f x Source #

mapMaybeTags :: (Tag (Annotation x) -> Maybe (Tag (Annotation x))) -> x -> x Source #

Instances

Instances details
HasWitherableTags (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherTags :: Monad f => (Tag (Annotation (Lines ann)) -> f (Maybe (Tag (Annotation (Lines ann))))) -> Lines ann -> f (Lines ann) Source #

mapMaybeTags :: (Tag (Annotation (Lines ann)) -> Maybe (Tag (Annotation (Lines ann)))) -> Lines ann -> Lines ann Source #

HasWitherableTags (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherTags :: Monad f => (Tag (Annotation (Line ann)) -> f (Maybe (Tag (Annotation (Line ann))))) -> Line ann -> f (Line ann) Source #

mapMaybeTags :: (Tag (Annotation (Line ann)) -> Maybe (Tag (Annotation (Line ann)))) -> Line ann -> Line ann Source #

HasWitherableTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherTags :: Monad f => (Tag (Annotation (Blocks ann)) -> f (Maybe (Tag (Annotation (Blocks ann))))) -> Blocks ann -> f (Blocks ann) Source #

mapMaybeTags :: (Tag (Annotation (Blocks ann)) -> Maybe (Tag (Annotation (Blocks ann)))) -> Blocks ann -> Blocks ann Source #

HasWitherableTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Methods

witherTags :: Monad f => (Tag (Annotation (Document ann)) -> f (Maybe (Tag (Annotation (Document ann))))) -> Document ann -> f (Document ann) Source #

mapMaybeTags :: (Tag (Annotation (Document ann)) -> Maybe (Tag (Annotation (Document ann)))) -> Document ann -> Document ann Source #

class HasManyTags x => HasWitherableInlineTags x where Source #

Minimal complete definition

witherInlineTags

Methods

witherInlineTags :: Monad f => (Tag (Annotation x) -> f (Maybe (Tag (Annotation x)))) -> x -> f x Source #

mapMaybeInlineTags :: (Tag (Annotation x) -> Maybe (Tag (Annotation x))) -> x -> x Source #

Instances

Instances details
HasWitherableInlineTags (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Tagged (Lines ann))) -> f (Maybe (Tag (Annotation (Tagged (Lines ann)))))) -> Tagged (Lines ann) -> f (Tagged (Lines ann)) Source #

mapMaybeInlineTags :: (Tag (Annotation (Tagged (Lines ann))) -> Maybe (Tag (Annotation (Tagged (Lines ann))))) -> Tagged (Lines ann) -> Tagged (Lines ann) Source #

HasWitherableInlineTags (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Tagged (Blocks ann))) -> f (Maybe (Tag (Annotation (Tagged (Blocks ann)))))) -> Tagged (Blocks ann) -> f (Tagged (Blocks ann)) Source #

mapMaybeInlineTags :: (Tag (Annotation (Tagged (Blocks ann))) -> Maybe (Tag (Annotation (Tagged (Blocks ann))))) -> Tagged (Blocks ann) -> Tagged (Blocks ann) Source #

HasWitherableInlineTags (Lines ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Lines ann)) -> f (Maybe (Tag (Annotation (Lines ann))))) -> Lines ann -> f (Lines ann) Source #

mapMaybeInlineTags :: (Tag (Annotation (Lines ann)) -> Maybe (Tag (Annotation (Lines ann)))) -> Lines ann -> Lines ann Source #

HasWitherableInlineTags (Line ann) Source # 
Instance details

Defined in ProAbstract.Structure.Inline

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Line ann)) -> f (Maybe (Tag (Annotation (Line ann))))) -> Line ann -> f (Line ann) Source #

mapMaybeInlineTags :: (Tag (Annotation (Line ann)) -> Maybe (Tag (Annotation (Line ann)))) -> Line ann -> Line ann Source #

HasWitherableInlineTags (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Structure.Paragraph

HasWitherableInlineTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Blocks ann)) -> f (Maybe (Tag (Annotation (Blocks ann))))) -> Blocks ann -> f (Blocks ann) Source #

mapMaybeInlineTags :: (Tag (Annotation (Blocks ann)) -> Maybe (Tag (Annotation (Blocks ann)))) -> Blocks ann -> Blocks ann Source #

HasWitherableInlineTags (Block ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Block ann)) -> f (Maybe (Tag (Annotation (Block ann))))) -> Block ann -> f (Block ann) Source #

mapMaybeInlineTags :: (Tag (Annotation (Block ann)) -> Maybe (Tag (Annotation (Block ann)))) -> Block ann -> Block ann Source #

HasWitherableInlineTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Methods

witherInlineTags :: Monad f => (Tag (Annotation (Document ann)) -> f (Maybe (Tag (Annotation (Document ann))))) -> Document ann -> f (Document ann) Source #

mapMaybeInlineTags :: (Tag (Annotation (Document ann)) -> Maybe (Tag (Annotation (Document ann)))) -> Document ann -> Document ann Source #

class HasManyBlockTags x => HasWitherableBlockTags x where Source #

Minimal complete definition

witherBlockTags

Methods

witherBlockTags :: Monad f => (Tag (Annotation x) -> f (Maybe (Tag (Annotation x)))) -> x -> f x Source #

mapMaybeBlockTags :: (Tag (Annotation x) -> Maybe (Tag (Annotation x))) -> x -> x Source #

Instances

Instances details
HasWitherableBlockTags (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Structure.Block

Methods

witherBlockTags :: Monad f => (Tag (Annotation (Blocks ann)) -> f (Maybe (Tag (Annotation (Blocks ann))))) -> Blocks ann -> f (Blocks ann) Source #

mapMaybeBlockTags :: (Tag (Annotation (Blocks ann)) -> Maybe (Tag (Annotation (Blocks ann)))) -> Blocks ann -> Blocks ann Source #

HasWitherableBlockTags (Document ann) Source # 
Instance details

Defined in ProAbstract.Structure.Document

Methods

witherBlockTags :: Monad f => (Tag (Annotation (Document ann)) -> f (Maybe (Tag (Annotation (Document ann))))) -> Document ann -> f (Document ann) Source #

mapMaybeBlockTags :: (Tag (Annotation (Document ann)) -> Maybe (Tag (Annotation (Document ann)))) -> Document ann -> Document ann Source #

Paragraphs

Getting text from tagless content

class CanBeTagless a where Source #

Methods

tagless :: KindOfText txt -> AffineFold a txt Source #

Instances

Instances details
CanBeTagless (Fragment ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Fragment ann) txt Source #

CanBeTagless (PlainBlock ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (PlainBlock ann) txt Source #

CanBeTagless (Lines ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Lines ann) txt Source #

CanBeTagless (Line ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Line ann) txt Source #

CanBeTagless (Inline ann) Source #

Only a plain inline is considered to be plain text, because fork inlines have a tags.

Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Inline ann) txt Source #

CanBeTagless (Paragraph ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Paragraph ann) txt Source #

CanBeTagless (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Blocks ann) txt Source #

CanBeTagless (Block ann) Source #

Only a paragraph inline is considered to be plain text, because fork and plain blocks have tags.

Instance details

Defined in ProAbstract.Tagless.CanBeTagless

Methods

tagless :: KindOfText txt -> AffineFold (Block ann) txt Source #

class CanHaveTaglessContent a where Source #

Instances

Instances details
CanHaveTaglessContent (Fragment ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Tagged (PlainBlock ann)) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Tagged (Lines ann)) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Tagged (Blocks ann)) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Lines ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Line ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Inline ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Blocks ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Block ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (Document ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent

CanHaveTaglessContent (BlockTag ann) Source # 
Instance details

Defined in ProAbstract.Tagless.CanHaveTaglessContent