package dev.openrs2.cli import com.github.ajalt.clikt.parameters.options.NullableOption import com.github.ajalt.clikt.parameters.options.OptionWithValues import com.github.ajalt.clikt.parameters.options.RawOption import com.github.ajalt.clikt.parameters.options.convert import com.github.ajalt.clikt.parameters.options.default import java.io.InputStream import java.io.OutputStream import java.nio.file.Files import java.nio.file.Paths fun RawOption.inputStream(): NullableOption { return convert("FILE") { return@convert if (it == "-") { System.`in` } else { Files.newInputStream(Paths.get(it)) } } } fun NullableOption.defaultStdin(): OptionWithValues { return default(System.`in`, "-") } fun RawOption.outputStream(): NullableOption { return convert("FILE") { return@convert if (it == "-") { System.out } else { Files.newOutputStream(Paths.get(it)) } } } fun NullableOption.defaultStdout(): OptionWithValues { return default(System.out, "-") }