aboutsummaryrefslogtreecommitdiff
path: root/commando/src/Main.scala
diff options
context:
space:
mode:
Diffstat (limited to 'commando/src/Main.scala')
-rw-r--r--commando/src/Main.scala32
1 files changed, 32 insertions, 0 deletions
diff --git a/commando/src/Main.scala b/commando/src/Main.scala
new file mode 100644
index 0000000..1e1b786
--- /dev/null
+++ b/commando/src/Main.scala
@@ -0,0 +1,32 @@
+package example
+
+object Main extends App {
+
+ val cmd = new commando.Command("xorc") {
+ val version = named("version")
+ .action(() => println("version 1"))
+ .repeat()
+
+ named("verbose")
+ .optionalArg("level")
+ .action(level => println(s"level $level"))
+
+ positional("FILES")
+ .action { s =>
+ val f = new java.io.File(s)
+ if (!f.exists()) error(s"File $s does not exit")
+ println(f)
+ }
+ .repeat()
+
+ val comp = named("completion")
+ .action(() => println(completion()))
+ }
+ cmd.parse(args) match {
+ case None =>
+ case Some(error) =>
+ println(error)
+ sys.exit(1)
+ }
+
+}