Copyright | (c) 2020-2021 berberman |
---|---|
License | MIT |
Maintainer | berberman <berberman@yandex.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
This module defines input patterns used in executables' cli. Options.Applicative is re-exported.
Synopsis
Documentation
optFlagReader :: ReadM (Map PackageName FlagAssignment) Source #
Read a set of package name with flag assignments.
>>>
f ""
>>>
f "package_name:flag_name:true"
Right (fromList [(PackageName "package_name",fromList [(FlagName "flag_name",(1,True))])])>>>
f "package_name:flag_name_1:true,package_name:flag_name_2:false"
Right (fromList [(PackageName "package_name",fromList [(FlagName "flag_name_1",(1,True)),(FlagName "flag_name_2",(1,False))])])>>>
f "package_name_1:flag_name_1:false,package_name_2:flag_name_2:true"
Right (fromList [(PackageName "package_name_1",fromList [(FlagName "flag_name_1",(1,False))]),(PackageName "package_name_2",fromList [(FlagName "flag_name_2",(1,True))])])>>>
f "zzz"
Left "1:4:\n |\n1 | zzz\n | ^\nunexpected end of input\nexpecting ':'\n"
optSkippedReader :: ReadM [String] Source #
Read skipped components.
This never fails, i.e. the return value will be Right
.
>>> f ""
Right [""]
>>> f "component_1,component_2"
Right ["component_1","component_2"]
optExtraCabalReader :: ReadM [FilePath] Source #
Read extra cabal files.
>>>
f ""
Left "Unexpected file name: ">>>
f "a.cabal"
Right ["a.cabal"]>>>
f "a.cabal,b.cabal"
Right ["a.cabal","b.cabal"]>>>
f "a.what,b.cabal"
Left "Unexpected file name: a.what"
optVersionReader :: ReadM Version Source #
Read a Version
This function calls simpleParsec
.
optPackageNameReader :: ReadM PackageName Source #
Read a PackageName
This function never fails, because it just wraps the input string with mkPackageName
.
module Options.Applicative