summaryrefslogtreecommitdiff
path: root/Biz/Ide/repl
diff options
context:
space:
mode:
Diffstat (limited to 'Biz/Ide/repl')
-rwxr-xr-xBiz/Ide/repl20
1 files changed, 20 insertions, 0 deletions
diff --git a/Biz/Ide/repl b/Biz/Ide/repl
new file mode 100755
index 0000000..79e7875
--- /dev/null
+++ b/Biz/Ide/repl
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+#
+# a simple complement to bild which only deals with launching repls
+#
+# > repl <target>
+#
+# Starts a repl/shell for target.
+#
+# - if target.hs, load ghci
+# - TODO: if target.scm, load scheme repl
+# - TODO: if target.nix, load nix-shell
+##
+ set -e
+ target=${1:?}
+ json=$(bild --json $1)
+ langdeps=$(jq --raw-output '.[].langdeps | join(" ")' <<< $json)
+ nix-shell \
+ --packages "(import $BIZ_ROOT/Biz/Bild.nix {}).ghcWith (h: with h; [$langdeps])" \
+ --command "ghci -i$BIZ_ROOT -ghci-script $BIZ_ROOT/.ghci $target"
+##