!ѝ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      None "#/7;MX_k(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_k summonerOExplicit flush ensures prompt messages are in the correct order on all systems. summonerStarts bold printing. summonerResets all previous settings.summonerHTakes list of formatting options, prints text using this format options.      (c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_k" summoner-Data type to keep meta information for every &. summoner&Represents PVP versioning (4 numbers).&summoner-Represents some selected set of GHC versions.-summoner Converts & into dot-separated string..summoner[These are old GHC versions that are not working with default GHC versions when using Stack.0summonerJReturns latest known LTS resolver for all GHC versions except default one.summonerReturns base version by & as  .1summonerReturns corresponding base" version of the given GHC version.2summoner Returns the base/ bounds for the list of the given GHC versions.cabalBaseVersions [Ghc844]"^>= 4.11.1.0"*cabalBaseVersions [Ghc802, Ghc822, Ghc844]">= 4.9.0.0 && < 4.12"summonerCreate corresponding  from the given &.4summoner$Show PVP version in a standard way: 1.2.3.4 !"#$%&'()*+,-./0123&'()*+, !"#$%-/0123.(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_k&:summoner,Default GHC version is the latest available.;summonerDefault version of the Cabal.:;<=>?:;<=>?(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_k-PCsummonerLicenses supported by summoner.OsummonerAs it will be shown in the cabal file.Psummoner+Used for downloading the license text form Github.Rsummoner5Replaces name/year placeholders with the actual data.TsummonerShow short information for the C.Usummoner3Show license name along with its short description.@ABCNDEFGHIJKLMOPQRSTUCNDEFGHIJKLM@ABORPQSTU(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_k5`summonerType of the source resource.asummonercURL link to the source file. Such files will be downloaded by URL. But they are ingored in the offline mode.bsummoner#File path to the local source file.csummonerRaw file text content.esummonerThis  is used in the filesN field of config. It decodes corresponding constructor from the top-level key.`abcdef`abcdef(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_k8<isummoner-Returns the given value in case of the given  is . Otherwise, it returns .ii(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_kC2jsummonerEndline symbol to use with neat-interpolation.ksummoner6Creates module name from the name of the package Ex: my-lovely-project  MyLovelyProjectlsummonerGDecides whether the given text is a valid package name. Spec is here: ]https://www.haskell.org/cabal/users-guide/developing-packages.html#package-names-and-versionsmsummoner@Validate module name. It should be in the following formatTriple Part1[.PartN] nsummoner$Converts every element of list into + and then joins every element into single  like  .psummonerAConvert every element of a list into text, and squash the resultsjklmnopjklmnop(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None"#%/7;HMVX_`ka!summonerRepresents a user's answerqsummonerBuild a prompt For example, YesNoPrompt { yesNoTarget = Cabal> , yesNoPrompt = "Do you want to add a cabal integration?"} 4will generate a following prompt message to the user YDo you want to add a cabal integration? [y]/n -> y [Cabal] will be added to the project ssummonertarget (e.g., #TARGET will be added to the project)tsummonerprompt (e.g.,  PROMPT [y]/n)usummoner(Build a prompt with the TARGET name only2It will generate a simple default prompt such that Add TARGET? [y]/n "summonerParse an answer to !#summoner/Prints the given question in the following way:'printQuestion "Which option?" [A, B, C]"Which option? [A]/B/C" NoteK that the first element in the given list is considered as the default one.vsummonerpAllows users to choose one of the given options. It asks the question until the appropriate answer is received.wsummonerLike v but the possible answer are $ or %.xsummonerLike w but returns .ysummonerEThe message after yes/no questions. The output depends on the answer.   Benchmarks will be added to the project zsummonerLike y' but the text is "added to the project"}summonerQueries for any answer. " Short project description: -> ~summonerLQueries for the answer that should satisfy the given predicate, or be empty.summoner Queries for an non-empty answer.summonerLike }6 but has the default answer if no answer is specified.summoner[Queries many answers. If answers are not parsable shows the failing part and queries againusummoner target name#summonerQuestion text.summonerList of available answers.vsummonerParse functionsummonerQuestion text.summonerList of available options.summonerThe chosen option.wsummonerTarget and Promptsummoner action for $ answersummoner action for % answerqrstuvwxyz{|}~vwxqrstu}~yz{| (c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_kdsummoner6Used for detecting the user decision during CLI input. (c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_kg&summonerCodec for text values. (c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None"#./179;=>?HMUVX_ks summonerComplete configurations.summonerIncomplete configurations.summoner%Potentially incomplete configuration.summoner!GHC options to add to each stanzasummoner+DEPRECATED: source to .stylish-haskell.yamlsummoner%DEPRECATED: source to CONTRIBUTING.mdsummoner-Do not upload to the GitHub (even if enabled)summoner Custom files'summoner The phase of the configurations.summonerDefault  configurations.summonerIdentifies how to read  data from the .toml file.summonerFMake sure that all the required configurations options were specified.summonerBRead configuration from the given file and return it in data type.(3 (c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#%/7;MX_ky summoner.Describes simple structure of filesystem tree.summoner7Name of directory (relative) and its containing entriessummoner%File name (relative) and file contentsummoner]Walks through directory tree and write file contents, creating all intermediate directories.summoner@This function converts a string file path to the tree structure.For a path like this: ".githubworkflowci.yml"*This function produces the following tree: &.github/ %%% workflow/ %%% ci.yml summonerThis functions inserts given  node into the list of existing 7 nodes. The behavior of this function is the following: "It merges duplicating directories.It overrides existing  with the given  in case of duplicates.summoner(Pretty shows the directory tree content.summonerPretty shows tree with options.)summonerExtract , path. Used for sorting in alphabetic order.summonerPrint directories bold.summoner Given tree.summonerPretty output. (c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_ksummonerEnum for supported build tools.summoner!Data needed for project creation.summonerrepository namesummonergithub usernamesummonerproject descriptionsummoner full namesummonere-mailsummoneryearsummonerproject categorysummonertype of licensesummoner license textsummonerGitHub repositorysummonerprivate repositorysummonerTravis CI integrationsummonerAppVeyor CI integrationsummoner is librarysummoner is executablesummoner add testssummoneradd benchmarkssummoner GHC versionssummonerBase library to usesummonercustom prelude to be usedsummonerdefault extensionssummonerdefault GHC optionssummoner.gitignore filesummoner.stylish-haskell.yaml filesummonerCONTRIBUTING.md filesummonerdo not upload to GitHubsummonerTree nodes of extra filessummonerShow  in lowercase.summonerParse  from string. Inverse of .$$(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_k(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_ksummoner" content for a single script file.(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_k(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#%/7;MX_k(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_k(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_ksummoner Creates a `.cabal` file from the given .(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_kMsummoner'Creating tree structure of the project.(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_kPsummonerGenerate the project.summoner.Creates the directory and run GitHub commands.summoner5This function fetches contents of extra file sources.*summonerFrom the given  creates the project.+summoner+Init, commit and push repository to GitHub.summoneroffline mode optionsummonerGiven project name.summonerGiven configurations.(c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None"#/07;MPX_k summonerCommands parsed with show command,summonerOptions parsed with script command-summoner Build tool: cabal or stack.summonerFile path to the script/summonerGHC version for this scriptsummonerOptions parsed with new commandsummoner project namesummonerignore all config files if summoner Offline modesummonerfile with custom configurationsummonerconfig gathered during CLI summoner Represent all available commands summonernew command creates a new project summonerscript command creates Haskell script summonershow1 command shows supported licenses or GHC versions summonerMain function that parses CLI% commands and runs them using given   handler.summonerRuns summoner in CLI mode.0summonerRun summoner with CLI command1summonerRuns show command. Usage: summon show COMMAND Show supported licenses or ghc versions Available commands: ghc Show available ghc versions license Show available licenses license [LICENSE_NAME] Show specific license text summonerRuns script command. *Usage: summon script BUILD_TOOL (-g|--ghc GHC_VERSION) (-n|--name FILE_NAME) Create a new Haskell script Available options: -h,--help Show this help text -g,--ghc GHC_VERSION Version of the compiler to be used for script -n,--name FILE_NAME Name of the script file 2summonerRuns new command. 6Usage: summon new PROJECT_NAME [--ignore-config] [--no-upload] [--offline] [-f|--file FILENAME] [--cabal] [--stack] [--prelude-package PACKAGE_NAME] [--prelude-module MODULE_NAME] [with [OPTIONS]] [without [OPTIONS]] summoner By the given ! return the final configurations.3summonercReads and parses the given config file. If no file is provided the default configuration returned.4summonerMain parser of the app.5summonerParses options of the show command.6summonerParses options of the script command.7summonerArgument parser for .8summonerParses options of the new command.          (c) 2017-2019 KowainikMPL-2.0Kowainik <xrom.xkov@gmail.com>None "#/7;MX_k-  !"#$%&'()*+,-./0123:;<=>?@ABCNDEFGHIJKLMOPQRSTU`abcdefjklmnopqrstuvwxyz{|}~     9 !"#$%&'()*+,-./01234566789::;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                 !"#$%&'()*+,-./012312456789:8;<=>?@A B C D EFGHIJKLMNOPQRSTUsummoner-1.4.0.0-inplace Summoner.AnsiSummoner.GhcVerSummoner.DefaultSummoner.LicenseSummoner.SourceSummoner.Template.Mempty Summoner.TextSummoner.QuestionSummoner.DecisionSummoner.CustomPreludeSummoner.Config Summoner.TreeSummoner.SettingsSummoner.Template.StackSummoner.Template.ScriptSummoner.Template.HaskellSummoner.Template.GitHubSummoner.Template.DocSummoner.Template.CabalSummoner.TemplateSummoner.Project Summoner.CLIPaths_summonerSummonerUansi-terminal-0.10.2-9b07f4d0073014c4204b6050a440844d5228cd6bc02309403a8309e39913faa0System.Console.ANSI.TypesColorBlackBlueCyanGreenMagentaRedWhiteYellow putStrFlushsetColorbolditalicreset beautyPrintpromptboldText boldDefault errorMessagewarningMessagesuccessMessage infoMessage skipMessageredCodeblueCodeboldCode resetCodeGhcMetagmGhcgmBase gmResolverPvppvpFirst pvpSecondpvpThird pvpFourthGhcVerGhc7103Ghc802Ghc822Ghc844Ghc865Ghc881 showGhcVeroldGhcs parseGhcVer latestLtsbaseVercabalBaseVersionsghcTable $fShowPvp $fEqGhcVer $fOrdGhcVer $fShowGhcVer $fEnumGhcVer$fBoundedGhcVer defaultGHC defaultCabaldefaultTomlFiledefaultConfigFiledefaultDescription currentYearLicense unLicense LicenseNameMITBSD2BSD3GPL2GPL3LGPL21LGPL3AGPL3Apache20MPL20None cabalLicensegithubLicenseQueryNamesparseLicenseNamecustomizeLicense fetchLicenselicenseShortDescshowLicenseWithDesc$fShowLicenseName$fFromJSONLicense$fEqLicenseName$fOrdLicenseName$fEnumLicenseName$fBoundedLicenseName$fGenericLicenseName $fShowLicense$fGenericLicense$fIsStringLicenseSourceUrlLocalRawsourceT sourceCodec fetchSource $fShowSource $fEqSource memptyIfFalseendLinepackageToModulepackageNameValidmoduleNameValidintercalateMap headToUpper tconcatMap YesNoPrompt yesNoTarget yesNoPromptmkDefaultYesNoPromptchoose chooseYesNochooseYesNoBooltargetMessageWithText targetMessage trueMessage falseMessagequeryqueryWithPredicate queryNotNullqueryDefqueryManyRepeatOnFailcheckUniqueNameDecisionIdkNopYesdecisionToBool$fGMonoidDecision$fGSemigroupDecision$fMonoidDecision$fSemigroupDecision$fShowDecision $fEqDecision$fEnumDecision$fBoundedDecision$fGenericDecision CustomPrelude cpPackagecpModulecustomPreludeT$fShowCustomPrelude$fEqCustomPreludeConfig PartialConfigConfigPcOwner cFullNamecEmailcLicensecGhcVercCabalcStackcGitHubcTraviscAppVeycPrivatecLibcExecTestcBenchcPrelude cExtensions cGhcOptions cGitignorecStylish cContributing cNoUploadcFiles defaultConfig configCodecfinaliseloadFileConfig $fGMonoidMap$fGSemigroupMap$fMonoidConfigP$fSemigroupConfigP$fGenericConfigP $fShowConfigP $fEqConfigP$fGMonoidConfigP$fGSemigroupConfigPTreeFsDirFile traverseTree pathToTree insertTree showBoldTreeshowTree$fGenericTreeFs $fShowTreeFs $fEqTreeFs $fOrdTreeFsToolCabalStackSettings settingsRepo settingsOwnersettingsDescriptionsettingsFullName settingsEmail settingsYearsettingsCategoriessettingsLicenseNamesettingsLicenseTextsettingsGitHubsettingsPrivatesettingsTravissettingsAppVeyor settingsIsLib settingsIsExe settingsTest settingsBenchsettingsTestedVersionssettingsBaseTypesettingsPreludesettingsExtensionssettingsGhcOptionssettingsGitignore settingsCabal settingsStacksettingsStylishsettingsContributingsettingsNoUpload settingsFilesshowTool parseTool$fShowSettings $fShowTool$fEqTool $fEnumTool $fBoundedTool stackFiles scriptFile haskellFiles gitHubFilesdocFiles cabalFilecreateProjectTemplategenerateProjectinitializeProject fetchSourcesShowOptsGhcList LicenseListNewOptsnewOptsProjectNamenewOptsIgnoreFilenewOptsOfflinenewOptsConfigFilenewOptsCliConfigCommandNewScriptShowInfosummon summonCli runScriptgetFinalConfigversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName baseVerPvp toGhcMetaPtomland-1.2.1.0-86eedbf9b0575154f725eba80fb2f4af3567511928d4f6a908cfbcb8cca0299b Toml.Bi.Code TomlCodecghc-prim GHC.TypesBoolTruebaseGHC.Basemempty text-1.2.3.1Data.Text.InternalText Data.Text intercalateAnsweryesOrNo printQuestionYN textWithBoolPhase:-treeFpcreateProjectDirectorydoGithubCommands ScriptOptsscriptOptsToolscriptOptsName scriptOptsGhc runCliCommandrunShowrunNewreadFileConfig cliParsershowPscriptPtoolArgPnewP