Portability | portable |
---|---|
Maintainer | cabal-devel@haskell.org |
Safe Haskell | None |
This defined parsers and partial pretty printers for the .cabal
format.
Some of the complexity in this module is due to the fact that we have to be
backwards compatible with old .cabal
files, so there's code to translate
into the newer structure.
- readPackageDescription :: Verbosity -> FilePath -> IO GenericPackageDescription
- writePackageDescription :: FilePath -> PackageDescription -> IO ()
- parsePackageDescription :: String -> ParseResult GenericPackageDescription
- showPackageDescription :: PackageDescription -> String
- data ParseResult a
- = ParseFailed PError
- | ParseOk [PWarning] a
- data FieldDescr a = FieldDescr {}
- type LineNo = Int
- readHookedBuildInfo :: Verbosity -> FilePath -> IO HookedBuildInfo
- parseHookedBuildInfo :: String -> ParseResult HookedBuildInfo
- writeHookedBuildInfo :: FilePath -> HookedBuildInfo -> IO ()
- showHookedBuildInfo :: HookedBuildInfo -> String
- pkgDescrFieldDescrs :: [FieldDescr PackageDescription]
- libFieldDescrs :: [FieldDescr Library]
- executableFieldDescrs :: [FieldDescr Executable]
- binfoFieldDescrs :: [FieldDescr BuildInfo]
- sourceRepoFieldDescrs :: [FieldDescr SourceRepo]
- testSuiteFieldDescrs :: [FieldDescr TestSuiteStanza]
- flagFieldDescrs :: [FieldDescr Flag]
Package descriptions
readPackageDescription :: Verbosity -> FilePath -> IO GenericPackageDescription
Parse the given package file.
writePackageDescription :: FilePath -> PackageDescription -> IO ()
parsePackageDescription :: String -> ParseResult GenericPackageDescription
Parses the given file into a GenericPackageDescription
.
In Cabal 1.2 the syntax for package descriptions was changed to a format with sections and possibly indented property descriptions.
Parsing
data ParseResult a
data FieldDescr a
Field descriptor. The parameter a
parameterizes over where the field's
value is stored in.
Supplementary build information
writeHookedBuildInfo :: FilePath -> HookedBuildInfo -> IO ()
testSuiteFieldDescrs :: [FieldDescr TestSuiteStanza]