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