Project to experiment PicoCLI using as the build tool, and as the programming language.
./gradlew jar
in ZSH:
autoload -U +X compinit && compinit
autoload -U +X bashcompinit && bashcompinit
. ./jchecksum_completion
alias jchecksum='java -cp /home/manu/.gradle/caches/modules-2/files-2.1/info.picocli/picocli/3.8.2/ad74665a1b8d10b45e7c4bfa6c709dc3b3d9ca78/picocli-3.8.2.jar:build/libs/kotlin-picocli-1.0-SNAPSHOT.jar:/home/manu/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.3.11/dd9bff00d6cfca58b6c1fe89be8e0678e35cf35f/kotlin-stdlib-jdk8-1.3.11.jar:/home/manu/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.11/4cbc5922a54376018307a731162ccaf3ef851a39/kotlin-stdlib-1.3.11.jar CheckSum'
Then:
jchecksum <TAB> <TAB>
This example also illustrates the usage of color output feature of picocli.
autoload -U +X compinit && compinit
autoload -U +X bashcompinit && bashcompinit
. ./mykotlinapp_completion
alias mykotlinapp='java -cp /home/manu/.gradle/caches/modules-2/files-2.1/info.picocli/picocli/3.8.2/ad74665a1b8d10b45e7c4bfa6c709dc3b3d9ca78/picocli-3.8.2.jar:build/libs/kotlin-picocli-1.0-SNAPSHOT.jar:~/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.3.11/dd9bff00d6cfca58b6c1fe89be8e0678e35cf35f/kotlin-stdlib-jdk8-1.3.11.jar:/home/manu/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.11/4cbc5922a54376018307a731162ccaf3ef851a39/kotlin-stdlib-1.3.11.jar MyKotlinApp'
mykotlinapp --help
:
Usage: mykotlinapp [-hV] [-c=<count>] [COMMAND]
Kotlin picocli example with color usage show-off.
This application prints out 'Hello World' a certain number of times, according
to numeric Option --count (-c).
-c, --count=<count> number of repetitions
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
Commands:
sub Define the main sub-command
status Display information about status
help Displays help information about the specified command
$ my-kotlin-app sub
$ my-kotlin-app help status
$ my-kotlin-app status -a myObject
$ my-kotlin-app status -o <TAB>
OBJECT SOURCE URL <-- Shell completion proposes enum values (for @Option's only, not @Parameters)