toml-parser-1.1.0.0: TOML 1.0.0 parser
Copyright(c) Eric Mertens 2023
LicenseISC
Maintaineremertens@gmail.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

Toml.Pretty

Description

This module provides human-readable renderers for types used in this package to assist error message production.

The generated Doc values are annotated with DocClass values to assist in producing syntax-highlighted outputs.

To extract a plain String representation, use show.

Synopsis

Types

type TomlDoc = Doc DocClass Source #

Pretty-printer document with TOML class attributes to aid in syntax-highlighting.

data DocClass Source #

Annotation used to enable styling pretty-printed TOML

Constructors

TableClass

top-level [key] and [[key]]

KeyClass

dotted keys, left-hand side of assignments

StringClass

string literals

NumberClass

number literals

DateClass

date and time literals

BoolClass

boolean literals

Instances

Instances details
Read DocClass Source # 
Instance details

Defined in Toml.Pretty

Show DocClass Source # 
Instance details

Defined in Toml.Pretty

Eq DocClass Source # 
Instance details

Defined in Toml.Pretty

Ord DocClass Source # 
Instance details

Defined in Toml.Pretty

semantic values

prettyToml :: Table -> TomlDoc Source #

Render a complete TOML document using top-level table and array of table sections where appropriate.

prettyValue :: Value -> TomlDoc Source #

Render a value suitable for assignment on the right-hand side of an equals sign. This value will always occupy a single line.

syntactic components

prettyToken :: Token -> String Source #

Render token for human-readable error messages.

prettySectionKind :: SectionKind -> NonEmpty String -> TomlDoc Source #

Pretty-print a section heading. The result is annotated as a TableClass.

keys

prettySimpleKey :: String -> Doc a Source #

Renders a simple-key using quotes where necessary.

prettyKey :: NonEmpty String -> TomlDoc Source #

Renders a dotted-key using quotes where necessary and annotated as a KeyClass.