Skip to content

darwincereska/kargs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kargs

All-in-one tool for building cli applications in Kotlin

Installation

/** build.gradle.kts */
repositories {
  mavenCentral()
}

dependencies {
  implementation("org.kargs:kargs:version")
}

Usage

Parser

// Main.kt
import org.kargs.*

fun main(args: Array<String>) {
  val parser = Parser("program name")

  // Register subcommands
  parser.subcommands(
    TestCommand1(),
    TestCommand2(),
    ...
  )

  parser.parse(args)

Subcommand

// Subcommand.kt
import org.kargs.*

class TestCommand : Subcommand("name", "description", aliases = listOf("alias1", "alias2")) {
  override fun execute() {
    println("Logic")
  }
}