module Language.Drasil.Code.Imperative.WriteReadMe (
makeReadMe
) where
import Language.Drasil.Choices (ImplementationType(..))
import Language.Drasil.Printers (makeMd, introInfo, verInfo, unsupOS,
extLibSec, instDoc, endNote)
import Language.Drasil.Code.Imperative.GOOL.ClassInterface (ReadMeInfo(..))
import Prelude hiding ((<>))
import Text.PrettyPrint.HughesPJ (Doc, empty)
makeReadMe :: ReadMeInfo -> Doc
makeReadMe :: ReadMeInfo -> Doc
makeReadMe ReadMeInfo {
langName :: ReadMeInfo -> LangAbbrev
langName = LangAbbrev
progLang,
langVersion :: ReadMeInfo -> LangAbbrev
langVersion = LangAbbrev
progLangVers,
invalidOS :: ReadMeInfo -> Maybe LangAbbrev
invalidOS = Maybe LangAbbrev
unsupportedOSs,
implementType :: ReadMeInfo -> ImplementationType
implementType = ImplementationType
imptype,
extLibNV :: ReadMeInfo -> [(LangAbbrev, LangAbbrev)]
extLibNV = [(LangAbbrev, LangAbbrev)]
extLibns,
extLibFP :: ReadMeInfo -> [LangAbbrev]
extLibFP = [LangAbbrev]
extLibfp,
contributors :: ReadMeInfo -> [LangAbbrev]
contributors = [LangAbbrev]
auths,
configFP :: ReadMeInfo -> [LangAbbrev]
configFP = [LangAbbrev]
configFPs,
caseName :: ReadMeInfo -> LangAbbrev
caseName = LangAbbrev
name} =
[Doc] -> Doc
makeMd [LangAbbrev -> [LangAbbrev] -> Doc
introInfo LangAbbrev
name [LangAbbrev]
auths,
ImplementationType -> [LangAbbrev] -> Doc
makeInstr ImplementationType
imptype [LangAbbrev]
configFPs,
LangAbbrev -> LangAbbrev -> Doc
verInfo LangAbbrev
progLang LangAbbrev
progLangVers,
Maybe LangAbbrev -> Doc
unsupOS Maybe LangAbbrev
unsupportedOSs,
[(LangAbbrev, LangAbbrev)] -> [LangAbbrev] -> Doc
extLibSec [(LangAbbrev, LangAbbrev)]
extLibns [LangAbbrev]
extLibfp,
[LangAbbrev] -> Doc
endNote [LangAbbrev]
auths]
makeInstr :: ImplementationType -> [FilePath]-> Doc
makeInstr :: ImplementationType -> [LangAbbrev] -> Doc
makeInstr Library _ = Doc
empty
makeInstr Program cfp :: [LangAbbrev]
cfp = [LangAbbrev] -> Doc
instDoc [LangAbbrev]
cfp