data Autoload : Type Packages to automatically load in a REPL session
in absence of an `.ipkg` file in scope.
Totality: total
Visibility: public export
Constructors:
NoPkgs : Autoload Don't load any packages automatically (the default)
Installed : Autoload Load all installed packages of the current scope
AutoLibs : Autoload Use the packages from the list of packages to be installed
automatically
AutoPkgs : List PkgName -> Autoload Use the given explicit list of packages
ForcePkgs : List PkgName -> Autoload Use the given explicit list of packages even in the
precense of an `.ipkg` file.
Hint: FromTOML Autoload
data QueryType : Type What to show when querying the data base
Totality: total
Visibility: public export
Constructors:
NameOnly : QueryType Display only the matching packages' names
ShortDesc : QueryType Display names and short descriptions
Dependencies : QueryType List direct dependencies
Ipkg : QueryType Print the full `.ipkg` file
Details : QueryType List detailed information about a package
Tree : QueryType Print dependency tree
ReverseTree : QueryType Print inverse dependency tree
(That is, a tree of packages depending on a given package)
data Codegen : Type Code generator to use
Totality: total
Visibility: public export
Constructors:
Default : Codegen Chez : Codegen ChezSep : Codegen Racket : Codegen Gambit : Codegen Node : Codegen JavaScript : Codegen RefC : Codegen VMCode : Codegen Other : String -> Codegen
Hints:
FromTOML Codegen Interpolation Codegen
fromString : String -> Codegen- Totality: total
Visibility: public export data WithIpkg : Type Data type describing whether to search for an `.ipkg`
file in one of the parent directories (the default), not
to use an `.ipkg` file at all, or to use the one provided at
the command line.
This is only relevant when working with Idris source files
directly, for instance when loading them into a REPL session.
Totality: total
Visibility: public export
Constructors:
Search : CurDir -> WithIpkg Search for an `.ipkg` file in a parent directory.
If an `.idr` file is provided, the parent directories
of this file will be searched. If no `.idr` file is
given, the current working directory will be search,
which is given as an argument to this constructor.
None : WithIpkg Don't use an `.ipkg` file.
Use : File Abs -> WithIpkg Use the given `.ipkg` file, provided as a command line
argument.
data RlwrapConfig : Type Data type describing whether `rlwrap` command should be used
and which additional arguments should be passed to it.
This is basically equivalent to `Maybe CmdArgList`, but
separate type disallows confusion with `Maybe` from `MConfig`,
i.e. between not being set and set to not to use `rlwrap`.
Totality: total
Visibility: public export
Constructors:
DoNotUseRlwrap : RlwrapConfig UseRlwrap : CmdArgList -> RlwrapConfig
Hint: FromTOML RlwrapConfig
0 I : Type -> Type Type-level identity
Totality: total
Visibility: public exportrecord Config_ : (Type -> Type) -> Type -> Type User-defined configuration
@ f : This is used to represent the context of values.
When we use the config as an environment for running pack
programs, the context will be set to `I` (the identity function
for types). This means, all fields will be mandatory.
For updating the configuration from a `pack.toml` file,
we use context `Maybe`, because all values will be optional.
@ c : This is the type of commit given for custom packages.
Totality: total
Visibility: public export
Constructor: MkConfig : f DBName -> Maybe URL -> Maybe c -> List c -> Maybe URL -> Maybe c -> f FilePath -> f Bool -> f Bool -> f Bool -> f Bool -> f Bool -> f Bool -> f Bool -> f (List PkgName) -> f Bool -> f Bool -> f Bool -> f WithIpkg -> f RlwrapConfig -> f CmdArgList -> f (List PkgName) -> f (List PkgName) -> f Autoload -> f (SortedMap DBName (SortedMap PkgName (Package_ c))) -> f QueryType -> f LogLevel -> f Codegen -> f Body -> f (SortedMap String LogLevel) -> f Bool -> Config_ f c
Projections:
.allIdrisCommits : Config_ f c -> List c All Idris commits mentioned in used configs
.autoApps : Config_ f c -> f (List PkgName) Applications to install automatically
.autoLibs : Config_ f c -> f (List PkgName) Libraries to install automatically
.autoLoad : Config_ f c -> f Autoload Libraries to automatically load in a REPL session
.bootstrap : Config_ f c -> f Bool Whether to bootstrap when building Idris2
.bootstrapStage3 : Config_ f c -> f Bool Whether to rebuild Idris2 with the stage 2 compiler
.codegen : Config_ f c -> f Codegen Codegen to use
.collection : Config_ f c -> f DBName Package collection to use
.custom : Config_ f c -> f (SortedMap DBName (SortedMap PkgName (Package_ c))) Customizations to the package data base
Any extra arguments to pass to Idris2 executable.
.gcPrompt : Config_ f c -> f Bool Whether to prompt for a confirmation when
running the garbage collector for removing no longer used
installation directories.
.gcPurge : Config_ f c -> f Bool Whether to remove not only stuff compiled with outdated version
of the compiler but also libs and apps whose install hash does not
match the current one.
.gitInit : Config_ f c -> f Bool Whether to initialize git.
.idrisCommit : Config_ f c -> Maybe c Custom Idris commit
This overrides the one from the package collection if not
set to `Nothing`.
.idrisURL : Config_ f c -> Maybe URL URL to a custom Idris repo
This overrides the one from the package collection if not
set to `Nothing`.
.levels : Config_ f c -> f (SortedMap String LogLevel) Default LogLevels for different commands
.logLevel : Config_ f c -> f LogLevel Verbosity of the Log
.output : Config_ f c -> f Body Name of output file when compiling Idris source files
.packCommit : Config_ f c -> Maybe c Custom pack branch to use (default is `main`)
.packURL : Config_ f c -> Maybe URL Custom pack repo
.queryType : Config_ f c -> f QueryType Type of query to run
.rlwrap : Config_ f c -> f RlwrapConfig Whether to use `rlwrap` to run a REPL session
.safetyPrompt : Config_ f c -> f Bool Whether to prompt for a confirmation when
building or installing a package with custom
build or install hooks.
.scheme : Config_ f c -> f FilePath Scheme executable to use
.skipTests : Config_ f c -> f Bool Whether to skip tests during collection checking
.useKatla : Config_ f c -> f Bool Whether to use katla to add semantically highlighted source code
to the library docs.
.warnDepends : Config_ f c -> f Bool Whether to issue a warning in precense of a local `depends` directory
.whitelist : Config_ f c -> f (List PkgName) List of package names, for which we will not issue a safety prompt
in case of custom `.ipkg` hooks, even if `safetyPrompt` is set
to `True`
.withDocs : Config_ f c -> f Bool Whether to install the library docs as well
.withIpkg : Config_ f c -> f WithIpkg The `.ipkg` file to use (if any) when starting a REPL session
.withSrc : Config_ f c -> f Bool Whether to install the library sources as well
.collection : Config_ f c -> f DBName Package collection to use
Totality: total
Visibility: public exportcollection : Config_ f c -> f DBName Package collection to use
Totality: total
Visibility: public export.idrisURL : Config_ f c -> Maybe URL URL to a custom Idris repo
This overrides the one from the package collection if not
set to `Nothing`.
Totality: total
Visibility: public exportidrisURL : Config_ f c -> Maybe URL URL to a custom Idris repo
This overrides the one from the package collection if not
set to `Nothing`.
Totality: total
Visibility: public export.idrisCommit : Config_ f c -> Maybe c Custom Idris commit
This overrides the one from the package collection if not
set to `Nothing`.
Totality: total
Visibility: public exportidrisCommit : Config_ f c -> Maybe c Custom Idris commit
This overrides the one from the package collection if not
set to `Nothing`.
Totality: total
Visibility: public export.allIdrisCommits : Config_ f c -> List c All Idris commits mentioned in used configs
Totality: total
Visibility: public exportallIdrisCommits : Config_ f c -> List c All Idris commits mentioned in used configs
Totality: total
Visibility: public export.packURL : Config_ f c -> Maybe URL Custom pack repo
Totality: total
Visibility: public exportpackURL : Config_ f c -> Maybe URL Custom pack repo
Totality: total
Visibility: public export.packCommit : Config_ f c -> Maybe c Custom pack branch to use (default is `main`)
Totality: total
Visibility: public exportpackCommit : Config_ f c -> Maybe c Custom pack branch to use (default is `main`)
Totality: total
Visibility: public export.scheme : Config_ f c -> f FilePath Scheme executable to use
Totality: total
Visibility: public exportscheme : Config_ f c -> f FilePath Scheme executable to use
Totality: total
Visibility: public export.bootstrap : Config_ f c -> f Bool Whether to bootstrap when building Idris2
Totality: total
Visibility: public exportbootstrap : Config_ f c -> f Bool Whether to bootstrap when building Idris2
Totality: total
Visibility: public export.bootstrapStage3 : Config_ f c -> f Bool Whether to rebuild Idris2 with the stage 2 compiler
Totality: total
Visibility: public exportbootstrapStage3 : Config_ f c -> f Bool Whether to rebuild Idris2 with the stage 2 compiler
Totality: total
Visibility: public export.safetyPrompt : Config_ f c -> f Bool Whether to prompt for a confirmation when
building or installing a package with custom
build or install hooks.
Totality: total
Visibility: public exportsafetyPrompt : Config_ f c -> f Bool Whether to prompt for a confirmation when
building or installing a package with custom
build or install hooks.
Totality: total
Visibility: public export.gcPrompt : Config_ f c -> f Bool Whether to prompt for a confirmation when
running the garbage collector for removing no longer used
installation directories.
Totality: total
Visibility: public exportgcPrompt : Config_ f c -> f Bool Whether to prompt for a confirmation when
running the garbage collector for removing no longer used
installation directories.
Totality: total
Visibility: public export.gcPurge : Config_ f c -> f Bool Whether to remove not only stuff compiled with outdated version
of the compiler but also libs and apps whose install hash does not
match the current one.
Totality: total
Visibility: public exportgcPurge : Config_ f c -> f Bool Whether to remove not only stuff compiled with outdated version
of the compiler but also libs and apps whose install hash does not
match the current one.
Totality: total
Visibility: public export.warnDepends : Config_ f c -> f Bool Whether to issue a warning in precense of a local `depends` directory
Totality: total
Visibility: public exportwarnDepends : Config_ f c -> f Bool Whether to issue a warning in precense of a local `depends` directory
Totality: total
Visibility: public export.skipTests : Config_ f c -> f Bool Whether to skip tests during collection checking
Totality: total
Visibility: public exportskipTests : Config_ f c -> f Bool Whether to skip tests during collection checking
Totality: total
Visibility: public export.whitelist : Config_ f c -> f (List PkgName) List of package names, for which we will not issue a safety prompt
in case of custom `.ipkg` hooks, even if `safetyPrompt` is set
to `True`
Totality: total
Visibility: public exportwhitelist : Config_ f c -> f (List PkgName) List of package names, for which we will not issue a safety prompt
in case of custom `.ipkg` hooks, even if `safetyPrompt` is set
to `True`
Totality: total
Visibility: public export.withSrc : Config_ f c -> f Bool Whether to install the library sources as well
Totality: total
Visibility: public exportwithSrc : Config_ f c -> f Bool Whether to install the library sources as well
Totality: total
Visibility: public export.withDocs : Config_ f c -> f Bool Whether to install the library docs as well
Totality: total
Visibility: public exportwithDocs : Config_ f c -> f Bool Whether to install the library docs as well
Totality: total
Visibility: public export.useKatla : Config_ f c -> f Bool Whether to use katla to add semantically highlighted source code
to the library docs.
Totality: total
Visibility: public exportuseKatla : Config_ f c -> f Bool Whether to use katla to add semantically highlighted source code
to the library docs.
Totality: total
Visibility: public export.withIpkg : Config_ f c -> f WithIpkg The `.ipkg` file to use (if any) when starting a REPL session
Totality: total
Visibility: public exportwithIpkg : Config_ f c -> f WithIpkg The `.ipkg` file to use (if any) when starting a REPL session
Totality: total
Visibility: public export.rlwrap : Config_ f c -> f RlwrapConfig Whether to use `rlwrap` to run a REPL session
Totality: total
Visibility: public exportrlwrap : Config_ f c -> f RlwrapConfig Whether to use `rlwrap` to run a REPL session
Totality: total
Visibility: public export Any extra arguments to pass to Idris2 executable.
Totality: total
Visibility: public export Any extra arguments to pass to Idris2 executable.
Totality: total
Visibility: public export.autoLibs : Config_ f c -> f (List PkgName) Libraries to install automatically
Totality: total
Visibility: public exportautoLibs : Config_ f c -> f (List PkgName) Libraries to install automatically
Totality: total
Visibility: public export.autoApps : Config_ f c -> f (List PkgName) Applications to install automatically
Totality: total
Visibility: public exportautoApps : Config_ f c -> f (List PkgName) Applications to install automatically
Totality: total
Visibility: public export.autoLoad : Config_ f c -> f Autoload Libraries to automatically load in a REPL session
Totality: total
Visibility: public exportautoLoad : Config_ f c -> f Autoload Libraries to automatically load in a REPL session
Totality: total
Visibility: public export.custom : Config_ f c -> f (SortedMap DBName (SortedMap PkgName (Package_ c))) Customizations to the package data base
Totality: total
Visibility: public exportcustom : Config_ f c -> f (SortedMap DBName (SortedMap PkgName (Package_ c))) Customizations to the package data base
Totality: total
Visibility: public export.queryType : Config_ f c -> f QueryType Type of query to run
Totality: total
Visibility: public exportqueryType : Config_ f c -> f QueryType Type of query to run
Totality: total
Visibility: public export.logLevel : Config_ f c -> f LogLevel Verbosity of the Log
Totality: total
Visibility: public exportlogLevel : Config_ f c -> f LogLevel Verbosity of the Log
Totality: total
Visibility: public export.codegen : Config_ f c -> f Codegen Codegen to use
Totality: total
Visibility: public exportcodegen : Config_ f c -> f Codegen Codegen to use
Totality: total
Visibility: public export.output : Config_ f c -> f Body Name of output file when compiling Idris source files
Totality: total
Visibility: public exportoutput : Config_ f c -> f Body Name of output file when compiling Idris source files
Totality: total
Visibility: public export.levels : Config_ f c -> f (SortedMap String LogLevel) Default LogLevels for different commands
Totality: total
Visibility: public exportlevels : Config_ f c -> f (SortedMap String LogLevel) Default LogLevels for different commands
Totality: total
Visibility: public export.gitInit : Config_ f c -> f Bool Whether to initialize git.
Totality: total
Visibility: public exportgitInit : Config_ f c -> f Bool Whether to initialize git.
Totality: total
Visibility: public export0 IConfig : Type -> Type Configuration with mandatory fields.
Totality: total
Visibility: public export0 MConfig : Type -> Type Configuration with optional fields.
Totality: total
Visibility: public export0 MetaConfig : Type Application config with meta commits not yet resolved.
Totality: total
Visibility: public export0 Config : Type Fully resolved application config.
Totality: total
Visibility: public export0 UserConfig : Type User-defined adjustments to the application config.
Totality: total
Visibility: public exporttraverse : Applicative f => (URL -> a -> f b) -> URL -> Config_ I a -> f (Config_ I b) Effectfully convert all custom package descriptions
stored in a configuration. This is mainly used to
resolve meta commits to mere commits.
Totality: total
Visibility: exportconfigToLogRef : Config => LogRef This allows us to use a `Config` in scope when we
need an auto-implicit `LogLevel` for logging.
Totality: total
Visibility: exportmetaConfigToLogRef : MetaConfig => LogRef This allows us to use a `MetaConfig` in scope when we
need an auto-implicit `LogLevel` for logging.
Totality: total
Visibility: exportmergeRight : SortedMap k v -> SortedMap k v -> SortedMap k v- Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 8 init : CurDir => DBName -> MetaConfig Initial config
Totality: total
Visibility: exportupdate : IConfig c -> MConfig c -> IConfig c Update a config with optional settings
Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 7data HasIdris : Config -> DB -> Type Proof that we have verified that the required Idris
compiler has been installed.
Totality: total
Visibility: public export
Constructor: ItHasIdris : HasIdris c db
0 LibCache : Type Cache used during package resolution
Totality: total
Visibility: public exportemptyCache : HasIO io => io LibCache Create an empty library cache
Totality: total
Visibility: exportcacheLib : HasIO io => LibCache => PkgName -> ResolvedLib U -> io (ResolvedLib U) Cache a resolved library
Totality: total
Visibility: exportlookupLib : HasIO io => LibCache => PkgName -> io (Maybe (ResolvedLib U)) Lookup a library in the cache
Totality: total
Visibility: exportuncacheLib : HasIO io => LibCache => PkgName -> io () Lookup a library in the cache
Totality: total
Visibility: exportrecord Env : Type Environment used by most pack methods, consisting of
the `PACK_DIR` environment variable, the user-defined
application configuratin, and the data collection to
use.
Totality: total
Visibility: public export
Constructor: MkEnv : PackDirs -> TmpDir -> Config -> LibCache -> DB -> SortedMap PkgName Package -> LineBufferingCmd -> Clock UTC -> Env
Projections:
.all : Env -> SortedMap PkgName Package .cache : Env -> LibCache .clock : Env -> Clock UTC .config : Env -> Config .db : Env -> DB .linebuf : Env -> LineBufferingCmd .packDirs : Env -> PackDirs .tmpDir : Env -> TmpDir
Hints:
Env => Config Env => DB IdrisEnv => Env Env => LibCache Env => LineBufferingCmd Env => PackDirs Env => TmpDir
.packDirs : Env -> PackDirs- Totality: total
Visibility: public export packDirs : Env -> PackDirs- Totality: total
Visibility: public export .tmpDir : Env -> TmpDir- Totality: total
Visibility: public export tmpDir : Env -> TmpDir- Totality: total
Visibility: public export .config : Env -> Config- Totality: total
Visibility: public export config : Env -> Config- Totality: total
Visibility: public export .cache : Env -> LibCache- Totality: total
Visibility: public export cache : Env -> LibCache- Totality: total
Visibility: public export .db : Env -> DB- Totality: total
Visibility: public export db : Env -> DB- Totality: total
Visibility: public export .all : Env -> SortedMap PkgName Package- Totality: total
Visibility: public export all : Env -> SortedMap PkgName Package- Totality: total
Visibility: public export .linebuf : Env -> LineBufferingCmd- Totality: total
Visibility: public export linebuf : Env -> LineBufferingCmd- Totality: total
Visibility: public export .clock : Env -> Clock UTC- Totality: total
Visibility: public export clock : Env -> Clock UTC- Totality: total
Visibility: public export nanoString : Env => String Returns the current nanoseconds as a string.
Totality: total
Visibility: exportenvToPackDirs : Env => PackDirs This allows us to use an `Env` in scope when we
need an auto-implicit `PackDirs`.
Totality: total
Visibility: exportenvToTmpDir : Env => TmpDir This allows us to use an `Env` in scope when we
need an auto-implicit `TmpDir`.
Totality: total
Visibility: exportenvToCache : Env => LibCache This allows us to use an `Env` in scope when we
need an auto-implicit `LibCache`.
Totality: total
Visibility: exportenvToConfig : Env => Config This allows us to use an `Env` in scope when we
need an auto-implicit `Config`.
Totality: total
Visibility: exportenvToDB : Env => DB This allows us to use an `Env` in scope when we
need an auto-implicit `DB`.
Totality: total
Visibility: exportenvToLinebuf : Env => LineBufferingCmd This allows us to use an `Env` in scope when we
need an auto-implicit `LineBufferingCmd`.
Totality: total
Visibility: exportrecord IdrisEnv : Type Like `Pack.Config.Types.Env`, but with an erased proof
that the Idris compiler installation has been verified.
Totality: total
Visibility: public export
Constructor: MkIdrisEnv : (env : Env) -> TTCVersion -> (0 _ : HasIdris (env .config) (env .db)) -> IdrisEnv
Projections:
.env : IdrisEnv -> Env 0 .prf : ({rec:0} : IdrisEnv) -> HasIdris ((env {rec:0}) .config) ((env {rec:0}) .db) .ttc : IdrisEnv -> TTCVersion
Hints:
IdrisEnv => Env IdrisEnv => TTCVersion
.env : IdrisEnv -> Env- Totality: total
Visibility: public export env : IdrisEnv -> Env- Totality: total
Visibility: public export .ttc : IdrisEnv -> TTCVersion- Totality: total
Visibility: public export ttc : IdrisEnv -> TTCVersion- Totality: total
Visibility: public export 0 .prf : ({rec:0} : IdrisEnv) -> HasIdris ((env {rec:0}) .config) ((env {rec:0}) .db)- Totality: total
Visibility: public export 0 prf : ({rec:0} : IdrisEnv) -> HasIdris ((env {rec:0}) .config) ((env {rec:0}) .db)- Totality: total
Visibility: public export idrisEnvToEnv : IdrisEnv => Env This allows us to use an `IdrisEnv` in scope when we
need an auto-implicit `Env`.
Totality: total
Visibility: exportidrisEnvToTTC : IdrisEnv => TTCVersion This allows us to use an `IdrisEnv` in scope when we
need an auto-implicit `TTCVersion`.
Totality: total
Visibility: exportinterface Arg : Type -> Type An interface for parsing the argument list of a pack command
Parameters: a
Methods:
argDesc_ : String readArg : List String -> Maybe (a, List String)
Implementations:
Arg a => Arg (Maybe a) CurDir => Arg (File Abs) CurDir => Arg (Path Abs) CurDir => Arg PkgOrIpkg Arg PkgName Arg PkgType Arg CmdArgList Arg (List PkgName) Arg Body Arg DBName Arg String Arg PkgQuery Arg FuzzyQuery Arg ConfiguredCmd Arg TrivialCmd Arg Cmd
argDesc_ : Arg a => String- Totality: total
Visibility: public export readArg : Arg a => List String -> Maybe (a, List String)- Totality: total
Visibility: public export argDesc : (0 a : Type) -> Arg a => String Utility version of `argDesc_` with an explicit erased type argument.
Totality: total
Visibility: public exportparseSingleMaybe : (String -> Maybe a) -> List String -> Maybe (a, List String) Utility for implementing `readArg` via a function reading a single string.
Totality: total
Visibility: exportparseSingle : (String -> Either e a) -> List String -> Maybe (a, List String) Utility for implementing `readArg` via a function reading a single string.
Totality: total
Visibility: exportreadSingle : (String -> a) -> List String -> Maybe (a, List String) Utility for implementing `readArg` via a function reading a single string.
Totality: total
Visibility: exportinterface Command : Type -> Type Interface representing pack commands. We abstract over this
because both pack and pack-admin accept different types of
commands, but both use the same functionality for reading
the application config based on the command they use.
A command `c` is expected to be an enum type. This interface provides
a name and detailed description for each command, as well as the types of
arguments a command takes.
This allows us to generate useful error messages when the wrong type
of argument is passed to a command. It also allows us to implement the
parsing of commands only once.
Parameters: c
Methods:
defaultCommand : c The command to use if only command line options but
not command is given.
appName : String Name of the application in question
cmdName : c -> String Name of command in question
defaultLevel : c -> LogLevel The default log level to use.
desc : c -> String Detailed usage description of the command
usage : Lazy String General usage of the application in question
0 ArgTypes : c -> List Type Types of arguments required by the given command
readCommand_ : String -> Maybe c Tries to read a command from a String
readArgs : CurDir => (cmd : c) -> All Arg (ArgTypes cmd) List of argument readers for the current command
adjConfig_ : HasIO io => PackDirs => TmpDir => (cmd : c) -> All I (ArgTypes cmd) -> MetaConfig -> EitherT PackErr io MetaConfig Some commands overwrite certain aspects of the user-defined
config. For instance, `pack switch latest` must overwrite the
package collection read from the `pack.toml` files with the
latest package collection available.
defaultCommand : Command c => c The command to use if only command line options but
not command is given.
Totality: total
Visibility: public exportappName : Command c => String Name of the application in question
Totality: total
Visibility: public exportcmdName : Command c => c -> String Name of command in question
Totality: total
Visibility: public exportdefaultLevel : Command c => c -> LogLevel The default log level to use.
Totality: total
Visibility: public exportdesc : Command c => c -> String Detailed usage description of the command
Totality: total
Visibility: public exportusage : Command c => Lazy String General usage of the application in question
Totality: total
Visibility: public export0 ArgTypes : Command c => c -> List Type Types of arguments required by the given command
Totality: total
Visibility: public exportreadCommand_ : Command c => String -> Maybe c Tries to read a command from a String
Totality: total
Visibility: public exportreadArgs : {auto __con : Command c} -> CurDir => (cmd : c) -> All Arg (ArgTypes cmd) List of argument readers for the current command
Totality: total
Visibility: public exportadjConfig_ : {auto __con : Command c} -> HasIO io => PackDirs => TmpDir => (cmd : c) -> All I (ArgTypes cmd) -> MetaConfig -> EitherT PackErr io MetaConfig Some commands overwrite certain aspects of the user-defined
config. For instance, `pack switch latest` must overwrite the
package collection read from the `pack.toml` files with the
latest package collection available.
Totality: total
Visibility: public export Header line for a usage string
Totality: total
Visibility: exportusageDesc : CurDir => Command c => Maybe c -> String Detailed description how to use the given command.
This is a general description of the application
in case the argument is `Nothing`.
Totality: total
Visibility: export0 Args : Command c => c -> Type Type of arguments expected by the given command
Totality: total
Visibility: public export0 CommandWithArgs : (c : Type) -> Command c => Type A pack command together with its list of arguments
Totality: total
Visibility: public exportreadCommand : (0 c : Type) -> {auto {conArg:11630} : Command c} -> CurDir -> List String -> Either PackErr (CommandWithArgs c) Convenience alias for `readCommand_` with an explicit
erased argument for the command type.
Totality: total
Visibility: exportadjConfig : HasIO io => {auto {conArg:11710} : Command c} -> PackDirs => TmpDir => CommandWithArgs c -> MetaConfig -> EitherT PackErr io MetaConfig Some commands overwrite certain aspects of the user-defined
config. For instance, `pack switch latest` must overwrite the
package collection read from the `pack.toml` files with the
latest package collection available.
Totality: total
Visibility: export