summoner-tui-2.0.1.1: Tool for scaffolding fully configured batteries-included production-level Haskell projects using TUI.
Copyright(c) 2018-2019 Kowainik
LicenseMPL-2.0
MaintainerKowainik <xrom.xkov@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Summoner.Tui.Kit

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

Instances details
Show SummonKit Source # 
Instance details

Defined in Summoner.Tui.Kit

data User Source #

User information.

Constructors

User 

Fields

Instances

Instances details
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

Instances details
Show Project Source # 
Instance details

Defined in Summoner.Tui.Kit

data ProjectMeta Source #

Project meta information.

Constructors

ProjectMeta 

Fields

Instances

Instances details
Show ProjectMeta Source # 
Instance details

Defined in Summoner.Tui.Kit

data GitHub Source #

Github specific information.

Constructors

GitHub 

Fields

Instances

Instances details
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

-> ConnectMode

offline mode option

-> 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

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 #

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

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 #

actions :: HasActions s a => Lens' s a Source #

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

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