about summary refs log tree commit diff
path: root/pkgs/profpatsch/dhallsh/Argument/toArgList.dhall
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/profpatsch/dhallsh/Argument/toArgList.dhall')
-rw-r--r--pkgs/profpatsch/dhallsh/Argument/toArgList.dhall18
1 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/profpatsch/dhallsh/Argument/toArgList.dhall b/pkgs/profpatsch/dhallsh/Argument/toArgList.dhall
new file mode 100644
index 00000000..93785c72
--- /dev/null
+++ b/pkgs/profpatsch/dhallsh/Argument/toArgList.dhall
@@ -0,0 +1,18 @@
+let OptionPrinter = ../OptionPrinter/type.dhall
+
+let Option = ../Option/type.dhall
+
+let Argument = ../Argument/type.dhall
+
+in    λ(optionPrinter : OptionPrinter)
+	→ λ(a : Argument)
+	→ merge
+	  { Plain =
+		  λ(t : Text) → [ t ]
+	  , Flag =
+		  λ(o : Option) → [ optionPrinter o ]
+	  , Option =
+		  λ(o : { opt : Option, arg : Text }) → [ optionPrinter o.opt, o.arg ]
+	  }
+	  a
+	  : List Text