commonMain.Samples.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kommandsamples Show documentation
Show all versions of kommandsamples Show documentation
Kotlin DSL for popular CLI commands.
@file:Suppress("unused")
package pl.mareklangiewicz.kommand.samples
import pl.mareklangiewicz.annotations.ExampleApi
import pl.mareklangiewicz.kommand.*
data class Sample(
val kommand: Kommand,
val expectedLineRaw: String? = null,
) : Kommand by kommand
data class TypedSample(
val typedKommand: TypedKommand,
val expectedLineRaw: String? = null,
)
data class ReducedSample(
val reducedKommand: ReducedKommand,
val expectedLineRaw: String? = null,
) : ReducedKommand by reducedKommand
internal infix fun Kommand.s(expectedLineRaw: String?) = Sample(this, expectedLineRaw = expectedLineRaw)
internal infix fun TypedKommand.ts(expectedLineRaw: String?) =
TypedSample(this, expectedLineRaw = expectedLineRaw)
internal infix fun ReducedKommand.rs(expectedLineRaw: String?) =
ReducedSample(this, expectedLineRaw = expectedLineRaw)
data object Samples {
@ExampleApi val Demo = pl.mareklangiewicz.kommand.demo.MyDemoSamples
val Core = pl.mareklangiewicz.kommand.core.CoreSamples
val Find = pl.mareklangiewicz.kommand.find.FindSamples
val Ssh = pl.mareklangiewicz.kommand.ssh.SshSamples
val Admin = pl.mareklangiewicz.kommand.admin.AdminSamples
val Debian = pl.mareklangiewicz.kommand.debian.DebianSamples
val Git = pl.mareklangiewicz.kommand.git.GitSamples
val GitHub = pl.mareklangiewicz.kommand.github.GhSamples
}