cabal-install-3.10.1.0: The command-line interface for Cabal and Hackage.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Client.Init.NonInteractive.Command

Synopsis

Documentation

createProject :: Interactive m => Compiler -> Verbosity -> InstalledPackageIndex -> SourcePackageDb -> InitFlags -> m ProjectSettings Source #

Main driver for interactive prompt code.

packageTypeHeuristics :: Interactive m => InitFlags -> m PackageType Source #

Try to guess if the project builds a library, an executable, or both.

authorHeuristics :: Interactive m => InitFlags -> m String Source #

The author's name. Prompt, or try to guess from an existing darcs repo.

emailHeuristics :: Interactive m => InitFlags -> m String Source #

The author's email. Prompt, or try to guess from an existing darcs repo.

cabalVersionHeuristics :: Interactive m => InitFlags -> m CabalSpecVersion Source #

Get the version of the cabal spec to use. The spec version can be specified by the InitFlags cabalVersion field. If none is specified then the default version is used.

packageNameHeuristics :: Interactive m => SourcePackageDb -> InitFlags -> m PackageName Source #

Get the package name: use the package directory (supplied, or the current directory by default) as a guess. It looks at the SourcePackageDb to avoid using an existing package name.

versionHeuristics :: Interactive m => InitFlags -> m Version Source #

Package version: use 0.1.0.0 as a last resort

mainFileHeuristics :: Interactive m => InitFlags -> m HsFilePath Source #

Try to guess the main file, if nothing is found, fallback to a default value.

exposedModulesHeuristics :: Interactive m => InitFlags -> m (NonEmpty ModuleName) Source #

Retrieve the list of exposed modules

libOtherModulesHeuristics :: Interactive m => InitFlags -> m [ModuleName] Source #

Retrieve the list of other modules for Libraries, filtering them based on the last component of the module name

exeOtherModulesHeuristics :: Interactive m => InitFlags -> m [ModuleName] Source #

Retrieve the list of other modules for Executables, it lists everything that is a Haskell file within the application directory, excluding the main file

testOtherModulesHeuristics :: Interactive m => InitFlags -> m [ModuleName] Source #

Retrieve the list of other modules for Tests, it lists everything that is a Haskell file within the tests directory, excluding the main file

buildToolsHeuristics :: Interactive m => InitFlags -> FilePath -> CabalSpecVersion -> m [Dependency] Source #

Retrieve the list of build tools

dependenciesHeuristics :: Interactive m => InitFlags -> FilePath -> InstalledPackageIndex -> m [Dependency] Source #

Retrieve the list of dependencies

otherExtsHeuristics :: Interactive m => InitFlags -> FilePath -> m [Extension] Source #

Retrieve the list of extensions

licenseHeuristics :: Interactive m => InitFlags -> m SpecLicense Source #

Choose a license for the package. The license can come from Initflags (license field), if it is not present then prompt the user from a predefined list of licenses.

homepageHeuristics :: Interactive m => InitFlags -> m String Source #

Prompt for a homepage URL for the package.

synopsisHeuristics :: Interactive m => InitFlags -> m String Source #

Prompt for a project synopsis.

categoryHeuristics :: Interactive m => InitFlags -> m String Source #

Prompt for a package category. Note that it should be possible to do some smarter guessing here too, i.e. look at the name of the top level source directory.

extraDocFileHeuristics :: Interactive m => InitFlags -> m (Maybe (Set FilePath)) Source #

Try to guess extra source files.

appDirsHeuristics :: Interactive m => InitFlags -> m [String] Source #

Ask for the application root directory.

srcDirsHeuristics :: Interactive m => InitFlags -> m [String] Source #

Ask for the source (library) root directory.

languageHeuristics :: Interactive m => InitFlags -> Compiler -> m Language Source #

Ask for the Haskell base language of the package.

noCommentsHeuristics :: Interactive m => InitFlags -> m Bool Source #

Ask whether to generate explanatory comments.