CLITool

class CLITool<R : Node, P : ASTParser<R>>(parserInstantiator: ParserInstantiator<P>, replacedConsole: CliktConsole? = null) : CliktCommand

This class is intended to be instantiated by providing an instantiation that is aware of a specific parser.

For example, it could be used in this way:

fun main(args: Array<String>) = CLITool(ParserInstantiator { MyParser() }).main(args)

In the future we may want to provide the name of the actual parser as a class name and instantiate it through reflection.

Alternatively, the user may want to group several commands, including the ones used here and others coming from extensions (such as the EMF one) or created within specific projects.

For example:

class MyCLI<R : Node, P : ASTParser<R>>(
parserInstantiator: ParserInstantiator<P>,
) : CliktCommand(invokeWithoutSubcommand = false) {
init {
subcommands(ASTSaverCommand(parserInstantiator), StatsCommand(parserInstantiator), MyOtherCommand(...))
}

override fun run() = Unit
}

Constructors

Link copied to clipboard
constructor(parserInstantiator: ParserInstantiator<P>, replacedConsole: CliktConsole? = null)

Functions

Link copied to clipboard
open fun aliases(): Map<String, List<String>>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun issueMessage(message: String)
Link copied to clipboard
fun main(argv: Array<out String>)
fun main(argv: List<String>)
Link copied to clipboard
fun parse(argv: Array<String>, parentContext: Context?)
fun parse(argv: List<String>, parentContext: Context?)
Link copied to clipboard
fun registerArgument(argument: Argument)
Link copied to clipboard
fun registeredArguments(): List<Argument>
Link copied to clipboard
fun registeredOptions(): List<Option>
Link copied to clipboard
fun registeredParameterGroups(): List<ParameterGroup>
Link copied to clipboard
fun registeredSubcommands(): List<CliktCommand>
Link copied to clipboard
open override fun registerOption(option: GroupableOption)
fun registerOption(option: Option)
Link copied to clipboard
fun registerOptionGroup(group: ParameterGroup)
Link copied to clipboard
open override fun run()
Link copied to clipboard
open override fun toString(): String

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val currentContext: Context
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard