clikt
Module Contents
alltypes
Module Contents
class Abort : RuntimeException
typealias ArgCallsTransformer<AllT, EachT> = ArgumentTransformContext.(List<EachT>) -> AllT
typealias ArgValidator<AllT> = ArgumentTransformContext.(AllT) -> Unit
typealias ArgValueTransformer<T> = ArgumentTransformContext.(String) -> T
typealias ArgsTransformer<ValueT, EachT> = OptionCallTransformContext.(List<ValueT>) -> EachT
interface Argument
interface ArgumentDelegate<out T> : Argument, ReadOnlyProperty<CliktCommand, T>
class ArgumentTransformContext : Argument
open class BadParameterValue : UsageError
typealias CallsTransformer<EachT, AllT> = OptionTransformContext.(List<EachT>) -> AllT
abstract class CliktCommand
open class CliktError : RuntimeException
class Context
class EagerOption : Option
class FlagOption<T> : OptionDelegate<T>
Module Contents
FlagOption(names: Set<String>, secondaryNames: Set<String>, help: String, hidden: Boolean, envvar: String?, transformEnvvar: OptionTransformContext.(String) -> T, transformAll: CallsTransformer<String, T>)
val envvar: String?
fun finalize(context: Context, invocations: List<Invocation>): Unit
fun getValue(thisRef: CliktCommand, property: KProperty<*>): T
val help: String
val hidden: Boolean
val metavar: String?
var names: Set<String>
val nvalues: Int
val parser: FlagOptionParser
operator fun provideDelegate(thisRef: CliktCommand, prop: KProperty<*>): ReadOnlyProperty<CliktCommand, T>
val secondaryNames: Set<String>
val transformAll: CallsTransformer<String, T>
val transformEnvvar: OptionTransformContext.(String) -> T
object FlagOptionParser : OptionParser
interface HelpFormatter
open class IncorrectArgumentValueCount : UsageError
open class IncorrectOptionValueCount : UsageError
open class MissingParameter : UsageError
open class NoRunCliktCommand : CliktCommand
open class NoSuchOption : UsageError
typealias NullableOption<EachT, ValueT> = OptionWithValues<EachT?, EachT, ValueT>
interface Option
class OptionCallTransformContext : Option
interface OptionDelegate<out T> : Option, ReadOnlyProperty<CliktCommand, T>
interface OptionParser
class OptionTransformContext : Option
typealias OptionValidator<AllT> = OptionTransformContext.(AllT) -> Unit
class OptionWithValues<AllT, EachT, ValueT> : OptionDelegate<AllT>
Module Contents
OptionWithValues(names: Set<String>, metavarExplicit: String?, metavarDefault: String?, nvalues: Int, help: String, hidden: Boolean, envvar: String?, envvarSplit: Regex, parser: OptionWithValuesParser, transformValue: ValueTransformer<ValueT>, transformEach: ArgsTransformer<ValueT, EachT>, transformAll: CallsTransformer<EachT, AllT>)
fun <AllT, EachT, ValueT> copy(transformValue: ValueTransformer<ValueT>, transformEach: ArgsTransformer<ValueT, EachT>, transformAll: CallsTransformer<EachT, AllT>, names: Set<String> = this.names, metavarExplicit: String? = this.metavarExplicit, metavarDefault: String? = this.metavarDefault, nvalues: Int = this.nvalues, help: String = this.help, hidden: Boolean = this.hidden, envvar: String? = this.envvar, envvarSplit: Regex = this.envvarSplit, parser: OptionWithValuesParser = this.parser): OptionWithValues<AllT, EachT, ValueT>
val envvar: String?
val envvarSplit: Regex
fun finalize(context: Context, invocations: List<Invocation>): Unit
fun getValue(thisRef: CliktCommand, property: KProperty<*>): AllT
val help: String
val hidden: Boolean
val metavar: String?
val metavarDefault: String?
val metavarExplicit: String?
var names: Set<String>
val nvalues: Int
val parser: OptionWithValuesParser
operator fun provideDelegate(thisRef: CliktCommand, prop: KProperty<*>): ReadOnlyProperty<CliktCommand, AllT>
val secondaryNames: Set<String>
val transformAll: CallsTransformer<EachT, AllT>
val transformEach: ArgsTransformer<ValueT, EachT>
val transformValue: ValueTransformer<ValueT>
object OptionWithValuesParser : OptionParser
open class PlaintextHelpFormatter : HelpFormatter
Module Contents
PlaintextHelpFormatter(indent: String = " ", width: Int? = null, maxWidth: Int = 78, maxColWidth: Int? = null, usageTitle: String = "Usage:", optionsTitle: String = "Options:", argumentsTitle: String = "Arguments:", commandsTitle: String = "Commands:", optionsMetavar: String = "[OPTIONS]", commandMetavar: String = "COMMAND [ARGS]...", colSpacing: Int = 2)
protected open fun StringBuilder.addArguments(parameters: List<ParameterHelp>): Unit
protected open fun StringBuilder.addCommands(parameters: List<ParameterHelp>): Unit
protected open fun StringBuilder.addEpilog(epilog: String): Unit
protected open fun StringBuilder.addOptions(parameters: List<ParameterHelp>): Unit
protected open fun StringBuilder.addProlog(prolog: String): Unit
protected open fun StringBuilder.addUsage(parameters: List<ParameterHelp>, programName: String): Unit
protected fun StringBuilder.appendDefinitionList(rows: List<Pair<String, String>>): Unit
protected val argumentsTitle: String
protected val colSpacing: Int
protected val commandMetavar: String
protected val commandsTitle: String
open fun formatHelp(prolog: String, epilog: String, parameters: List<ParameterHelp>, programName: String): String
open fun formatUsage(parameters: List<ParameterHelp>, programName: String): String
protected val indent: String
protected open fun joinOptionNames(names: Set<String>): String
protected val maxColWidth: Int
protected open fun optionMetavar(option: Option): String
protected val optionsMetavar: String
protected val optionsTitle: String
protected val usageTitle: String
protected val width: Int
class PrintHelpMessage : CliktError
class PrintMessage : CliktError
class ProcessedArgument<AllT, ValueT> : ArgumentDelegate<AllT>
Module Contents
ProcessedArgument(name: String, nvalues: Int, required: Boolean, help: String, transformValue: ArgValueTransformer<ValueT>, transformAll: ArgCallsTransformer<AllT, ValueT>)
fun <AllT, ValueT> copy(transformValue: ArgValueTransformer<ValueT>, transformAll: ArgCallsTransformer<AllT, ValueT>, name: String = this.name, nvalues: Int = this.nvalues, required: Boolean = this.required, help: String = this.help): ProcessedArgument<AllT, ValueT>
fun finalize(context: Context, values: List<String>): Unit
fun getValue(thisRef: CliktCommand, property: KProperty<*>): AllT
val help: String
var name: String
val nvalues: Int
val parameterHelp: Argument
operator fun provideDelegate(thisRef: CliktCommand, prop: KProperty<*>): ReadOnlyProperty<CliktCommand, AllT>
val required: Boolean
val transformAll: ArgCallsTransformer<AllT, ValueT>
val transformValue: ArgValueTransformer<ValueT>
typealias RawOption = NullableOption<String, String>
object TermUi
Module Contents
fun confirm(text: String, default: Boolean = false, abort: Boolean = false, promptSuffix: String = ": ", showDefault: Boolean = true): Boolean?
fun echo(message: Any?, trailingNewline: Boolean = true, err: Boolean = false): Unit
fun editFile(filename: String, editor: String? = null, env: Map<String, String> = emptyMap(), requireSave: Boolean = false, extension: String = ".txt"): Unit
fun editText(text: String, editor: String? = null, env: Map<String, String> = emptyMap(), requireSave: Boolean = false, extension: String = ".txt"): String?
val isWindows: Boolean
fun <T> prompt(text: String, default: String? = null, hideInput: Boolean = false, requireConfirmation: Boolean = false, confirmationPrompt: String = "Repeat for confirmation: ", promptSuffix: String = ": ", showDefault: Boolean = true, convert: (String) -> T): T?
fun prompt(text: String, default: String? = null, hideInput: Boolean = false, requireConfirmation: Boolean = false, confirmationPrompt: String = "Repeat for confirmation: ", promptSuffix: String = ": ", showDefault: Boolean = true): String?
open class UsageError : CliktError
typealias ValueTransformer<ValueT> = OptionCallTransformContext.(String) -> ValueT
package com.github.ajalt.clikt.core
package com.github.ajalt.clikt.output
Module Contents
interface HelpFormatter
open class PlaintextHelpFormatter : HelpFormatter
Module Contents
PlaintextHelpFormatter(indent: String = " ", width: Int? = null, maxWidth: Int = 78, maxColWidth: Int? = null, usageTitle: String = "Usage:", optionsTitle: String = "Options:", argumentsTitle: String = "Arguments:", commandsTitle: String = "Commands:", optionsMetavar: String = "[OPTIONS]", commandMetavar: String = "COMMAND [ARGS]...", colSpacing: Int = 2)
protected open fun StringBuilder.addArguments(parameters: List<ParameterHelp>): Unit
protected open fun StringBuilder.addCommands(parameters: List<ParameterHelp>): Unit
protected open fun StringBuilder.addEpilog(epilog: String): Unit
protected open fun StringBuilder.addOptions(parameters: List<ParameterHelp>): Unit
protected open fun StringBuilder.addProlog(prolog: String): Unit
protected open fun StringBuilder.addUsage(parameters: List<ParameterHelp>, programName: String): Unit
protected fun StringBuilder.appendDefinitionList(rows: List<Pair<String, String>>): Unit
protected val argumentsTitle: String
protected val colSpacing: Int
protected val commandMetavar: String
protected val commandsTitle: String
open fun formatHelp(prolog: String, epilog: String, parameters: List<ParameterHelp>, programName: String): String
open fun formatUsage(parameters: List<ParameterHelp>, programName: String): String
protected val indent: String
protected open fun joinOptionNames(names: Set<String>): String
protected val maxColWidth: Int
protected open fun optionMetavar(option: Option): String
protected val optionsMetavar: String
protected val optionsTitle: String
protected val usageTitle: String
protected val width: Int
object TermUi
Module Contents
fun confirm(text: String, default: Boolean = false, abort: Boolean = false, promptSuffix: String = ": ", showDefault: Boolean = true): Boolean?
fun echo(message: Any?, trailingNewline: Boolean = true, err: Boolean = false): Unit
fun editFile(filename: String, editor: String? = null, env: Map<String, String> = emptyMap(), requireSave: Boolean = false, extension: String = ".txt"): Unit
fun editText(text: String, editor: String? = null, env: Map<String, String> = emptyMap(), requireSave: Boolean = false, extension: String = ".txt"): String?
val isWindows: Boolean
fun <T> prompt(text: String, default: String? = null, hideInput: Boolean = false, requireConfirmation: Boolean = false, confirmationPrompt: String = "Repeat for confirmation: ", promptSuffix: String = ": ", showDefault: Boolean = true, convert: (String) -> T): T?
fun prompt(text: String, default: String? = null, hideInput: Boolean = false, requireConfirmation: Boolean = false, confirmationPrompt: String = "Repeat for confirmation: ", promptSuffix: String = ": ", showDefault: Boolean = true): String?
package com.github.ajalt.clikt.parameters.arguments
Module Contents
typealias ArgCallsTransformer<AllT, EachT> = ArgumentTransformContext.(List<EachT>) -> AllT
typealias ArgValidator<AllT> = ArgumentTransformContext.(AllT) -> Unit
typealias ArgValueTransformer<T> = ArgumentTransformContext.(String) -> T
interface Argument
interface ArgumentDelegate<out T> : Argument, ReadOnlyProperty<CliktCommand, T>
class ArgumentTransformContext : Argument
class ProcessedArgument<AllT, ValueT> : ArgumentDelegate<AllT>
Module Contents
ProcessedArgument(name: String, nvalues: Int, required: Boolean, help: String, transformValue: ArgValueTransformer<ValueT>, transformAll: ArgCallsTransformer<AllT, ValueT>)
fun <AllT, ValueT> copy(transformValue: ArgValueTransformer<ValueT>, transformAll: ArgCallsTransformer<AllT, ValueT>, name: String = this.name, nvalues: Int = this.nvalues, required: Boolean = this.required, help: String = this.help): ProcessedArgument<AllT, ValueT>
fun finalize(context: Context, values: List<String>): Unit
fun getValue(thisRef: CliktCommand, property: KProperty<*>): AllT
val help: String
var name: String
val nvalues: Int
val parameterHelp: Argument
operator fun provideDelegate(thisRef: CliktCommand, prop: KProperty<*>): ReadOnlyProperty<CliktCommand, AllT>
val required: Boolean
val transformAll: ArgCallsTransformer<AllT, ValueT>
val transformValue: ArgValueTransformer<ValueT>
fun CliktCommand.argument(name: String = "", help: String = ""): RawArgument
inline fun <T : Any> RawArgument.convert(crossinline conversion: ArgValueTransformer<T>): ProcessedArgument<T, T>
fun <T : Any> ProcessedArgument<T, T>.default(value: T): ArgumentDelegate<T>
inline fun <T : Any> ProcessedArgument<T, T>.defaultLazy(crossinline value: () -> T): ArgumentDelegate<T>
fun <T : Any> ProcessedArgument<T, T>.multiple(required: Boolean = false): ProcessedArgument<List<T>, T>
fun <AllT : Any, ValueT> ProcessedArgument<AllT, ValueT>.optional(): ProcessedArgument<AllT?, ValueT>
fun <T : Any> ProcessedArgument<T, T>.pair(): ProcessedArgument<Pair<T, T>, T>
fun <AllInT, ValueT, AllOutT> ProcessedArgument<AllInT, ValueT>.transformAll(nvalues: Int? = null, required: Boolean? = null, transform: ArgCallsTransformer<AllOutT, ValueT>): ProcessedArgument<AllOutT, ValueT>
fun <T : Any> ProcessedArgument<T, T>.triple(): ProcessedArgument<Triple<T, T, T>, T>
fun <AllT : Any, ValueT> ProcessedArgument<AllT, ValueT>.validate(validator: ArgValidator<AllT>): ArgumentDelegate<AllT>
package com.github.ajalt.clikt.parameters.options
Module Contents
typealias ArgsTransformer<ValueT, EachT> = OptionCallTransformContext.(List<ValueT>) -> EachT
typealias CallsTransformer<EachT, AllT> = OptionTransformContext.(List<EachT>) -> AllT
class EagerOption : Option
class FlagOption<T> : OptionDelegate<T>
Module Contents
FlagOption(names: Set<String>, secondaryNames: Set<String>, help: String, hidden: Boolean, envvar: String?, transformEnvvar: OptionTransformContext.(String) -> T, transformAll: CallsTransformer<String, T>)
val envvar: String?
fun finalize(context: Context, invocations: List<Invocation>): Unit
fun getValue(thisRef: CliktCommand, property: KProperty<*>): T
val help: String
val hidden: Boolean
val metavar: String?
var names: Set<String>
val nvalues: Int
val parser: FlagOptionParser
operator fun provideDelegate(thisRef: CliktCommand, prop: KProperty<*>): ReadOnlyProperty<CliktCommand, T>
val secondaryNames: Set<String>
val transformAll: CallsTransformer<String, T>
val transformEnvvar: OptionTransformContext.(String) -> T
typealias NullableOption<EachT, ValueT> = OptionWithValues<EachT?, EachT, ValueT>
interface Option
class OptionCallTransformContext : Option
interface OptionDelegate<out T> : Option, ReadOnlyProperty<CliktCommand, T>
class OptionTransformContext : Option
typealias OptionValidator<AllT> = OptionTransformContext.(AllT) -> Unit
class OptionWithValues<AllT, EachT, ValueT> : OptionDelegate<AllT>
Module Contents
OptionWithValues(names: Set<String>, metavarExplicit: String?, metavarDefault: String?, nvalues: Int, help: String, hidden: Boolean, envvar: String?, envvarSplit: Regex, parser: OptionWithValuesParser, transformValue: ValueTransformer<ValueT>, transformEach: ArgsTransformer<ValueT, EachT>, transformAll: CallsTransformer<EachT, AllT>)
fun <AllT, EachT, ValueT> copy(transformValue: ValueTransformer<ValueT>, transformEach: ArgsTransformer<ValueT, EachT>, transformAll: CallsTransformer<EachT, AllT>, names: Set<String> = this.names, metavarExplicit: String? = this.metavarExplicit, metavarDefault: String? = this.metavarDefault, nvalues: Int = this.nvalues, help: String = this.help, hidden: Boolean = this.hidden, envvar: String? = this.envvar, envvarSplit: Regex = this.envvarSplit, parser: OptionWithValuesParser = this.parser): OptionWithValues<AllT, EachT, ValueT>
val envvar: String?
val envvarSplit: Regex
fun finalize(context: Context, invocations: List<Invocation>): Unit
fun getValue(thisRef: CliktCommand, property: KProperty<*>): AllT
val help: String
val hidden: Boolean
val metavar: String?
val metavarDefault: String?
val metavarExplicit: String?
var names: Set<String>
val nvalues: Int
val parser: OptionWithValuesParser
operator fun provideDelegate(thisRef: CliktCommand, prop: KProperty<*>): ReadOnlyProperty<CliktCommand, AllT>
val secondaryNames: Set<String>
val transformAll: CallsTransformer<EachT, AllT>
val transformEach: ArgsTransformer<ValueT, EachT>
val transformValue: ValueTransformer<ValueT>
typealias RawOption = NullableOption<String, String>
typealias ValueTransformer<ValueT> = OptionCallTransformContext.(String) -> ValueT
inline fun <T : Any> RawOption.convert(metavar: String = "VALUE", envvarSplit: Regex = this.envvarSplit, crossinline conversion: ValueTransformer<T>): NullableOption<T, T>
fun RawOption.counted(): FlagOption<Int>
fun <T : Any> FlagOption<T?>.default(value: T): FlagOption<T>
fun <EachT : Any, ValueT> NullableOption<EachT, ValueT>.default(value: EachT): OptionWithValues<EachT, EachT, ValueT>
inline fun <EachT : Any, ValueT> NullableOption<EachT, ValueT>.defaultLazy(crossinline value: () -> EachT): OptionWithValues<EachT, EachT, ValueT>
fun RawOption.flag(vararg secondaryNames: String, default: Boolean = false): FlagOption<Boolean>
fun <EachT : Any, ValueT> NullableOption<EachT, ValueT>.multiple(default: List<EachT> = emptyList()): OptionWithValues<List<EachT>, EachT, ValueT>
fun CliktCommand.option(vararg names: String, help: String = "", metavar: String? = null, hidden: Boolean = false, envvar: String? = null): RawOption
fun <EachT : Any, ValueT> NullableOption<EachT, ValueT>.pair(): NullableOption<Pair<ValueT, ValueT>, ValueT>
fun <T : Any> NullableOption<T, T>.prompt(text: String? = null, default: String? = null, hideInput: Boolean = false, requireConfirmation: Boolean = false, confirmationPrompt: String = "Repeat for confirmation: ", promptSuffix: String = ": ", showDefault: Boolean = true): OptionWithValues<T, T, T>
fun <EachT : Any, ValueT> NullableOption<EachT, ValueT>.required(): OptionWithValues<EachT, EachT, ValueT>
fun <T : Any> RawOption.switch(choices: Map<String, T>): FlagOption<T?>
fun <T : Any> RawOption.switch(vararg choices: Pair<String, T>): FlagOption<T?>
fun <AllT, EachT : Any, ValueT> NullableOption<EachT, ValueT>.transformAll(transform: CallsTransformer<EachT, AllT>): OptionWithValues<AllT, EachT, ValueT>
fun <EachInT : Any, EachOutT : Any, ValueT> NullableOption<EachInT, ValueT>.transformValues(nvalues: Int, transform: ArgsTransformer<ValueT, EachOutT>): NullableOption<EachOutT, ValueT>
fun <EachT : Any, ValueT> NullableOption<EachT, ValueT>.triple(): NullableOption<Triple<ValueT, ValueT, ValueT>, ValueT>
fun <T : Any> FlagOption<T>.validate(validator: OptionValidator<T>): OptionDelegate<T>
fun <AllT : Any, EachT, ValueT> OptionWithValues<AllT, EachT, ValueT>.validate(validator: OptionValidator<AllT>): OptionDelegate<AllT>
inline fun <T : CliktCommand> T.versionOption(version: String, help: String = "Show the version and exit.", names: Set<String> = setOf("--version"), crossinline message: (String) -> String = { "$commandName version $it" }): T
package com.github.ajalt.clikt.parameters.types
Module Contents
fun <T : Any> RawArgument.choice(choices: Map<String, T>): ProcessedArgument<T, T>
fun <T : Any> RawArgument.choice(vararg choices: Pair<String, T>): ProcessedArgument<T, T>
fun RawArgument.choice(vararg choices: String): ProcessedArgument<String, String>
fun <T : Any> RawOption.choice(choices: Map<String, T>, metavar: String = mvar(choices.keys)): NullableOption<T, T>
fun <T : Any> RawOption.choice(vararg choices: Pair<String, T>, metavar: String = mvar(choices.map { it.first })): NullableOption<T, T>
fun RawOption.choice(vararg choices: String, metavar: String = mvar(choices.asIterable())): NullableOption<String, String>
fun RawArgument.double(): ProcessedArgument<Double, Double>
fun RawOption.double(): NullableOption<Double, Double>
fun RawArgument.file(exists: Boolean = false, fileOkay: Boolean = true, folderOkay: Boolean = true, writable: Boolean = false, readable: Boolean = false): ProcessedArgument<File, File>
fun RawOption.file(exists: Boolean = false, fileOkay: Boolean = true, folderOkay: Boolean = true, writable: Boolean = false, readable: Boolean = false): NullableOption<File, File>
fun RawArgument.float(): ProcessedArgument<Float, Float>
fun RawOption.float(): NullableOption<Float, Float>
fun RawArgument.int(): ProcessedArgument<Int, Int>
fun RawOption.int(): NullableOption<Int, Int>
fun RawArgument.long(): ProcessedArgument<Long, Long>
fun RawOption.long(): NullableOption<Long, Long>
fun <T> ProcessedArgument<T, T>.restrictTo(min: T? = null, max: T? = null, clamp: Boolean = false): ProcessedArgument<T, T> where T : Number, T : Comparable<T>
fun <T> ProcessedArgument<T, T>.restrictTo(range: ClosedRange<T>, clamp: Boolean = false): ProcessedArgument<T, T> where T : Number, T : Comparable<T>
fun <T> OptionWithValues<T?, T, T>.restrictTo(min: T? = null, max: T? = null, clamp: Boolean = false): OptionWithValues<T?, T, T> where T : Number, T : Comparable<T>
fun <T> OptionWithValues<T?, T, T>.restrictTo(range: ClosedRange<T>, clamp: Boolean = false): OptionWithValues<T?, T, T> where T : Number, T : Comparable<T>
package com.github.ajalt.clikt.parsers