Idris2Doc : Pack.Config.Types

Pack.Config.Types

(source)

Reexports

importpublic Data.List.Quantifiers

Definitions

dataAutoload : 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 : ListPkgName->Autoload
  Use the given explicit list of packages
ForcePkgs : ListPkgName->Autoload
  Use the given explicit list of packages even in the
precense of an `.ipkg` file.

Hint: 
FromTOMLAutoload
dataQueryType : 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)
dataCodegen : 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:
FromTOMLCodegen
InterpolationCodegen
fromString : String->Codegen
Totality: total
Visibility: public export
dataWithIpkg : 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 : FileAbs->WithIpkg
  Use the given `.ipkg` file, provided as a command line
argument.
dataRlwrapConfig : 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: 
FromTOMLRlwrapConfig
0I : Type->Type
  Type-level identity

Totality: total
Visibility: public export
recordConfig_ : (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 : fDBName->MaybeURL->Maybec->Listc->MaybeURL->Maybec->fFilePath->fBool->fBool->fBool->fBool->fBool->fBool->fBool->f (ListPkgName) ->fBool->fBool->fBool->fWithIpkg->fRlwrapConfig->fCmdArgList->f (ListPkgName) ->f (ListPkgName) ->fAutoload->f (SortedMapDBName (SortedMapPkgName (Package_c))) ->fQueryType->fLogLevel->fCodegen->fBody->f (SortedMapStringLogLevel) ->fBool->Config_fc

Projections:
.allIdrisCommits : Config_fc->Listc
  All Idris commits mentioned in used configs
.autoApps : Config_fc->f (ListPkgName)
  Applications to install automatically
.autoLibs : Config_fc->f (ListPkgName)
  Libraries to install automatically
.autoLoad : Config_fc->fAutoload
  Libraries to automatically load in a REPL session
.bootstrap : Config_fc->fBool
  Whether to bootstrap when building Idris2
.bootstrapStage3 : Config_fc->fBool
  Whether to rebuild Idris2 with the stage 2 compiler
.codegen : Config_fc->fCodegen
  Codegen to use
.collection : Config_fc->fDBName
  Package collection to use
.custom : Config_fc->f (SortedMapDBName (SortedMapPkgName (Package_c)))
  Customizations to the package data base
.extraArgs : Config_fc->fCmdArgList
  Any extra arguments to pass to Idris2 executable.
.gcPrompt : Config_fc->fBool
  Whether to prompt for a confirmation when
running the garbage collector for removing no longer used
installation directories.
.gcPurge : Config_fc->fBool
  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_fc->fBool
  Whether to initialize git.
.idrisCommit : Config_fc->Maybec
  Custom Idris commit
This overrides the one from the package collection if not
set to `Nothing`.
.idrisURL : Config_fc->MaybeURL
  URL to a custom Idris repo
This overrides the one from the package collection if not
set to `Nothing`.
.levels : Config_fc->f (SortedMapStringLogLevel)
  Default LogLevels for different commands
.logLevel : Config_fc->fLogLevel
  Verbosity of the Log
.output : Config_fc->fBody
  Name of output file when compiling Idris source files
.packCommit : Config_fc->Maybec
  Custom pack branch to use (default is `main`)
.packURL : Config_fc->MaybeURL
  Custom pack repo
.queryType : Config_fc->fQueryType
  Type of query to run
.rlwrap : Config_fc->fRlwrapConfig
  Whether to use `rlwrap` to run a REPL session
.safetyPrompt : Config_fc->fBool
  Whether to prompt for a confirmation when
building or installing a package with custom
build or install hooks.
.scheme : Config_fc->fFilePath
  Scheme executable to use
.skipTests : Config_fc->fBool
  Whether to skip tests during collection checking
.useKatla : Config_fc->fBool
  Whether to use katla to add semantically highlighted source code
to the library docs.
.warnDepends : Config_fc->fBool
  Whether to issue a warning in precense of a local `depends` directory
.whitelist : Config_fc->f (ListPkgName)
  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_fc->fBool
  Whether to install the library docs as well
.withIpkg : Config_fc->fWithIpkg
  The `.ipkg` file to use (if any) when starting a REPL session
.withSrc : Config_fc->fBool
  Whether to install the library sources as well
.collection : Config_fc->fDBName
  Package collection to use

Totality: total
Visibility: public export
collection : Config_fc->fDBName
  Package collection to use

Totality: total
Visibility: public export
.idrisURL : Config_fc->MaybeURL
  URL to a custom Idris repo
This overrides the one from the package collection if not
set to `Nothing`.

Totality: total
Visibility: public export
idrisURL : Config_fc->MaybeURL
  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_fc->Maybec
  Custom Idris commit
This overrides the one from the package collection if not
set to `Nothing`.

Totality: total
Visibility: public export
idrisCommit : Config_fc->Maybec
  Custom Idris commit
This overrides the one from the package collection if not
set to `Nothing`.

Totality: total
Visibility: public export
.allIdrisCommits : Config_fc->Listc
  All Idris commits mentioned in used configs

Totality: total
Visibility: public export
allIdrisCommits : Config_fc->Listc
  All Idris commits mentioned in used configs

Totality: total
Visibility: public export
.packURL : Config_fc->MaybeURL
  Custom pack repo

Totality: total
Visibility: public export
packURL : Config_fc->MaybeURL
  Custom pack repo

Totality: total
Visibility: public export
.packCommit : Config_fc->Maybec
  Custom pack branch to use (default is `main`)

Totality: total
Visibility: public export
packCommit : Config_fc->Maybec
  Custom pack branch to use (default is `main`)

Totality: total
Visibility: public export
.scheme : Config_fc->fFilePath
  Scheme executable to use

Totality: total
Visibility: public export
scheme : Config_fc->fFilePath
  Scheme executable to use

Totality: total
Visibility: public export
.bootstrap : Config_fc->fBool
  Whether to bootstrap when building Idris2

Totality: total
Visibility: public export
bootstrap : Config_fc->fBool
  Whether to bootstrap when building Idris2

Totality: total
Visibility: public export
.bootstrapStage3 : Config_fc->fBool
  Whether to rebuild Idris2 with the stage 2 compiler

Totality: total
Visibility: public export
bootstrapStage3 : Config_fc->fBool
  Whether to rebuild Idris2 with the stage 2 compiler

Totality: total
Visibility: public export
.safetyPrompt : Config_fc->fBool
  Whether to prompt for a confirmation when
building or installing a package with custom
build or install hooks.

Totality: total
Visibility: public export
safetyPrompt : Config_fc->fBool
  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_fc->fBool
  Whether to prompt for a confirmation when
running the garbage collector for removing no longer used
installation directories.

Totality: total
Visibility: public export
gcPrompt : Config_fc->fBool
  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_fc->fBool
  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
gcPurge : Config_fc->fBool
  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_fc->fBool
  Whether to issue a warning in precense of a local `depends` directory

Totality: total
Visibility: public export
warnDepends : Config_fc->fBool
  Whether to issue a warning in precense of a local `depends` directory

Totality: total
Visibility: public export
.skipTests : Config_fc->fBool
  Whether to skip tests during collection checking

Totality: total
Visibility: public export
skipTests : Config_fc->fBool
  Whether to skip tests during collection checking

Totality: total
Visibility: public export
.whitelist : Config_fc->f (ListPkgName)
  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
whitelist : Config_fc->f (ListPkgName)
  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_fc->fBool
  Whether to install the library sources as well

Totality: total
Visibility: public export
withSrc : Config_fc->fBool
  Whether to install the library sources as well

Totality: total
Visibility: public export
.withDocs : Config_fc->fBool
  Whether to install the library docs as well

Totality: total
Visibility: public export
withDocs : Config_fc->fBool
  Whether to install the library docs as well

Totality: total
Visibility: public export
.useKatla : Config_fc->fBool
  Whether to use katla to add semantically highlighted source code
to the library docs.

Totality: total
Visibility: public export
useKatla : Config_fc->fBool
  Whether to use katla to add semantically highlighted source code
to the library docs.

Totality: total
Visibility: public export
.withIpkg : Config_fc->fWithIpkg
  The `.ipkg` file to use (if any) when starting a REPL session

Totality: total
Visibility: public export
withIpkg : Config_fc->fWithIpkg
  The `.ipkg` file to use (if any) when starting a REPL session

Totality: total
Visibility: public export
.rlwrap : Config_fc->fRlwrapConfig
  Whether to use `rlwrap` to run a REPL session

Totality: total
Visibility: public export
rlwrap : Config_fc->fRlwrapConfig
  Whether to use `rlwrap` to run a REPL session

Totality: total
Visibility: public export
.extraArgs : Config_fc->fCmdArgList
  Any extra arguments to pass to Idris2 executable.

Totality: total
Visibility: public export
extraArgs : Config_fc->fCmdArgList
  Any extra arguments to pass to Idris2 executable.

Totality: total
Visibility: public export
.autoLibs : Config_fc->f (ListPkgName)
  Libraries to install automatically

Totality: total
Visibility: public export
autoLibs : Config_fc->f (ListPkgName)
  Libraries to install automatically

Totality: total
Visibility: public export
.autoApps : Config_fc->f (ListPkgName)
  Applications to install automatically

Totality: total
Visibility: public export
autoApps : Config_fc->f (ListPkgName)
  Applications to install automatically

Totality: total
Visibility: public export
.autoLoad : Config_fc->fAutoload
  Libraries to automatically load in a REPL session

Totality: total
Visibility: public export
autoLoad : Config_fc->fAutoload
  Libraries to automatically load in a REPL session

Totality: total
Visibility: public export
.custom : Config_fc->f (SortedMapDBName (SortedMapPkgName (Package_c)))
  Customizations to the package data base

Totality: total
Visibility: public export
custom : Config_fc->f (SortedMapDBName (SortedMapPkgName (Package_c)))
  Customizations to the package data base

Totality: total
Visibility: public export
.queryType : Config_fc->fQueryType
  Type of query to run

Totality: total
Visibility: public export
queryType : Config_fc->fQueryType
  Type of query to run

Totality: total
Visibility: public export
.logLevel : Config_fc->fLogLevel
  Verbosity of the Log

Totality: total
Visibility: public export
logLevel : Config_fc->fLogLevel
  Verbosity of the Log

Totality: total
Visibility: public export
.codegen : Config_fc->fCodegen
  Codegen to use

Totality: total
Visibility: public export
codegen : Config_fc->fCodegen
  Codegen to use

Totality: total
Visibility: public export
.output : Config_fc->fBody
  Name of output file when compiling Idris source files

Totality: total
Visibility: public export
output : Config_fc->fBody
  Name of output file when compiling Idris source files

Totality: total
Visibility: public export
.levels : Config_fc->f (SortedMapStringLogLevel)
  Default LogLevels for different commands

Totality: total
Visibility: public export
levels : Config_fc->f (SortedMapStringLogLevel)
  Default LogLevels for different commands

Totality: total
Visibility: public export
.gitInit : Config_fc->fBool
  Whether to initialize git.

Totality: total
Visibility: public export
gitInit : Config_fc->fBool
  Whether to initialize git.

Totality: total
Visibility: public export
0IConfig : Type->Type
  Configuration with mandatory fields.

Totality: total
Visibility: public export
0MConfig : Type->Type
  Configuration with optional fields.

Totality: total
Visibility: public export
0MetaConfig : Type
  Application config with meta commits not yet resolved.

Totality: total
Visibility: public export
0Config : Type
  Fully resolved application config.

Totality: total
Visibility: public export
0UserConfig : Type
  User-defined adjustments to the application config.

Totality: total
Visibility: public export
traverse : Applicativef=> (URL->a->fb) ->URL->Config_Ia->f (Config_Ib)
  Effectfully convert all custom package descriptions
stored in a configuration. This is mainly used to
resolve meta commits to mere commits.

Totality: total
Visibility: export
configToLogRef : Config=>LogRef
  This allows us to use a `Config` in scope when we
need an auto-implicit `LogLevel` for logging.

Totality: total
Visibility: export
metaConfigToLogRef : MetaConfig=>LogRef
  This allows us to use a `MetaConfig` in scope when we
need an auto-implicit `LogLevel` for logging.

Totality: total
Visibility: export
mergeRight : SortedMapkv->SortedMapkv->SortedMapkv
Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 8
init : CurDir=>DBName->MetaConfig
  Initial config

Totality: total
Visibility: export
update : IConfigc->MConfigc->IConfigc
  Update a config with optional settings

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 7
dataHasIdris : Config->DB->Type
  Proof that we have verified that the required Idris
compiler has been installed.

Totality: total
Visibility: public export
Constructor: 
ItHasIdris : HasIdriscdb
0LibCache : Type
  Cache used during package resolution

Totality: total
Visibility: public export
emptyCache : HasIOio=>ioLibCache
  Create an empty library cache

Totality: total
Visibility: export
cacheLib : HasIOio=>LibCache=>PkgName->ResolvedLibU->io (ResolvedLibU)
  Cache a resolved library

Totality: total
Visibility: export
lookupLib : HasIOio=>LibCache=>PkgName->io (Maybe (ResolvedLibU))
  Lookup a library in the cache

Totality: total
Visibility: export
uncacheLib : HasIOio=>LibCache=>PkgName->io ()
  Lookup a library in the cache

Totality: total
Visibility: export
recordEnv : 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->SortedMapPkgNamePackage->LineBufferingCmd->ClockUTC->Env

Projections:
.all : Env->SortedMapPkgNamePackage
.cache : Env->LibCache
.clock : Env->ClockUTC
.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->SortedMapPkgNamePackage
Totality: total
Visibility: public export
all : Env->SortedMapPkgNamePackage
Totality: total
Visibility: public export
.linebuf : Env->LineBufferingCmd
Totality: total
Visibility: public export
linebuf : Env->LineBufferingCmd
Totality: total
Visibility: public export
.clock : Env->ClockUTC
Totality: total
Visibility: public export
clock : Env->ClockUTC
Totality: total
Visibility: public export
nanoString : Env=>String
  Returns the current nanoseconds as a string.

Totality: total
Visibility: export
envToPackDirs : Env=>PackDirs
  This allows us to use an `Env` in scope when we
need an auto-implicit `PackDirs`.

Totality: total
Visibility: export
envToTmpDir : Env=>TmpDir
  This allows us to use an `Env` in scope when we
need an auto-implicit `TmpDir`.

Totality: total
Visibility: export
envToCache : Env=>LibCache
  This allows us to use an `Env` in scope when we
need an auto-implicit `LibCache`.

Totality: total
Visibility: export
envToConfig : Env=>Config
  This allows us to use an `Env` in scope when we
need an auto-implicit `Config`.

Totality: total
Visibility: export
envToDB : Env=>DB
  This allows us to use an `Env` in scope when we
need an auto-implicit `DB`.

Totality: total
Visibility: export
envToLinebuf : Env=>LineBufferingCmd
  This allows us to use an `Env` in scope when we
need an auto-implicit `LineBufferingCmd`.

Totality: total
Visibility: export
recordIdrisEnv : 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
0prf : ({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: export
idrisEnvToTTC : IdrisEnv=>TTCVersion
  This allows us to use an `IdrisEnv` in scope when we
need an auto-implicit `TTCVersion`.

Totality: total
Visibility: export
interfaceArg : Type->Type
  An interface for parsing the argument list of a pack command

Parameters: a
Methods:
argDesc_ : String
readArg : ListString->Maybe (a, ListString)

Implementations:
Arga=>Arg (Maybea)
CurDir=>Arg (FileAbs)
CurDir=>Arg (PathAbs)
CurDir=>ArgPkgOrIpkg
ArgPkgName
ArgPkgType
ArgCmdArgList
Arg (ListPkgName)
ArgBody
ArgDBName
ArgString
ArgPkgQuery
ArgFuzzyQuery
ArgConfiguredCmd
ArgTrivialCmd
ArgCmd
argDesc_ : Arga=>String
Totality: total
Visibility: public export
readArg : Arga=>ListString->Maybe (a, ListString)
Totality: total
Visibility: public export
argDesc : (0a : Type) ->Arga=>String
  Utility version of `argDesc_` with an explicit erased type argument.

Totality: total
Visibility: public export
parseSingleMaybe : (String->Maybea) ->ListString->Maybe (a, ListString)
  Utility for implementing `readArg` via a function reading a single string.

Totality: total
Visibility: export
parseSingle : (String->Eitherea) ->ListString->Maybe (a, ListString)
  Utility for implementing `readArg` via a function reading a single string.

Totality: total
Visibility: export
readSingle : (String->a) ->ListString->Maybe (a, ListString)
  Utility for implementing `readArg` via a function reading a single string.

Totality: total
Visibility: export
interfaceCommand : 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
0ArgTypes : c->ListType
  Types of arguments required by the given command
readCommand_ : String->Maybec
  Tries to read a command from a String
readArgs : CurDir=> (cmd : c) ->AllArg (ArgTypescmd)
  List of argument readers for the current command
adjConfig_ : HasIOio=>PackDirs=>TmpDir=> (cmd : c) ->AllI (ArgTypescmd) ->MetaConfig->EitherTPackErrioMetaConfig
  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 : Commandc=>c
  The command to use if only command line options but
not command is given.

Totality: total
Visibility: public export
appName : Commandc=>String
  Name of the application in question

Totality: total
Visibility: public export
cmdName : Commandc=>c->String
  Name of command in question

Totality: total
Visibility: public export
defaultLevel : Commandc=>c->LogLevel
  The default log level to use.

Totality: total
Visibility: public export
desc : Commandc=>c->String
  Detailed usage description of the command

Totality: total
Visibility: public export
usage : Commandc=> Lazy String
  General usage of the application in question

Totality: total
Visibility: public export
0ArgTypes : Commandc=>c->ListType
  Types of arguments required by the given command

Totality: total
Visibility: public export
readCommand_ : Commandc=>String->Maybec
  Tries to read a command from a String

Totality: total
Visibility: public export
readArgs : {auto__con : Commandc} ->CurDir=> (cmd : c) ->AllArg (ArgTypescmd)
  List of argument readers for the current command

Totality: total
Visibility: public export
adjConfig_ : {auto__con : Commandc} ->HasIOio=>PackDirs=>TmpDir=> (cmd : c) ->AllI (ArgTypescmd) ->MetaConfig->EitherTPackErrioMetaConfig
  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
usageHeader : CurDir=>Commandc=>Maybec->String
  Header line for a usage string

Totality: total
Visibility: export
usageDesc : CurDir=>Commandc=>Maybec->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: export
0Args : Commandc=>c->Type
  Type of arguments expected by the given command

Totality: total
Visibility: public export
0CommandWithArgs : (c : Type) ->Commandc=>Type
  A pack command together with its list of arguments

Totality: total
Visibility: public export
readCommand : (0c : Type) -> {auto{conArg:11630} : Commandc} ->CurDir->ListString->EitherPackErr (CommandWithArgsc)
  Convenience alias for `readCommand_` with an explicit
erased argument for the command type.

Totality: total
Visibility: export
adjConfig : HasIOio=> {auto{conArg:11710} : Commandc} ->PackDirs=>TmpDir=>CommandWithArgsc->MetaConfig->EitherTPackErrioMetaConfig
  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