Copyright | (c) Brent Yorgey 2009 |
---|---|
License | BSD-like |
Maintainer | [email protected] |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Distribution.Client.Init.Interactive.Command
Contents
Description
Implementation of the 'cabal init' command, which creates an initial .cabal file for a project.
Synopsis
- createProject :: Interactive m => Verbosity -> InstalledPackageIndex -> SourcePackageDb -> InitFlags -> m ProjectSettings
- genPkgDescription :: Interactive m => InitFlags -> SourcePackageDb -> m PkgDescription
- genLibTarget :: Interactive m => InitFlags -> InstalledPackageIndex -> m LibTarget
- genExeTarget :: Interactive m => InitFlags -> InstalledPackageIndex -> m ExeTarget
- genTestTarget :: Interactive m => InitFlags -> InstalledPackageIndex -> m (Maybe TestTarget)
- cabalVersionPrompt :: Interactive m => InitFlags -> m CabalSpecVersion
- packageNamePrompt :: Interactive m => SourcePackageDb -> InitFlags -> m PackageName
- versionPrompt :: Interactive m => InitFlags -> m Version
- licensePrompt :: Interactive m => InitFlags -> m SpecLicense
- authorPrompt :: Interactive m => InitFlags -> m String
- emailPrompt :: Interactive m => InitFlags -> m String
- homepagePrompt :: Interactive m => InitFlags -> m String
- synopsisPrompt :: Interactive m => InitFlags -> m String
- categoryPrompt :: Interactive m => InitFlags -> m String
- mainFilePrompt :: Interactive m => InitFlags -> m HsFilePath
- testDirsPrompt :: Interactive m => InitFlags -> m [String]
- languagePrompt :: Interactive m => InitFlags -> String -> m Language
- noCommentsPrompt :: Interactive m => InitFlags -> m Bool
- appDirsPrompt :: Interactive m => InitFlags -> m [String]
- dependenciesPrompt :: Interactive m => InstalledPackageIndex -> InitFlags -> m [Dependency]
- srcDirsPrompt :: Interactive m => InitFlags -> m [String]
Commands
createProject :: Interactive m => Verbosity -> InstalledPackageIndex -> SourcePackageDb -> InitFlags -> m ProjectSettings Source #
Main driver for interactive prompt code.
Target generation
genPkgDescription :: Interactive m => InitFlags -> SourcePackageDb -> m PkgDescription Source #
Extract flags relevant to a package description and interactively
generate a PkgDescription
object for creation. If the user specifies
the generation of a simple package, then a simple target with defaults
is generated.
genLibTarget :: Interactive m => InitFlags -> InstalledPackageIndex -> m LibTarget Source #
Extract flags relevant to a library target and interactively
generate a LibTarget
object for creation. If the user specifies
the generation of a simple package, then a simple target with defaults
is generated.
genExeTarget :: Interactive m => InitFlags -> InstalledPackageIndex -> m ExeTarget Source #
Extract flags relevant to a executable target and interactively
generate a ExeTarget
object for creation. If the user specifies
the generation of a simple package, then a simple target with defaults
is generated.
genTestTarget :: Interactive m => InitFlags -> InstalledPackageIndex -> m (Maybe TestTarget) Source #
Extract flags relevant to a test target and interactively
generate a TestTarget
object for creation. If the user specifies
the generation of a simple package, then a simple target with defaults
is generated.
Note: this workflow is only enabled if the user answers affirmatively when prompted, or if the user passes in the flag to enable test suites at command line.
Prompts
cabalVersionPrompt :: Interactive m => InitFlags -> m CabalSpecVersion Source #
packageNamePrompt :: Interactive m => SourcePackageDb -> InitFlags -> m PackageName Source #
versionPrompt :: Interactive m => InitFlags -> m Version Source #
licensePrompt :: Interactive m => InitFlags -> m SpecLicense Source #
authorPrompt :: Interactive m => InitFlags -> m String Source #
emailPrompt :: Interactive m => InitFlags -> m String Source #
homepagePrompt :: Interactive m => InitFlags -> m String Source #
synopsisPrompt :: Interactive m => InitFlags -> m String Source #
categoryPrompt :: Interactive m => InitFlags -> m String Source #
mainFilePrompt :: Interactive m => InitFlags -> m HsFilePath Source #
testDirsPrompt :: Interactive m => InitFlags -> m [String] Source #
languagePrompt :: Interactive m => InitFlags -> String -> m Language Source #
noCommentsPrompt :: Interactive m => InitFlags -> m Bool Source #
appDirsPrompt :: Interactive m => InitFlags -> m [String] Source #
Ask for the application root directory.
dependenciesPrompt :: Interactive m => InstalledPackageIndex -> InitFlags -> m [Dependency] Source #
srcDirsPrompt :: Interactive m => InitFlags -> m [String] Source #
Ask for the source (library) root directory.