Idris2Doc : Collie

Collie

(source)
Collie: Command line interface for Idris2 applications

Based on Guillaume Allais's agdARGS library:

https://github.com/gallais/agdargs/

Reexports

importpublic Collie.Core
importpublic Collie.Parser
importpublic Collie.Usage
importpublic Collie.Options.Domain
importpublic Collie.Options.Usual
importpublic Collie.Modifiers
importpublic Data.Record
importpublic Data.Record.SmartConstructors
importpublic Data.DPair
importpublic Data.Magma
importpublic Data.SnocList
importpublic System

Definitions

.parseArgs : (cmd : Commandnm) ->HasIOio=>io (EitherString (ParseTreeTMaybeMaybecmd))
Totality: total
Visibility: public export
recordHandlers : Type->FieldCommand->Type
Totality: total
Visibility: public export
Constructor: 
MkHandlers : (ParsedCommand (cmd.fst) (cmd.snd) ->a) ->Checkable (Handlersa) ((cmd.snd) .subcommands) ->Handlersacmd

Projections:
.here : Handlersacmd->ParsedCommand (cmd.fst) (cmd.snd) ->a
.there : Handlersacmd->Checkable (Handlersa) ((cmd.snd) .subcommands)
.here : Handlersacmd->ParsedCommand (cmd.fst) (cmd.snd) ->a
Totality: total
Visibility: public export
here : Handlersacmd->ParsedCommand (cmd.fst) (cmd.snd) ->a
Totality: total
Visibility: public export
.there : Handlersacmd->Checkable (Handlersa) ((cmd.snd) .subcommands)
Totality: total
Visibility: public export
there : Handlersacmd->Checkable (Handlersa) ((cmd.snd) .subcommands)
Totality: total
Visibility: public export
(::) : (ParsedCommand (cmd.fst) (cmd.snd) ->a) ->Checkable (Handlersa) ((cmd.snd) .subcommands) ->Handlersacmd
  Givent that we already have list syntax to build records, this gives us the
ability to use list syntax to build `Handlers`: the head will be the handler
for the toplevel command and the tail will go towards building the record of
handlers for the subcommands.

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 7
0(~~>) : Commandarg->Type->Type
  A nicer notation for handlers

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 4
handle : ParseTree (cmd.snd) ->Handlersacmd->a
  Handling a parsetree is pretty simple: use `there` together with `(!!)` to
select the appropriate subhandler while you're encountering the `There`
constructor and finish up with `here`.

Totality: total
Visibility: public export
.handleWith : (cmd : Commandnm) ->cmd~~>IOa->IOa
  Finally we can put the various pieces together to get a toplevel command
parsing the arguments and handling the resulting command using the
user-provided handlers

Totality: total
Visibility: public export