(.module: [lux (#- Name) [control ["<>" parser ["." cli (#+ Parser)]]]] [// [upload (#+ User Password)] ["/" profile (#+ Name)]]) (type: #export Compilation #Build #Test) (def: compilation (Parser Compilation) (<>.or (cli.this "build") (cli.this "test"))) (type: #export Operation #POM #Dependencies #Install (#Deploy Text User Password) (#Compilation Compilation) (#Auto Compilation)) (type: #export Command [Name Operation]) (def: operation (Parser Operation) ($_ <>.or (cli.this "pom") (cli.this "deps") (cli.this "install") (<>.after (cli.this "deploy") ($_ <>.and cli.any cli.any cli.any)) ..compilation (<>.after (cli.this "auto") ..compilation) )) (def: #export command (Parser Command) ($_ <>.either (<>.after (cli.this "with") ($_ <>.and cli.any ..operation)) (:: <>.monad map (|>> [/.default]) ..operation) ))