about summary refs log tree commit diff
path: root/pkgs/profpatsch/dhallsh/Argument/toArgList.dhall
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2019-09-08 14:00:56 +0200
committerProfpatsch <mail@profpatsch.de>2020-02-24 00:57:55 +0100
commit101ed72e9f97a8f68b5f678854c992dff18d8f9f (patch)
tree2429f587c79b235d6e7e68ae7c3fdccf0945eef9 /pkgs/profpatsch/dhallsh/Argument/toArgList.dhall
parent5be00d875782a85d1f03f1dc0631e17f764ded91 (diff)
Init: basic command line abstraction for fish’s complete
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