https://github.com/dustinliu/argparse4k
command line parser for kotlin
https://github.com/dustinliu/argparse4k
argument-parser command-line-parser command-line-tool kotlin kotlin-library option-parser option-parsing
Last synced: 4 months ago
JSON representation
command line parser for kotlin
- Host: GitHub
- URL: https://github.com/dustinliu/argparse4k
- Owner: dustinliu
- License: bsd-3-clause
- Created: 2017-12-29T02:52:51.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-29T23:43:17.000Z (about 8 years ago)
- Last Synced: 2025-01-22T21:21:57.620Z (over 1 year ago)
- Topics: argument-parser, command-line-parser, command-line-tool, kotlin, kotlin-library, option-parser, option-parsing
- Language: Kotlin
- Size: 86.9 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/dustinliu/argparse4k)
[](https://codecov.io/gh/dustinliu/argparse4k)
# argparse4k
## usage
```kotlin
val parser = ArgumentParserImpl("testprog", arrayOf("-v"))
val version by parser.flag("-v", help = "help version")
val detached by parser.flag("-d", "--detached", help = "fdsf")
assertEquals(true, version)
assertEquals(false, detached)
```
```kotlin
val parser = ArgumentParserImpl("testprog", arrayOf("-foo", "bar"))
class TestClass {
val foo by parser.value("-foo", metavar = "ggg", help = "fo fo fo")
}
val testClass = TestClass()
assertEquals("bar", testClass.foo)
```
```kotlin
val parser = ArgumentParserImpl("testprog", arrayOf("-foo", "bar", "ggg"))
class TestClass {
val foo by parser.values("-foo", metavar = "ggg", help = "fo fo fo")
}
val testClass = TestClass()
assertEquals("bar", testClass.foo[0])
assertEquals("ggg", testClass.foo[1])
```
```kotlin
val parser = ArgumentParserImpl("testprog", arrayOf("-foo", "bar", "container"))
class testClass {
val foo by parser.value("-foo", metavar = "ggg", help = "fo fo fo")
val container by parser.positional("container", help = "container name")
}
val testClass = TestClass()
assertEquals("bar", testClass.foo)
assertEquals("container", testClass.container)
```
```kotlin
val parser = ArgumentParserImpl("testprog", arrayOf("ccc", "-v"))
val cmdParser = parser.addCommandArgumentParser("ccc")
class TestClass {
val verbose by parser.flag("-v", help = "container name")
}
class testClass2 {
val verbose by cmdParser.flag("-v")
}
val testClass = TestClass()
val testClass2 = TestClass2()
assertEquals(false, testClass.verbose)
assertEquals(true, testClass2.verbose)
```