libyaml-0.1.4: Low-level, streaming YAML interface.
Safe HaskellNone
LanguageHaskell2010

Text.Libyaml

Description

Low-level, streaming YAML interface. For a higher-level interface, see Data.Yaml.

Synopsis

The event stream

data MarkedEvent Source #

Event with start and end marks.

Since: 0.10.4.0

data Event Source #

Instances

Instances details
Show Event Source # 
Instance details

Defined in Text.Libyaml

Methods

showsPrec :: Int -> Event -> ShowS

show :: Event -> String

showList :: [Event] -> ShowS

Eq Event Source # 
Instance details

Defined in Text.Libyaml

Methods

(==) :: Event -> Event -> Bool

(/=) :: Event -> Event -> Bool

data Style Source #

Style for scalars - e.g. quoted / folded

Instances

Instances details
Data Style Source # 
Instance details

Defined in Text.Libyaml

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Style -> c Style

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Style

toConstr :: Style -> Constr

dataTypeOf :: Style -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Style)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Style)

gmapT :: (forall b. Data b => b -> b) -> Style -> Style

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Style -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Style -> r

gmapQ :: (forall d. Data d => d -> u) -> Style -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Style -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Style -> m Style

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Style -> m Style

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Style -> m Style

Bounded Style Source # 
Instance details

Defined in Text.Libyaml

Enum Style Source # 
Instance details

Defined in Text.Libyaml

Read Style Source # 
Instance details

Defined in Text.Libyaml

Methods

readsPrec :: Int -> ReadS Style

readList :: ReadS [Style]

readPrec :: ReadPrec Style

readListPrec :: ReadPrec [Style]

Show Style Source # 
Instance details

Defined in Text.Libyaml

Methods

showsPrec :: Int -> Style -> ShowS

show :: Style -> String

showList :: [Style] -> ShowS

Eq Style Source # 
Instance details

Defined in Text.Libyaml

Methods

(==) :: Style -> Style -> Bool

(/=) :: Style -> Style -> Bool

Ord Style Source # 
Instance details

Defined in Text.Libyaml

Methods

compare :: Style -> Style -> Ordering

(<) :: Style -> Style -> Bool

(<=) :: Style -> Style -> Bool

(>) :: Style -> Style -> Bool

(>=) :: Style -> Style -> Bool

max :: Style -> Style -> Style

min :: Style -> Style -> Style

data SequenceStyle Source #

Style for sequences - e.g. block or flow

Since: 0.9.0

Instances

Instances details
Data SequenceStyle Source # 
Instance details

Defined in Text.Libyaml

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SequenceStyle -> c SequenceStyle

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SequenceStyle

toConstr :: SequenceStyle -> Constr

dataTypeOf :: SequenceStyle -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SequenceStyle)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SequenceStyle)

gmapT :: (forall b. Data b => b -> b) -> SequenceStyle -> SequenceStyle

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SequenceStyle -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SequenceStyle -> r

gmapQ :: (forall d. Data d => d -> u) -> SequenceStyle -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> SequenceStyle -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SequenceStyle -> m SequenceStyle

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SequenceStyle -> m SequenceStyle

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SequenceStyle -> m SequenceStyle

Bounded SequenceStyle Source # 
Instance details

Defined in Text.Libyaml

Enum SequenceStyle Source # 
Instance details

Defined in Text.Libyaml

Show SequenceStyle Source # 
Instance details

Defined in Text.Libyaml

Methods

showsPrec :: Int -> SequenceStyle -> ShowS

show :: SequenceStyle -> String

showList :: [SequenceStyle] -> ShowS

Eq SequenceStyle Source # 
Instance details

Defined in Text.Libyaml

Ord SequenceStyle Source # 
Instance details

Defined in Text.Libyaml

data MappingStyle Source #

Style for mappings - e.g. block or flow

Since: 0.9.0

Instances

Instances details
Data MappingStyle Source # 
Instance details

Defined in Text.Libyaml

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MappingStyle -> c MappingStyle

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MappingStyle

toConstr :: MappingStyle -> Constr

dataTypeOf :: MappingStyle -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MappingStyle)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MappingStyle)

gmapT :: (forall b. Data b => b -> b) -> MappingStyle -> MappingStyle

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MappingStyle -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MappingStyle -> r

gmapQ :: (forall d. Data d => d -> u) -> MappingStyle -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> MappingStyle -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MappingStyle -> m MappingStyle

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MappingStyle -> m MappingStyle

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MappingStyle -> m MappingStyle

Bounded MappingStyle Source # 
Instance details

Defined in Text.Libyaml

Enum MappingStyle Source # 
Instance details

Defined in Text.Libyaml

Show MappingStyle Source # 
Instance details

Defined in Text.Libyaml

Methods

showsPrec :: Int -> MappingStyle -> ShowS

show :: MappingStyle -> String

showList :: [MappingStyle] -> ShowS

Eq MappingStyle Source # 
Instance details

Defined in Text.Libyaml

Methods

(==) :: MappingStyle -> MappingStyle -> Bool

(/=) :: MappingStyle -> MappingStyle -> Bool

Ord MappingStyle Source # 
Instance details

Defined in Text.Libyaml

data Tag Source #

Instances

Instances details
Data Tag Source # 
Instance details

Defined in Text.Libyaml

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Tag -> c Tag

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Tag

toConstr :: Tag -> Constr

dataTypeOf :: Tag -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Tag)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Tag)

gmapT :: (forall b. Data b => b -> b) -> Tag -> Tag

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Tag -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Tag -> r

gmapQ :: (forall d. Data d => d -> u) -> Tag -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Tag -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Tag -> m Tag

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Tag -> m Tag

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Tag -> m Tag

Read Tag Source # 
Instance details

Defined in Text.Libyaml

Methods

readsPrec :: Int -> ReadS Tag

readList :: ReadS [Tag]

readPrec :: ReadPrec Tag

readListPrec :: ReadPrec [Tag]

Show Tag Source # 
Instance details

Defined in Text.Libyaml

Methods

showsPrec :: Int -> Tag -> ShowS

show :: Tag -> String

showList :: [Tag] -> ShowS

Eq Tag Source # 
Instance details

Defined in Text.Libyaml

Methods

(==) :: Tag -> Tag -> Bool

(/=) :: Tag -> Tag -> Bool

type AnchorName = String Source #

type Anchor = Maybe AnchorName Source #

Encoding and decoding

encode :: forall (m :: Type -> Type) o. MonadResource m => ConduitM Event o m ByteString Source #

encodeWith :: forall (m :: Type -> Type) o. MonadResource m => FormatOptions -> ConduitM Event o m ByteString Source #

Since: 0.10.2.0

decode :: forall (m :: Type -> Type) i. MonadResource m => ByteString -> ConduitM i Event m () Source #

Create a conduit that yields events from a bytestring.

decodeMarked :: forall (m :: Type -> Type) i. MonadResource m => ByteString -> ConduitM i MarkedEvent m () Source #

Create a conduit that yields marked events from a bytestring.

This conduit will yield identical events to that of "decode", but also includes start and end marks for each event.

Since: 0.10.4.0

encodeFile :: forall (m :: Type -> Type) o. MonadResource m => FilePath -> ConduitM Event o m () Source #

decodeFile :: forall (m :: Type -> Type) i. MonadResource m => FilePath -> ConduitM i Event m () Source #

Creata a conduit that yields events from a file.

decodeFileMarked :: forall (m :: Type -> Type) i. MonadResource m => FilePath -> ConduitM i MarkedEvent m () Source #

Create a conduit that yields marked events from a file.

This conduit will yield identical events to that of "decodeFile", but also includes start and end marks for each event.

Since: 0.10.4.0

encodeFileWith :: forall (m :: Type -> Type) o. MonadResource m => FormatOptions -> FilePath -> ConduitM Event o m () Source #

Since: 0.10.2.0

data FormatOptions Source #

Contains options relating to the formatting (indendation, width) of the YAML output.

Since: 0.10.2.0

setWidth :: Maybe Int -> FormatOptions -> FormatOptions Source #

Set the maximum number of columns in the YAML output, or Nothing for infinite. By default, the limit is 80 characters.

Since: 0.10.2.0

setTagRendering :: (Event -> TagRender) -> FormatOptions -> FormatOptions Source #

Control when and whether tags are rendered to output.

Since: 0.1.1.0

renderScalarTags :: Event -> TagRender Source #

A value for formatOptionsRenderTags that renders no collection tags but all scalar tags (unless suppressed with styles 'NoTag or PlainNoTag).

Since: 0.1.1.0

renderAllTags :: Event -> TagRender Source #

A value for formatOptionsRenderTags that renders all tags (except NoTag tag and PlainNoTag style).

Since: 0.1.1.0

renderNoTags :: Event -> TagRender Source #

A value for formatOptionsRenderTags that renders no tags.

Since: 0.1.1.0

renderUriTags :: Event -> TagRender Source #

A value for formatOptionsRenderCollectionTags that renders tags which are instances of UriTag

Since: 0.1.1.0

Error handling

data YamlException Source #

Constructors

YamlException String 
YamlParseException

problem, context, index, position line, position column

Fields

Instances

Instances details
Exception YamlException Source # 
Instance details

Defined in Text.Libyaml

Methods

toException :: YamlException -> SomeException

fromException :: SomeException -> Maybe YamlException

displayException :: YamlException -> String

Show YamlException Source # 
Instance details

Defined in Text.Libyaml

Methods

showsPrec :: Int -> YamlException -> ShowS

show :: YamlException -> String

showList :: [YamlException] -> ShowS

data YamlMark Source #

The pointer position

Constructors

YamlMark 

Fields

Instances

Instances details
Show YamlMark Source # 
Instance details

Defined in Text.Libyaml

Methods

showsPrec :: Int -> YamlMark -> ShowS

show :: YamlMark -> String

showList :: [YamlMark] -> ShowS