summoner-tui-0.1.0: Tool for scaffolding fully configured batteries-included production-level Haskell projects using TUI.

Safe HaskellNone
LanguageHaskell2010

Summoner.Tui.Kit

Contents

Description

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 types

data SummonKit Source #

Global TUI state.

Constructors

SummonKit 

Fields

Instances
Show SummonKit Source # 
Instance details

Defined in Summoner.Tui.Kit

data User Source #

User information.

Constructors

User 

Fields

Instances
Show User Source # 
Instance details

Defined in Summoner.Tui.Kit

Methods

showsPrec :: Int -> User -> ShowS #

show :: User -> String #

showList :: [User] -> ShowS #

data Project Source #

Project related information

Constructors

Project 

Fields

Instances
Show Project Source # 
Instance details

Defined in Summoner.Tui.Kit

data ProjectMeta Source #

Project meta information.

Constructors

ProjectMeta 

Fields

Instances
Show ProjectMeta Source # 
Instance details

Defined in Summoner.Tui.Kit

data GitHub Source #

Github specific information.

Constructors

GitHub 

Fields

Instances
Show GitHub Source # 
Instance details

Defined in Summoner.Tui.Kit

renderWidgetTree :: SummonKit -> Text Source #

Shows the Widget with the generated project structure tree.

configToSummonKit Source #

Arguments

:: Text

Given project name

-> Bool

offline mode option

-> Maybe FilePath

Configuration file used

-> Config

Given configurations.

-> SummonKit 

Gets the initial SummonKit from the given ConfigP.

finalSettings :: SummonKit -> IO Settings Source #

Gets Settings on successful application complition.

Lenses

SummonKit

user :: HasUser s a => Lens' s a Source #

project :: HasProject s a => Lens' s a Source #

cabal :: HasCabal s a => Lens' s a Source #

stack :: HasStack s a => Lens' s a Source #

projectMeta :: HasProjectMeta s a => Lens' s a Source #

gitHub :: HasGitHub s a => Lens' s a Source #

extensions :: HasExtensions s a => Lens' s a Source #

ghcOptions :: HasGhcOptions s a => Lens' s a Source #

stylish :: HasStylish s a => Lens' s a Source #

contributing :: HasContributing s a => Lens' s a Source #

offline :: HasOffline s a => Lens' s a Source #

shouldSummon :: HasShouldSummon s a => Lens' s a Source #

configFile :: HasConfigFile s a => Lens' s a Source #

User

owner :: HasOwner s a => Lens' s a Source #

fullName :: HasFullName s a => Lens' s a Source #

email :: HasEmail s a => Lens' s a Source #

Project

repo :: HasRepo s a => Lens' s a Source #

desc :: HasDesc s a => Lens' s a Source #

category :: HasCategory s a => Lens' s a Source #

license :: HasLicense s a => Lens' s a Source #

maybeLicense :: Lens' SummonKit (Maybe LicenseName) Source #

Lens for Maybe LicenseName in SummonKit.

ProjectMeta

lib :: HasLib s a => Lens' s a Source #

exe :: HasExe s a => Lens' s a Source #

test :: HasTest s a => Lens' s a Source #

bench :: HasBench s a => Lens' s a Source #

ghcs :: HasGhcs s a => Lens' s a Source #

preludeName :: HasPreludeName s a => Lens' s a Source #

preludeModule :: HasPreludeModule s a => Lens' s a Source #

GitHub

enabled :: HasEnabled s a => Lens' s a Source #

noUpload :: HasNoUpload s a => Lens' s a Source #

private :: HasPrivate s a => Lens' s a Source #

travis :: HasTravis s a => Lens' s a Source #

appVeyor :: HasAppVeyor s a => Lens' s a Source #