aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/cli.lux
blob: 3cbb2aae82880e2196c9d12b50f8f8b387bd7a76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
(.module:
  [lux #*
   [control
    ["<>" parser
     ["." cli (#+ Parser)]]]])

(type: #export Compilation
  #Build
  #Test)

(def: compilation
  (Parser Compilation)
  (<>.or (cli.this "build")
         (cli.this "test")))

(type: #export Command
  #POM
  #Install
  #Dependencies
  (#Compilation Compilation)
  (#Auto Compilation))

(def: #export command
  (Parser Command)
  ($_ <>.or
      (cli.this "pom")
      (cli.this "install")
      (cli.this "deps")
      ..compilation
      (<>.after (cli.this "auto")
                ..compilation)
      ))