1-- | Utilitiies to work with @.cabal@ like file structure.
2module Distribution.Fields (
3    -- * Types
4    Field(..),
5    Name(..),
6    FieldLine(..),
7    SectionArg(..),
8    FieldName,
9    -- * Grammar and parsing
10    --
11    -- See "Distribution.Fields.Parser" for grammar.
12    readFields,
13    readFields',
14    -- ** ParseResult
15    ParseResult,
16    runParseResult,
17    parseString,
18    parseWarning,
19    parseWarnings,
20    parseFailure,
21    parseFatalFailure,
22    -- ** Warnings
23    PWarnType (..),
24    PWarning (..),
25    showPWarning,
26    -- ** Errors
27    PError (..),
28    showPError,
29    -- * Pretty printing
30    PrettyField (..),
31    showFields,
32    -- ** Transformation from Field
33    genericFromParsecFields,
34    fromParsecFields,
35    ) where
36
37import Distribution.Fields.Field
38import Distribution.Fields.Parser
39import Distribution.Fields.ParseResult
40import Distribution.Fields.Pretty
41import Distribution.Parsec.Error
42import Distribution.Parsec.Warning
43