Copyright | (c) 2018-2019 Kowainik |
---|---|
License | MPL-2.0 |
Maintainer | Kowainik <xrom.xkov@gmail.com> |
Safe Haskell | None |
Language | Haskell2010 |
This module contains data types to work with application form. SummonKit
is
the data type containing the values manipulated by the fields in the form.
Synopsis
- data SummonKit = SummonKit {
- summonKitUser :: !User
- summonKitProject :: !Project
- summonKitCabal :: !Bool
- summonKitStack :: !Bool
- summonKitProjectMeta :: !ProjectMeta
- summonKitGitHub :: !GitHub
- summonKitExtensions :: ![Text]
- summonKitGhcOptions :: ![Text]
- summonKitGitignore :: ![Text]
- summonKitConnectMode :: !ConnectMode
- summonKitShouldSummon :: !Decision
- summonKitConfigFile :: !(Maybe FilePath)
- summonKitExtraFiles :: ![TreeFs]
- data User = User {}
- data Project = Project {
- projectRepo :: !Text
- projectDesc :: !Text
- projectCategory :: !Text
- projectLicense :: !LicenseName
- data ProjectMeta = ProjectMeta {
- projectMetaLib :: !Bool
- projectMetaExe :: !Bool
- projectMetaTest :: !Bool
- projectMetaBench :: !Bool
- projectMetaGhcs :: ![GhcVer]
- projectMetaPreludeName :: !Text
- projectMetaPreludeModule :: !Text
- data GitHub = GitHub {
- gitHubEnabled :: !Bool
- gitHubNoUpload :: !Bool
- gitHubPrivate :: !Bool
- gitHubActions :: !Bool
- gitHubTravis :: !Bool
- gitHubAppVeyor :: !Bool
- renderWidgetTree :: SummonKit -> Text
- configToSummonKit :: Text -> ConnectMode -> Maybe FilePath -> [TreeFs] -> Config -> SummonKit
- finalSettings :: SummonKit -> IO Settings
- user :: HasUser s a => Lens' s a
- project :: HasProject s a => Lens' s a
- cabal :: HasCabal s a => Lens' s a
- stack :: HasStack s a => Lens' s a
- projectMeta :: HasProjectMeta s a => Lens' s a
- gitHub :: HasGitHub s a => Lens' s a
- extensions :: HasExtensions s a => Lens' s a
- ghcOptions :: HasGhcOptions s a => Lens' s a
- connectMode :: HasConnectMode s a => Lens' s a
- shouldSummon :: HasShouldSummon s a => Lens' s a
- configFile :: HasConfigFile s a => Lens' s a
- owner :: HasOwner s a => Lens' s a
- fullName :: HasFullName s a => Lens' s a
- email :: HasEmail s a => Lens' s a
- repo :: HasRepo s a => Lens' s a
- desc :: HasDesc s a => Lens' s a
- category :: HasCategory s a => Lens' s a
- license :: HasLicense s a => Lens' s a
- maybeLicense :: Lens' SummonKit (Maybe LicenseName)
- lib :: HasLib s a => Lens' s a
- exe :: HasExe s a => Lens' s a
- test :: HasTest s a => Lens' s a
- bench :: HasBench s a => Lens' s a
- ghcs :: HasGhcs s a => Lens' s a
- preludeName :: HasPreludeName s a => Lens' s a
- preludeModule :: HasPreludeModule s a => Lens' s a
- enabled :: HasEnabled s a => Lens' s a
- noUpload :: HasNoUpload s a => Lens' s a
- private :: HasPrivate s a => Lens' s a
- actions :: HasActions s a => Lens' s a
- travis :: HasTravis s a => Lens' s a
- appVeyor :: HasAppVeyor s a => Lens' s a
Data types
Global TUI state.
SummonKit | |
|
User information.
Project related information
Project | |
|
data ProjectMeta Source #
Project meta information.
ProjectMeta | |
|
Instances
Show ProjectMeta Source # | |
Defined in Summoner.Tui.Kit showsPrec :: Int -> ProjectMeta -> ShowS # show :: ProjectMeta -> String # showList :: [ProjectMeta] -> ShowS # |
Github specific information.
GitHub | |
|
renderWidgetTree :: SummonKit -> Text Source #
Shows the Widget with the generated project structure tree.
:: Text | Given project name |
-> ConnectMode |
|
-> Maybe FilePath | Configuration file used |
-> [TreeFs] | Extra files |
-> Config | Given configurations. |
-> SummonKit |
Gets the initial SummonKit
from the given Config
.
finalSettings :: SummonKit -> IO Settings Source #
Gets Settings
on successful application complition.
Lenses
SummonKit
projectMeta :: HasProjectMeta s a => Lens' s a Source #
extensions :: HasExtensions s a => Lens' s a Source #
ghcOptions :: HasGhcOptions s a => Lens' s a Source #
connectMode :: HasConnectMode s a => Lens' s a Source #
shouldSummon :: HasShouldSummon s a => Lens' s a Source #
configFile :: HasConfigFile s a => Lens' s a Source #
User
Project
ProjectMeta
preludeName :: HasPreludeName s a => Lens' s a Source #
preludeModule :: HasPreludeModule s a => Lens' s a Source #