-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Haskell/Nix development build tools -- -- See https://hackage.haskell.org/package/hix/docs/Hix.html @package hix @version 0.4.2 module Hix.Compat parseString :: (ByteString -> ParseResult a) -> Verbosity -> String -> ByteString -> IO a -- | Parse the given package file. readGenericPackageDescription :: Verbosity -> FilePath -> IO GenericPackageDescription module Hix.Data.ComponentConfig newtype PackagePath PackagePath :: Path Rel Dir -> PackagePath [$sel:unPackagePath:PackagePath] :: PackagePath -> Path Rel Dir newtype SourceDir SourceDir :: Path Rel Dir -> SourceDir [$sel:unSourceDir:SourceDir] :: SourceDir -> Path Rel Dir newtype SourceDirs SourceDirs :: [SourceDir] -> SourceDirs [$sel:unSourceDirs:SourceDirs] :: SourceDirs -> [SourceDir] newtype PackageName PackageName :: Text -> PackageName [$sel:unPackageName:PackageName] :: PackageName -> Text newtype ModuleName ModuleName :: Text -> ModuleName [$sel:unModuleName:ModuleName] :: ModuleName -> Text newtype ComponentName ComponentName :: Text -> ComponentName [$sel:unComponentName:ComponentName] :: ComponentName -> Text newtype EnvName EnvName :: Text -> EnvName [$sel:unEnvName:EnvName] :: EnvName -> Text newtype EnvRunner EnvRunner :: Path Abs File -> EnvRunner data PreludePackage PreludePackageName :: Text -> PreludePackage PreludePackageSpec :: Text -> PreludePackage [$sel:name:PreludePackageName] :: PreludePackage -> Text data PreludeConfig PreludeConfig :: PreludePackage -> ModuleName -> PreludeConfig [$sel:package:PreludeConfig] :: PreludeConfig -> PreludePackage [$sel:module_:PreludeConfig] :: PreludeConfig -> ModuleName data ComponentConfig ComponentConfig :: ComponentName -> SourceDirs -> Maybe EnvRunner -> [String] -> String -> [String] -> Maybe PreludeConfig -> ComponentConfig [$sel:name:ComponentConfig] :: ComponentConfig -> ComponentName [$sel:sourceDirs:ComponentConfig] :: ComponentConfig -> SourceDirs [$sel:runner:ComponentConfig] :: ComponentConfig -> Maybe EnvRunner [$sel:extensions:ComponentConfig] :: ComponentConfig -> [String] [$sel:language:ComponentConfig] :: ComponentConfig -> String [$sel:ghcOptions:ComponentConfig] :: ComponentConfig -> [String] [$sel:prelude:ComponentConfig] :: ComponentConfig -> Maybe PreludeConfig data PackageConfig PackageConfig :: PackageName -> Path Rel Dir -> Map ComponentName ComponentConfig -> PackageConfig [$sel:name:PackageConfig] :: PackageConfig -> PackageName [$sel:src:PackageConfig] :: PackageConfig -> Path Rel Dir [$sel:components:PackageConfig] :: PackageConfig -> Map ComponentName ComponentConfig type PackagesConfig = Map PackageName PackageConfig data Target Target :: PackageConfig -> ComponentConfig -> Maybe SourceDir -> Target [$sel:package:Target] :: Target -> PackageConfig [$sel:component:Target] :: Target -> ComponentConfig [$sel:sourceDir:Target] :: Target -> Maybe SourceDir instance Data.Aeson.Types.FromJSON.FromJSONKey Hix.Data.ComponentConfig.PackagePath instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.PackagePath instance GHC.Generics.Generic Hix.Data.ComponentConfig.PackagePath instance GHC.Classes.Ord Hix.Data.ComponentConfig.PackagePath instance GHC.Show.Show Hix.Data.ComponentConfig.PackagePath instance GHC.Classes.Eq Hix.Data.ComponentConfig.PackagePath instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.SourceDir instance GHC.Generics.Generic Hix.Data.ComponentConfig.SourceDir instance GHC.Show.Show Hix.Data.ComponentConfig.SourceDir instance GHC.Classes.Eq Hix.Data.ComponentConfig.SourceDir instance GHC.Generics.Generic Hix.Data.ComponentConfig.SourceDirs instance GHC.Show.Show Hix.Data.ComponentConfig.SourceDirs instance GHC.Classes.Eq Hix.Data.ComponentConfig.SourceDirs instance Data.Aeson.Types.FromJSON.FromJSONKey Hix.Data.ComponentConfig.PackageName instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.PackageName instance GHC.Classes.Ord Hix.Data.ComponentConfig.PackageName instance Data.String.IsString Hix.Data.ComponentConfig.PackageName instance GHC.Generics.Generic Hix.Data.ComponentConfig.PackageName instance GHC.Show.Show Hix.Data.ComponentConfig.PackageName instance GHC.Classes.Eq Hix.Data.ComponentConfig.PackageName instance Data.Aeson.Types.FromJSON.FromJSONKey Hix.Data.ComponentConfig.ModuleName instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.ModuleName instance GHC.Classes.Ord Hix.Data.ComponentConfig.ModuleName instance Data.String.IsString Hix.Data.ComponentConfig.ModuleName instance GHC.Generics.Generic Hix.Data.ComponentConfig.ModuleName instance GHC.Show.Show Hix.Data.ComponentConfig.ModuleName instance GHC.Classes.Eq Hix.Data.ComponentConfig.ModuleName instance Data.Aeson.Types.FromJSON.FromJSONKey Hix.Data.ComponentConfig.ComponentName instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.ComponentName instance GHC.Classes.Ord Hix.Data.ComponentConfig.ComponentName instance Data.String.IsString Hix.Data.ComponentConfig.ComponentName instance GHC.Generics.Generic Hix.Data.ComponentConfig.ComponentName instance GHC.Show.Show Hix.Data.ComponentConfig.ComponentName instance GHC.Classes.Eq Hix.Data.ComponentConfig.ComponentName instance Data.Aeson.Types.FromJSON.FromJSONKey Hix.Data.ComponentConfig.EnvName instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.EnvName instance GHC.Classes.Ord Hix.Data.ComponentConfig.EnvName instance Data.String.IsString Hix.Data.ComponentConfig.EnvName instance GHC.Generics.Generic Hix.Data.ComponentConfig.EnvName instance GHC.Show.Show Hix.Data.ComponentConfig.EnvName instance GHC.Classes.Eq Hix.Data.ComponentConfig.EnvName instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.EnvRunner instance GHC.Generics.Generic Hix.Data.ComponentConfig.EnvRunner instance GHC.Show.Show Hix.Data.ComponentConfig.EnvRunner instance GHC.Classes.Eq Hix.Data.ComponentConfig.EnvRunner instance GHC.Generics.Generic Hix.Data.ComponentConfig.PreludePackage instance GHC.Show.Show Hix.Data.ComponentConfig.PreludePackage instance GHC.Classes.Eq Hix.Data.ComponentConfig.PreludePackage instance GHC.Generics.Generic Hix.Data.ComponentConfig.PreludeConfig instance GHC.Show.Show Hix.Data.ComponentConfig.PreludeConfig instance GHC.Classes.Eq Hix.Data.ComponentConfig.PreludeConfig instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.ComponentConfig instance GHC.Generics.Generic Hix.Data.ComponentConfig.ComponentConfig instance GHC.Show.Show Hix.Data.ComponentConfig.ComponentConfig instance GHC.Classes.Eq Hix.Data.ComponentConfig.ComponentConfig instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.PackageConfig instance GHC.Generics.Generic Hix.Data.ComponentConfig.PackageConfig instance GHC.Show.Show Hix.Data.ComponentConfig.PackageConfig instance GHC.Classes.Eq Hix.Data.ComponentConfig.PackageConfig instance GHC.Generics.Generic Hix.Data.ComponentConfig.Target instance GHC.Show.Show Hix.Data.ComponentConfig.Target instance GHC.Classes.Eq Hix.Data.ComponentConfig.Target instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.PreludeConfig instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.PreludePackage instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.ComponentConfig.SourceDirs module Hix.Data.Error data Error PreprocError :: Text -> Error EnvError :: Text -> Error GhciError :: Text -> Error NewError :: Text -> Error BootstrapError :: Text -> Error NoMatch :: Text -> Error Fatal :: Text -> Error pathText :: Path b t -> Text printPreprocError :: MonadIO m => Text -> m () printEnvError :: MonadIO m => Text -> m () printGhciError :: MonadIO m => Text -> m () printNewError :: MonadIO m => Text -> m () printBootstrapError :: MonadIO m => Text -> m () printFatalError :: MonadIO m => Text -> m () sourceError :: Text -> Path b t -> Text tryIO :: IO a -> ExceptT Error IO a note :: Text -> Maybe a -> ExceptT Error IO a instance GHC.Generics.Generic Hix.Data.Error.Error instance GHC.Show.Show Hix.Data.Error.Error instance GHC.Classes.Eq Hix.Data.Error.Error module Hix.Cabal noMatch :: Text -> Path b File -> ExceptT Error IO a cabalsInDir :: Path Abs Dir -> ExceptT Error IO [Path Abs File] findCabal :: Path Abs File -> ExceptT Error IO (Path Abs File, Path Rel File) parseCabal :: Path Abs File -> ExceptT Error IO GenericPackageDescription buildInfo :: (a -> BuildInfo) -> (b, CondTree c d a) -> BuildInfo matchComponent :: GenericPackageDescription -> Path Rel File -> ExceptT Error IO BuildInfo buildInfoForFile :: Path Abs File -> ExceptT Error IO BuildInfo module Hix.Data.GhciConfig newtype RunnerName RunnerName :: Text -> RunnerName [$sel:unRunnerName:RunnerName] :: RunnerName -> Text newtype GhciSetupCode GhciSetupCode :: Text -> GhciSetupCode [$sel:unGhciSetupCode:GhciSetupCode] :: GhciSetupCode -> Text newtype GhciRunExpr GhciRunExpr :: Text -> GhciRunExpr [$sel:unGhciRunExpr:GhciRunExpr] :: GhciRunExpr -> Text newtype GhciArgs GhciArgs :: [Text] -> GhciArgs [$sel:unGhciArgs:GhciArgs] :: GhciArgs -> [Text] data EnvConfig EnvConfig :: PackagesConfig -> EnvRunner -> EnvConfig [$sel:packages:EnvConfig] :: EnvConfig -> PackagesConfig [$sel:defaultEnv:EnvConfig] :: EnvConfig -> EnvRunner data GhciConfig GhciConfig :: PackagesConfig -> Map RunnerName GhciSetupCode -> Map RunnerName GhciRunExpr -> GhciArgs -> GhciConfig [$sel:packages:GhciConfig] :: GhciConfig -> PackagesConfig [$sel:setup:GhciConfig] :: GhciConfig -> Map RunnerName GhciSetupCode [$sel:run:GhciConfig] :: GhciConfig -> Map RunnerName GhciRunExpr [$sel:args:GhciConfig] :: GhciConfig -> GhciArgs instance Data.Aeson.Types.FromJSON.FromJSONKey Hix.Data.GhciConfig.RunnerName instance GHC.Classes.Ord Hix.Data.GhciConfig.RunnerName instance Data.String.IsString Hix.Data.GhciConfig.RunnerName instance GHC.Generics.Generic Hix.Data.GhciConfig.RunnerName instance GHC.Show.Show Hix.Data.GhciConfig.RunnerName instance GHC.Classes.Eq Hix.Data.GhciConfig.RunnerName instance GHC.Base.Monoid Hix.Data.GhciConfig.GhciSetupCode instance GHC.Base.Semigroup Hix.Data.GhciConfig.GhciSetupCode instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.GhciConfig.GhciSetupCode instance GHC.Classes.Ord Hix.Data.GhciConfig.GhciSetupCode instance Data.String.IsString Hix.Data.GhciConfig.GhciSetupCode instance GHC.Generics.Generic Hix.Data.GhciConfig.GhciSetupCode instance GHC.Show.Show Hix.Data.GhciConfig.GhciSetupCode instance GHC.Classes.Eq Hix.Data.GhciConfig.GhciSetupCode instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.GhciConfig.GhciRunExpr instance GHC.Classes.Ord Hix.Data.GhciConfig.GhciRunExpr instance Data.String.IsString Hix.Data.GhciConfig.GhciRunExpr instance GHC.Generics.Generic Hix.Data.GhciConfig.GhciRunExpr instance GHC.Show.Show Hix.Data.GhciConfig.GhciRunExpr instance GHC.Classes.Eq Hix.Data.GhciConfig.GhciRunExpr instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.GhciConfig.GhciArgs instance GHC.Classes.Ord Hix.Data.GhciConfig.GhciArgs instance GHC.Exts.IsList Hix.Data.GhciConfig.GhciArgs instance GHC.Generics.Generic Hix.Data.GhciConfig.GhciArgs instance GHC.Show.Show Hix.Data.GhciConfig.GhciArgs instance GHC.Classes.Eq Hix.Data.GhciConfig.GhciArgs instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.GhciConfig.EnvConfig instance GHC.Generics.Generic Hix.Data.GhciConfig.EnvConfig instance GHC.Show.Show Hix.Data.GhciConfig.EnvConfig instance GHC.Classes.Eq Hix.Data.GhciConfig.EnvConfig instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.GhciConfig.GhciConfig instance GHC.Generics.Generic Hix.Data.GhciConfig.GhciConfig instance GHC.Show.Show Hix.Data.GhciConfig.GhciConfig instance GHC.Classes.Eq Hix.Data.GhciConfig.GhciConfig module Hix.Data.GhciTest data GhciTest GhciTest :: GhciArgs -> [Path Abs Dir] -> Text -> Maybe Text -> GhciTest [$sel:args:GhciTest] :: GhciTest -> GhciArgs [$sel:searchPath:GhciTest] :: GhciTest -> [Path Abs Dir] [$sel:script:GhciTest] :: GhciTest -> Text [$sel:test:GhciTest] :: GhciTest -> Maybe Text data GhciRun GhciRun :: GhciTest -> Text -> Maybe Text -> Path Abs File -> GhciRun [$sel:test:GhciRun] :: GhciRun -> GhciTest [$sel:shell:GhciRun] :: GhciRun -> Text [$sel:run:GhciRun] :: GhciRun -> Maybe Text [$sel:scriptFile:GhciRun] :: GhciRun -> Path Abs File data GhcidRun GhcidRun :: Text -> GhciRun -> GhcidRun [$sel:cmdline:GhcidRun] :: GhcidRun -> Text [$sel:ghci:GhcidRun] :: GhcidRun -> GhciRun instance GHC.Generics.Generic Hix.Data.GhciTest.GhciTest instance GHC.Show.Show Hix.Data.GhciTest.GhciTest instance GHC.Classes.Eq Hix.Data.GhciTest.GhciTest instance GHC.Generics.Generic Hix.Data.GhciTest.GhciRun instance GHC.Show.Show Hix.Data.GhciTest.GhciRun instance GHC.Classes.Eq Hix.Data.GhciTest.GhciRun instance GHC.Generics.Generic Hix.Data.GhciTest.GhcidRun instance GHC.Show.Show Hix.Data.GhciTest.GhcidRun instance GHC.Classes.Eq Hix.Data.GhciTest.GhcidRun module Hix.Data.NewProjectConfig newtype ProjectName ProjectName :: Text -> ProjectName [$sel:unProjectName:ProjectName] :: ProjectName -> Text newtype HixUrl HixUrl :: Text -> HixUrl [$sel:unHixUrl:HixUrl] :: HixUrl -> Text newtype Author Author :: Text -> Author [$sel:unAuthor:Author] :: Author -> Text data NewProjectConfig NewProjectConfig :: ProjectName -> Bool -> HixUrl -> Author -> NewProjectConfig [$sel:name:NewProjectConfig] :: NewProjectConfig -> ProjectName [$sel:packages:NewProjectConfig] :: NewProjectConfig -> Bool [$sel:hixUrl:NewProjectConfig] :: NewProjectConfig -> HixUrl [$sel:author:NewProjectConfig] :: NewProjectConfig -> Author instance GHC.Classes.Ord Hix.Data.NewProjectConfig.ProjectName instance Data.String.IsString Hix.Data.NewProjectConfig.ProjectName instance GHC.Generics.Generic Hix.Data.NewProjectConfig.ProjectName instance GHC.Show.Show Hix.Data.NewProjectConfig.ProjectName instance GHC.Classes.Eq Hix.Data.NewProjectConfig.ProjectName instance GHC.Classes.Ord Hix.Data.NewProjectConfig.HixUrl instance Data.String.IsString Hix.Data.NewProjectConfig.HixUrl instance GHC.Generics.Generic Hix.Data.NewProjectConfig.HixUrl instance GHC.Show.Show Hix.Data.NewProjectConfig.HixUrl instance GHC.Classes.Eq Hix.Data.NewProjectConfig.HixUrl instance GHC.Classes.Ord Hix.Data.NewProjectConfig.Author instance Data.String.IsString Hix.Data.NewProjectConfig.Author instance GHC.Generics.Generic Hix.Data.NewProjectConfig.Author instance GHC.Show.Show Hix.Data.NewProjectConfig.Author instance GHC.Classes.Eq Hix.Data.NewProjectConfig.Author instance GHC.Generics.Generic Hix.Data.NewProjectConfig.NewProjectConfig instance GHC.Show.Show Hix.Data.NewProjectConfig.NewProjectConfig instance GHC.Classes.Eq Hix.Data.NewProjectConfig.NewProjectConfig instance Data.Default.Class.Default Hix.Data.NewProjectConfig.HixUrl module Hix.Data.BootstrapProjectConfig data BootstrapProjectConfig BootstrapProjectConfig :: HixUrl -> BootstrapProjectConfig [$sel:hixUrl:BootstrapProjectConfig] :: BootstrapProjectConfig -> HixUrl instance GHC.Generics.Generic Hix.Data.BootstrapProjectConfig.BootstrapProjectConfig instance GHC.Show.Show Hix.Data.BootstrapProjectConfig.BootstrapProjectConfig instance GHC.Classes.Eq Hix.Data.BootstrapProjectConfig.BootstrapProjectConfig module Hix.Data.PreprocConfig data PreprocConfig PreprocConfig :: PackagesConfig -> PreprocConfig [$sel:packages:PreprocConfig] :: PreprocConfig -> PackagesConfig instance Data.Aeson.Types.FromJSON.FromJSON Hix.Data.PreprocConfig.PreprocConfig instance GHC.Generics.Generic Hix.Data.PreprocConfig.PreprocConfig instance GHC.Show.Show Hix.Data.PreprocConfig.PreprocConfig instance GHC.Classes.Eq Hix.Data.PreprocConfig.PreprocConfig module Hix.Monad data Env Env :: Path Abs Dir -> Env [$sel:root:Env] :: Env -> Path Abs Dir type M a = ReaderT Env (ExceptT Error IO) a noteEnv :: Text -> Maybe a -> M a noteGhci :: Text -> Maybe a -> M a noteNew :: Text -> Maybe a -> M a noteBootstrap :: Text -> Maybe a -> M a runM :: Path Abs Dir -> M a -> IO (Either Error a) tryIOM :: IO a -> M a instance GHC.Generics.Generic Hix.Monad.Env instance GHC.Show.Show Hix.Monad.Env instance GHC.Classes.Eq Hix.Monad.Env module Hix.Data.ProjectFile data ProjectFile ProjectFile :: Path Rel File -> Text -> ProjectFile [$sel:path:ProjectFile] :: ProjectFile -> Path Rel File [$sel:content:ProjectFile] :: ProjectFile -> Text createFile :: ProjectFile -> M () instance GHC.Generics.Generic Hix.Data.ProjectFile.ProjectFile instance GHC.Show.Show Hix.Data.ProjectFile.ProjectFile instance GHC.Classes.Eq Hix.Data.ProjectFile.ProjectFile module Hix.New license :: Author -> Text flake :: NewProjectConfig -> Text libModule :: NewProjectConfig -> Text -> Text appMainModule :: Text -> Text testMainModule :: Text -> Text nameTestModule :: NewProjectConfig -> Text -> Text newProjectFiles :: NewProjectConfig -> M [ProjectFile] newProject :: NewProjectConfig -> M () -- | Combinators for optparse-applicative. module Hix.Optparse -- | An absolute file path option for optparse-applicative. absFileOption :: ReadM (Path Abs File) -- | A relative file path option for optparse-applicative. relFileOption :: ReadM (Path Rel File) -- | A relative dir path option for optparse-applicative. relDirOption :: ReadM (Path Rel Dir) newtype JsonConfig JsonConfig :: IO (Either String Value) -> JsonConfig [$sel:unJsonConfig:JsonConfig] :: JsonConfig -> IO (Either String Value) jsonOption :: ReadM JsonConfig instance GHC.Generics.Generic Hix.Optparse.JsonConfig instance GHC.Show.Show Hix.Optparse.JsonConfig module Hix.Options data PreprocOptions PreprocOptions :: Maybe (Either PreprocConfig JsonConfig) -> Path Abs File -> Path Abs File -> Path Abs File -> PreprocOptions [$sel:config:PreprocOptions] :: PreprocOptions -> Maybe (Either PreprocConfig JsonConfig) [$sel:source:PreprocOptions] :: PreprocOptions -> Path Abs File [$sel:inFile:PreprocOptions] :: PreprocOptions -> Path Abs File [$sel:outFile:PreprocOptions] :: PreprocOptions -> Path Abs File data PackageSpec PackageSpec :: PackageName -> Maybe (SomeBase Dir) -> PackageSpec [$sel:name:PackageSpec] :: PackageSpec -> PackageName [$sel:dir:PackageSpec] :: PackageSpec -> Maybe (SomeBase Dir) data ComponentSpec ComponentSpec :: ComponentName -> Maybe SourceDir -> ComponentSpec [$sel:name:ComponentSpec] :: ComponentSpec -> ComponentName [$sel:dir:ComponentSpec] :: ComponentSpec -> Maybe SourceDir data ComponentCoords ComponentCoords :: PackageSpec -> ComponentSpec -> ComponentCoords [$sel:package:ComponentCoords] :: ComponentCoords -> PackageSpec [$sel:component:ComponentCoords] :: ComponentCoords -> ComponentSpec data TargetSpec TargetForFile :: Path Abs File -> TargetSpec TargetForComponent :: ComponentCoords -> TargetSpec data TestOptions TestOptions :: ModuleName -> Maybe Text -> Maybe RunnerName -> TestOptions [$sel:mod:TestOptions] :: TestOptions -> ModuleName [$sel:test:TestOptions] :: TestOptions -> Maybe Text [$sel:runner:TestOptions] :: TestOptions -> Maybe RunnerName data EnvRunnerOptions EnvRunnerOptions :: Either EnvConfig JsonConfig -> Maybe TargetSpec -> EnvRunnerOptions [$sel:config:EnvRunnerOptions] :: EnvRunnerOptions -> Either EnvConfig JsonConfig [$sel:component:EnvRunnerOptions] :: EnvRunnerOptions -> Maybe TargetSpec data GhciOptions GhciOptions :: Either GhciConfig JsonConfig -> TargetSpec -> TestOptions -> GhciOptions [$sel:config:GhciOptions] :: GhciOptions -> Either GhciConfig JsonConfig [$sel:component:GhciOptions] :: GhciOptions -> TargetSpec [$sel:test:GhciOptions] :: GhciOptions -> TestOptions data NewOptions NewOptions :: NewProjectConfig -> NewOptions [$sel:config:NewOptions] :: NewOptions -> NewProjectConfig data BootstrapOptions BootstrapOptions :: BootstrapProjectConfig -> BootstrapOptions [$sel:config:BootstrapOptions] :: BootstrapOptions -> BootstrapProjectConfig data EnvRunnerCommandOptions EnvRunnerCommandOptions :: EnvRunnerOptions -> TestOptions -> EnvRunnerCommandOptions [$sel:options:EnvRunnerCommandOptions] :: EnvRunnerCommandOptions -> EnvRunnerOptions [$sel:test:EnvRunnerCommandOptions] :: EnvRunnerCommandOptions -> TestOptions data Command Preproc :: PreprocOptions -> Command EnvRunner :: EnvRunnerCommandOptions -> Command GhcidCmd :: GhciOptions -> Command GhciCmd :: GhciOptions -> Command NewCmd :: NewOptions -> Command BootstrapCmd :: BootstrapOptions -> Command data GlobalOptions GlobalOptions :: Maybe Bool -> GlobalOptions [$sel:verbose:GlobalOptions] :: GlobalOptions -> Maybe Bool data Options Options :: GlobalOptions -> Command -> Options [$sel:global:Options] :: Options -> GlobalOptions [$sel:cmd:Options] :: Options -> Command fileParser :: String -> String -> Parser (Path Abs File) jsonConfigParser :: Parser JsonConfig preprocParser :: Parser PreprocOptions packageSpecParser :: Parser PackageSpec componentSpecParser :: Parser ComponentSpec componentForModuleParser :: Parser ComponentCoords componentForFileParser :: Parser TargetSpec targetSpecParser :: Parser TargetSpec envNameParser :: Parser EnvName testParser :: Parser (Maybe Text) runnerParser :: Parser (Maybe RunnerName) moduleParser :: Parser ModuleName testOptionsParser :: Parser TestOptions envParser :: Parser EnvRunnerCommandOptions ghciParser :: Parser GhciOptions newParser :: Parser NewOptions bootstrapParser :: Parser BootstrapOptions commands :: Mod CommandFields Command globalParser :: Parser GlobalOptions appParser :: Parser Options parseCli :: IO Options instance GHC.Generics.Generic Hix.Options.PreprocOptions instance GHC.Show.Show Hix.Options.PreprocOptions instance GHC.Generics.Generic Hix.Options.PackageSpec instance GHC.Show.Show Hix.Options.PackageSpec instance GHC.Classes.Eq Hix.Options.PackageSpec instance GHC.Generics.Generic Hix.Options.ComponentSpec instance GHC.Show.Show Hix.Options.ComponentSpec instance GHC.Classes.Eq Hix.Options.ComponentSpec instance GHC.Generics.Generic Hix.Options.ComponentCoords instance GHC.Show.Show Hix.Options.ComponentCoords instance GHC.Classes.Eq Hix.Options.ComponentCoords instance GHC.Generics.Generic Hix.Options.TargetSpec instance GHC.Show.Show Hix.Options.TargetSpec instance GHC.Classes.Eq Hix.Options.TargetSpec instance GHC.Generics.Generic Hix.Options.TestOptions instance GHC.Show.Show Hix.Options.TestOptions instance GHC.Classes.Eq Hix.Options.TestOptions instance GHC.Generics.Generic Hix.Options.EnvRunnerOptions instance GHC.Show.Show Hix.Options.EnvRunnerOptions instance GHC.Generics.Generic Hix.Options.GhciOptions instance GHC.Show.Show Hix.Options.GhciOptions instance GHC.Generics.Generic Hix.Options.NewOptions instance GHC.Show.Show Hix.Options.NewOptions instance GHC.Classes.Eq Hix.Options.NewOptions instance GHC.Generics.Generic Hix.Options.BootstrapOptions instance GHC.Show.Show Hix.Options.BootstrapOptions instance GHC.Classes.Eq Hix.Options.BootstrapOptions instance GHC.Generics.Generic Hix.Options.EnvRunnerCommandOptions instance GHC.Show.Show Hix.Options.EnvRunnerCommandOptions instance GHC.Show.Show Hix.Options.Command instance Data.Default.Class.Default Hix.Options.GlobalOptions instance GHC.Generics.Generic Hix.Options.GlobalOptions instance GHC.Show.Show Hix.Options.GlobalOptions instance GHC.Classes.Eq Hix.Options.GlobalOptions instance GHC.Show.Show Hix.Options.Options module Hix.Component tryPackageByDir :: PackagesConfig -> Path Rel Dir -> Maybe PackageConfig packageByDir :: PackagesConfig -> Path Rel Dir -> M PackageConfig packageForSpec :: PackagesConfig -> PackageSpec -> M PackageConfig matchComponent :: ComponentConfig -> ComponentSpec -> Bool componentError :: PackageName -> ComponentSpec -> Text targetForComponent :: PackagesConfig -> ComponentCoords -> M Target targetForFile :: PackagesConfig -> Path Abs File -> M Target targetComponent :: PackagesConfig -> TargetSpec -> M Target module Hix.Json jsonConfig :: FromJSON a => JsonConfig -> M a module Hix.Ghci relativeToComponent :: PackageConfig -> Maybe SourceDir -> Path Abs File -> M (Path Rel File) moduleName :: PackageConfig -> Maybe SourceDir -> GhciOptions -> M ModuleName ghciScript :: GhciConfig -> PackageConfig -> Maybe SourceDir -> GhciOptions -> M Text componentSearchPaths :: PackageConfig -> ComponentConfig -> [Path Rel Dir] librarySearchPaths :: Map PackageName PackageConfig -> [Path Rel Dir] searchPath :: Map PackageName PackageConfig -> PackageConfig -> ComponentConfig -> [Path Rel Dir] testRun :: GhciConfig -> TestOptions -> Maybe Text assemble :: GhciOptions -> M GhciTest hixTempDir :: ExceptT Error IO (Path Abs Dir) ghciScriptFile :: Path Abs Dir -> Text -> ExceptT Error IO (Path Abs File) searchPathArg :: NonEmpty (Path Abs Dir) -> Text ghciCmdline :: GhciTest -> Path Abs File -> Maybe (Path Abs File) -> GhciRun ghciCmdlineFromOptions :: Path Abs Dir -> GhciOptions -> M GhciRun ghcidCmdlineFromOptions :: Path Abs Dir -> GhciOptions -> M GhcidRun printGhciCmdline :: GhciOptions -> M () printGhcidCmdline :: GhciOptions -> M () module Hix.Env componentRunner :: PackagesConfig -> TargetSpec -> M (Maybe EnvRunner) envRunner :: EnvRunnerOptions -> M EnvRunner printEnvRunner :: EnvRunnerOptions -> M () module Hix.Prelude data Prelude Prelude :: String -> String -> Prelude [$sel:preludePackage:Prelude] :: Prelude -> String [$sel:preludeModule:Prelude] :: Prelude -> String preludeRenaming :: [(b, ModuleName)] -> Maybe b pattern PreludeRenaming :: ModuleName -> ModuleRenaming pattern PreludeInclude :: ModuleName -> IncludeRenaming findPrelude :: [Mixin] -> Maybe Prelude instance GHC.Show.Show Hix.Prelude.Prelude instance GHC.Classes.Eq Hix.Prelude.Prelude module Hix.Bootstrap data ExprAttr ExprAttr :: Text -> Expr -> ExprAttr [$sel:name:ExprAttr] :: ExprAttr -> Text [$sel:value:ExprAttr] :: ExprAttr -> Expr ExprAttrNil :: ExprAttr data Expr ExprString :: Text -> Expr ExprLit :: Text -> Expr ExprList :: [Expr] -> Expr ExprAttrs :: [ExprAttr] -> Expr ExprPrefix :: Text -> Expr -> Expr exprStrings :: [Text] -> Expr data CabalInfo CabalInfo :: Path Rel Dir -> GenericPackageDescription -> CabalInfo [$sel:path:CabalInfo] :: CabalInfo -> Path Rel Dir [$sel:info:CabalInfo] :: CabalInfo -> GenericPackageDescription data ComponentType Library :: ComponentType Executable :: Text -> ComponentType Benchmark :: Text -> ComponentType Test :: Text -> ComponentType data PreludeWithVersion PreludeWithVersion :: Prelude -> Maybe Dependency -> PreludeWithVersion [$sel:prelude:PreludeWithVersion] :: PreludeWithVersion -> Prelude [$sel:dep:PreludeWithVersion] :: PreludeWithVersion -> Maybe Dependency data HixComponent HixComponent :: ComponentType -> [ExprAttr] -> Maybe PreludeWithVersion -> HixComponent [$sel:special:HixComponent] :: HixComponent -> ComponentType [$sel:known:HixComponent] :: HixComponent -> [ExprAttr] [$sel:prelude:HixComponent] :: HixComponent -> Maybe PreludeWithVersion data HixPackage HixPackage :: PackageName -> Path Rel Dir -> [ExprAttr] -> [ExprAttr] -> ExprAttr -> [HixComponent] -> HixPackage [$sel:name:HixPackage] :: HixPackage -> PackageName [$sel:src:HixPackage] :: HixPackage -> Path Rel Dir [$sel:known:HixPackage] :: HixPackage -> [ExprAttr] [$sel:meta:HixPackage] :: HixPackage -> [ExprAttr] [$sel:description:HixPackage] :: HixPackage -> ExprAttr [$sel:components:HixPackage] :: HixPackage -> [HixComponent] indent :: Functor t => Int -> t Text -> t Text withSemicolon :: NonEmpty Text -> NonEmpty Text renderAttrs :: Int -> [ExprAttr] -> [Text] renderExpr :: Int -> Expr -> NonEmpty Text renderRootExpr :: Expr -> Text readCabal :: Path Abs Dir -> Path Rel File -> M CabalInfo class RenderCabalOption a renderCabalOption :: RenderCabalOption a => a -> Text checkEmpty :: Text -> Expr -> ExprAttr singleOpt :: RenderCabalOption a => Text -> (e -> Maybe a) -> e -> ExprAttr single :: RenderCabalOption a => Text -> (e -> a) -> e -> ExprAttr multiOpt :: RenderCabalOption a => Text -> (e -> Maybe [a]) -> e -> ExprAttr multi :: RenderCabalOption a => Text -> (e -> [a]) -> e -> ExprAttr multiOrSingle :: forall a e. RenderCabalOption a => Text -> (e -> [a]) -> e -> ExprAttr mkAttrs :: [e -> ExprAttr] -> e -> [ExprAttr] knownPackageKeys :: PackageDescription -> [ExprAttr] metaPackageKeys :: PackageDescription -> [ExprAttr] ghcFlavour :: PerCompilerFlavor a -> a notDefaultGhcOption :: String -> Bool knownComponentKeys :: Maybe Prelude -> BuildInfo -> (Maybe PreludeWithVersion, [ExprAttr]) notBase :: Dependency -> Bool convertComponent :: ComponentType -> BuildInfo -> HixComponent convertLibrary :: Library -> HixComponent convertExecutable :: UnqualComponentName -> Executable -> HixComponent convertTestsuite :: UnqualComponentName -> TestSuite -> HixComponent convertBenchmark :: UnqualComponentName -> Benchmark -> HixComponent convert :: CabalInfo -> HixPackage renderComponent :: HixComponent -> ExprAttr flakePackage :: HixPackage -> ExprAttr mainPackage :: [HixPackage] -> ExprAttr flake :: BootstrapProjectConfig -> [HixPackage] -> Expr bootstrapFiles :: BootstrapProjectConfig -> M [ProjectFile] bootstrapProject :: BootstrapProjectConfig -> M () instance GHC.Generics.Generic Hix.Bootstrap.ExprAttr instance GHC.Show.Show Hix.Bootstrap.ExprAttr instance GHC.Classes.Eq Hix.Bootstrap.ExprAttr instance GHC.Generics.Generic Hix.Bootstrap.Expr instance GHC.Show.Show Hix.Bootstrap.Expr instance GHC.Classes.Eq Hix.Bootstrap.Expr instance GHC.Generics.Generic Hix.Bootstrap.CabalInfo instance GHC.Show.Show Hix.Bootstrap.CabalInfo instance GHC.Classes.Eq Hix.Bootstrap.CabalInfo instance GHC.Generics.Generic Hix.Bootstrap.ComponentType instance GHC.Show.Show Hix.Bootstrap.ComponentType instance GHC.Classes.Eq Hix.Bootstrap.ComponentType instance GHC.Generics.Generic Hix.Bootstrap.PreludeWithVersion instance GHC.Show.Show Hix.Bootstrap.PreludeWithVersion instance GHC.Classes.Eq Hix.Bootstrap.PreludeWithVersion instance GHC.Generics.Generic Hix.Bootstrap.HixComponent instance GHC.Show.Show Hix.Bootstrap.HixComponent instance GHC.Classes.Eq Hix.Bootstrap.HixComponent instance GHC.Generics.Generic Hix.Bootstrap.HixPackage instance GHC.Show.Show Hix.Bootstrap.HixPackage instance GHC.Classes.Eq Hix.Bootstrap.HixPackage instance Distribution.Pretty.Pretty a => Hix.Bootstrap.RenderCabalOption a instance Hix.Bootstrap.RenderCabalOption Distribution.Utils.ShortText.ShortText instance Hix.Bootstrap.RenderCabalOption GHC.Base.String module Hix.Preproc type Regex = IndexedTraversal' Int ByteString Match fromPreludeConfig :: PreludeConfig -> Prelude data CabalConfig CabalConfig :: [Builder] -> [Builder] -> Maybe Prelude -> CabalConfig [$sel:extensions:CabalConfig] :: CabalConfig -> [Builder] [$sel:ghcOptions:CabalConfig] :: CabalConfig -> [Builder] [$sel:prelude:CabalConfig] :: CabalConfig -> Maybe Prelude newtype DummyExportName DummyExportName :: ByteString -> DummyExportName [$sel:unDummyExportName:DummyExportName] :: DummyExportName -> ByteString noMatch :: Text -> Path b File -> ExceptT Error IO a takeLine :: ByteString -> Maybe (ByteString, ByteString) nl :: Builder lineB :: Builder -> Builder line :: ByteString -> Builder joinLinesReverse :: [ByteString] -> ByteString joinLinesReverseBuilder :: [ByteString] -> Builder extension :: Extension -> Maybe Builder languagePragma :: [Builder] -> Builder extensionsPragma :: CabalConfig -> Maybe Builder optionsPragma :: Builder -> Builder noImplicitPreludeRegex :: Regex commentRegex :: Regex moduleRegex :: Regex moduleEndRegex :: Regex importsEndRegex :: Regex importRegex :: Regex containsNoImplicitPrelude :: ByteString -> Bool isComment :: ByteString -> Bool isModule :: ByteString -> Maybe ByteString isModuleEnd :: ByteString -> Bool isImportsEnd :: ByteString -> Bool isImport :: ByteString -> Bool data Phase PreModule :: Phase ModuleStart :: Phase ModuleExports :: Phase Imports :: Phase data PreludeAction PreludeDefault :: PreludeAction PreludeNoImplicit :: PreludeAction PreludeReplaced :: PreludeAction data CustomPrelude CustomPrelude :: Prelude -> PreludeAction -> CustomPrelude NoCustomPrelude :: CustomPrelude notPre :: Phase -> Bool pattern NotPre :: Phase inModule :: Phase -> Bool pattern InModule :: Phase preludeRegex :: Regex replacePrelude :: ByteString -> Prelude -> Maybe ByteString parenRegex :: Regex dummyExportPlaceholder :: ByteString dummyExportPlaceholderRegex :: Regex insertExport :: ByteString -> ByteString moduleExportsRegex :: Regex moduleExports :: ByteString -> [ByteString] data Header Header :: [ByteString] -> [ByteString] -> Builder -> Int -> Int -> CustomPrelude -> Bool -> Header [$sel:moduleLines:Header] :: Header -> [ByteString] [$sel:importLines:Header] :: Header -> [ByteString] [$sel:rest:Header] :: Header -> Builder [$sel:moduleEndLine:Header] :: Header -> Int [$sel:importsEndLine:Header] :: Header -> Int [$sel:prelude:Header] :: Header -> CustomPrelude [$sel:exportsSelf:Header] :: Header -> Bool data ScanState ScanState :: Phase -> [ByteString] -> [ByteString] -> Int -> Int -> CustomPrelude -> Maybe ByteString -> Bool -> ScanState [$sel:phase:ScanState] :: ScanState -> Phase [$sel:moduleLines:ScanState] :: ScanState -> [ByteString] [$sel:importLines:ScanState] :: ScanState -> [ByteString] [$sel:moduleLength:ScanState] :: ScanState -> Int [$sel:importsLength:ScanState] :: ScanState -> Int [$sel:prelude:ScanState] :: ScanState -> CustomPrelude [$sel:moduleName:ScanState] :: ScanState -> Maybe ByteString [$sel:exportsSelf:ScanState] :: ScanState -> Bool scanHeader :: Maybe Prelude -> ByteString -> Header customPreludeImport :: Prelude -> Builder needPreludeExtensions :: PreludeAction -> Bool pattern NeedPreludeExtensions :: PreludeAction needDummy :: CustomPrelude -> Bool pattern NeedDummy :: CustomPrelude preludeExtensions :: CustomPrelude -> Builder explicitPreludeImport :: Builder -> CustomPrelude -> Builder dummyDecl :: CustomPrelude -> Builder -> DummyExportName -> Builder replaceDummy :: CustomPrelude -> Bool -> DummyExportName -> ByteString -> ByteString assemble :: Path Abs File -> Header -> Maybe Builder -> Maybe Builder -> DummyExportName -> Builder preprocessModule :: Path Abs File -> CabalConfig -> DummyExportName -> ByteString -> Builder preprocessWith :: PreprocOptions -> CabalConfig -> M () fromConfig :: Path Abs File -> Either PreprocConfig JsonConfig -> M CabalConfig fromCabal :: BuildInfo -> CabalConfig fromCabalFile :: Path Abs File -> M CabalConfig preprocess :: PreprocOptions -> M () instance GHC.Generics.Generic Hix.Preproc.CabalConfig instance GHC.Show.Show Hix.Preproc.CabalConfig instance GHC.Classes.Ord Hix.Preproc.DummyExportName instance Data.String.IsString Hix.Preproc.DummyExportName instance GHC.Generics.Generic Hix.Preproc.DummyExportName instance GHC.Show.Show Hix.Preproc.DummyExportName instance GHC.Classes.Eq Hix.Preproc.DummyExportName instance GHC.Generics.Generic Hix.Preproc.Phase instance GHC.Show.Show Hix.Preproc.Phase instance GHC.Classes.Eq Hix.Preproc.Phase instance GHC.Generics.Generic Hix.Preproc.PreludeAction instance GHC.Show.Show Hix.Preproc.PreludeAction instance GHC.Classes.Eq Hix.Preproc.PreludeAction instance GHC.Generics.Generic Hix.Preproc.CustomPrelude instance GHC.Show.Show Hix.Preproc.CustomPrelude instance GHC.Generics.Generic Hix.Preproc.Header instance GHC.Show.Show Hix.Preproc.Header instance GHC.Generics.Generic Hix.Preproc.ScanState instance GHC.Show.Show Hix.Preproc.ScanState module Hix handleError :: MonadIO m => GlobalOptions -> Error -> m () runCommand :: Command -> M () main :: IO ()