aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/cli.lux
diff options
context:
space:
mode:
authorEduardo Julian2020-10-09 01:16:47 -0400
committerEduardo Julian2020-10-09 01:16:47 -0400
commitbae39f32cddb816a6123697269c20dbf4a65ac19 (patch)
treed9ee53073ebe0d83e29dbd24e0dda8d5dd95dc47 /stdlib/source/program/aedifex/cli.lux
parent79aa92dfd81d569fe6120b8e5c00d41528801153 (diff)
Also using BIPUSH and SIPUSH during JVM generation.
Diffstat (limited to 'stdlib/source/program/aedifex/cli.lux')
-rw-r--r--stdlib/source/program/aedifex/cli.lux49
1 files changed, 40 insertions, 9 deletions
diff --git a/stdlib/source/program/aedifex/cli.lux b/stdlib/source/program/aedifex/cli.lux
index dc64dee6e..666e5a701 100644
--- a/stdlib/source/program/aedifex/cli.lux
+++ b/stdlib/source/program/aedifex/cli.lux
@@ -1,8 +1,12 @@
(.module:
[lux (#- Name)
+ [abstract
+ ["." equivalence (#+ Equivalence)]]
[control
["<>" parser
- ["." cli (#+ Parser)]]]]
+ ["." cli (#+ Parser)]]]
+ [data
+ ["." text]]]
[//
[upload (#+ User Password)]
["/" profile (#+ Name)]])
@@ -11,12 +15,23 @@
#Build
#Test)
+(structure: any-equivalence
+ (Equivalence Any)
+
+ (def: (= reference subject)
+ true))
+
+(def: compilation-equivalence
+ (Equivalence Compilation)
+ (equivalence.sum ..any-equivalence
+ ..any-equivalence))
+
(def: compilation
(Parser Compilation)
(<>.or (cli.this "build")
(cli.this "test")))
-(type: #export Operation
+(type: #export Command
#POM
#Dependencies
#Install
@@ -24,11 +39,27 @@
(#Compilation Compilation)
(#Auto Compilation))
-(type: #export Command
- [Name Operation])
+(def: #export equivalence
+ (Equivalence Command)
+ ($_ equivalence.sum
+ ## #POM
+ ..any-equivalence
+ ## #Dependencies
+ ..any-equivalence
+ ## #Install
+ ..any-equivalence
+ ## #Deploy
+ ($_ equivalence.product
+ text.equivalence
+ text.equivalence
+ text.equivalence)
+ ## #Compilation
+ ..compilation-equivalence
+ ## #Auto
+ ..compilation-equivalence))
-(def: operation
- (Parser Operation)
+(def: command'
+ (Parser Command)
($_ <>.or
(cli.this "pom")
(cli.this "deps")
@@ -44,12 +75,12 @@
))
(def: #export command
- (Parser Command)
+ (Parser [Name Command])
($_ <>.either
(<>.after (cli.this "with")
($_ <>.and
cli.any
- ..operation))
+ ..command'))
(:: <>.monad map (|>> [/.default])
- ..operation)
+ ..command')
))