Context

class Context @JvmOverloads constructor(val parent: Context?, val command: CliktCommand, val allowInterspersedArgs: Boolean, val autoEnvvarPrefix: String?, val printExtraMessages: Boolean, val helpOptionNames: Set<String>, val helpFormatter: HelpFormatter, val tokenTransformer: Context.(String) -> String, val console: CliktConsole, val expandArgumentFiles: Boolean, val readEnvvarBeforeValueSource: Boolean, val valueSource: ValueSource?, val correctionSuggestor: TypoSuggestor, val localization: Localization, val readEnvvar: (String) -> String? = ::readEnvvar, val originalArgv: List<String> = emptyList())

A object used to control command line parsing and pass data between commands.

A new Context instance is created for each command each time the command line is parsed.

Constructors

Link copied to clipboard
fun Context(parent: Context?, command: CliktCommand, allowInterspersedArgs: Boolean, autoEnvvarPrefix: String?, printExtraMessages: Boolean, helpOptionNames: Set<String>, helpFormatter: HelpFormatter, tokenTransformer: Context.(String) -> String, console: CliktConsole, expandArgumentFiles: Boolean, readEnvvarBeforeValueSource: Boolean, valueSource: ValueSource?, correctionSuggestor: TypoSuggestor, localization: Localization, readEnvvar: (String) -> String? = ::readEnvvar, originalArgv: List<String> = emptyList())

Types

Link copied to clipboard
class Builder(command: CliktCommand, parent: Context? = null)
Link copied to clipboard
object Companion

Functions

Link copied to clipboard

Return a list of command names, starting with the topmost command and ending with this Context's command.

Link copied to clipboard
fun fail(message: String = ""): Nothing

Throw a UsageError with the given message

Link copied to clipboard
inline fun <T : Any> findObject(): T?

Find the closest object of type T

Link copied to clipboard
inline fun <T : Any> findOrSetObject(defaultValue: () -> T): T

Find the closest object of type T, setting this.obj if one is not found.

Link copied to clipboard

Find the outermost context

Link copied to clipboard

Return a list of command names, starting with the topmost command and ending with this Context's parent.

Properties

Link copied to clipboard

If false, options and arguments cannot be mixed; the first time an argument is encountered, all remaining tokens are parsed as arguments.

Link copied to clipboard

The prefix to add to inferred envvar names. If null, the prefix is based on the parent's prefix, if there is one. If no command specifies, a prefix, envvar lookup is disabled.

Link copied to clipboard

The command that this context associated with.

Link copied to clipboard

The console to use to print messages.

Link copied to clipboard

A callback called when the command line contains an invalid option or subcommand name. It takes the entered name and a list of all registered names option/subcommand names and filters the list down to values to suggest to the user.

Link copied to clipboard

If true, arguments starting with @ will be expanded as argument files. If false, they will be treated as normal arguments.

Link copied to clipboard

The help formatter for this command.

Link copied to clipboard

The names to use for the help option. If any names in the set conflict with other options, the conflicting name will not be used for the help option. If the set is empty, or contains no unique names, no help option will be added.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
var obj: Any? = null
Link copied to clipboard
Link copied to clipboard

If this context is the child of another command, parent is the parent command's context.

Link copied to clipboard

Set this to false to prevent extra messages from being printed automatically. You can still access them at CliktCommand.messages inside of CliktCommand.run.

Link copied to clipboard
Link copied to clipboard

An optional transformation function that is called to transform command line tokens (options and commands) before parsing. This can be used to implement e.g. case insensitive behavior.

Link copied to clipboard