From 8e2eede487b24908c89d60bce272e4269135e4ec Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Tue, 21 Dec 2021 18:48:16 -0500 Subject: Extract repl program from bild This is basically building on top of bild's analysis, which is great becuase it means that bild is becoming a useful tool rather than a monolithic do-everything job runner. The eventual goal is for the bild analysis to be much more useful, maybe even provide data to remote repls or language-server or whatever. --- Biz/Ide/repl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 Biz/Ide/repl (limited to 'Biz/Ide') 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 +# +# 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" +## -- cgit v1.2.3