Command Types
The frontend @main and @cast restrict a lot features to make the package interface as simple as possible. However, if you want to customize the behaviour, you can also create command objects directly via the interfaces at this level, which are all in Comonicon.Types.
References
Comonicon.Types.AbstractCommand — TypeAbstractCommandabstract type for commands.
Comonicon.Types.EntryCommand — TypeEntryCommand <: AbstractCommandEntryCommand describes the entry of the CLI. It contains an actual root command (either LeafCommand or NodeCommand) of the entire CLI and a version number. The version number is v"0.0.0" by default.
Comonicon.Types.LeafCommand — TypeLeafCommand <: AbstractCommandLeafCommand describes the command at the end of a CLI, e.g in the following show is LeafCommand, it is the command that actually executes things. See also NodeCommand.
git remote show originComonicon.Types.NodeCommand — TypeNodeCommand <: AbstractCommandNodeCommand describes the command in the middle of a CLI, e.g in the following remote is a NodeCommand, it will dispatch the call to its sub-command show. See also LeafCommand.
git remote show originComonicon.Types.max_brief_length — Methodmax_brief_length()Get the maximum length allowed for a brief description.
Comonicon.Types.print_cmd — Functionprint_cmd([io, ]cmd)Print a command object. This is used to generate command help.
Comonicon.Types.set_brief_length! — Functionset_brief_length!(n::Int=120)Set the maximum length of a brief description. Default is 120.
Comonicon.Types.splittext — Methodsplittext(s)Split the text in string s into an array, but keep all the separators attached to the preceding word.
this is copied from Luxor/text.jl