on master help sign in
add code for generating REPL javascript
commit8f7a976c56fe6461825d3b82f05416e4aad0c828 authorEvan Czaplicki <evancz@users.noreply.github.com> dateMon 24 Jun 2019, 16:50 (7 years ago) parentcc45728
1 file changed+10
builder/src/Generate.hs+10
builder/src/Generate.hs+10
@@ -3,6 +3,7 @@ module Generate
33 ( debug
44 , dev
55 , prod
6+ , repl
67 )
78 where
89
@@ -11,8 +12,10 @@ import Prelude hiding (cycle, print)
1112import Control.Concurrent (MVar, forkIO, newEmptyMVar, newMVar, putMVar, readMVar)
1213import Control.Monad (liftM2)
1314import qualified Data.ByteString.Builder as B
15+import Data.Map ((!))
1416import qualified Data.Map as Map
1517import qualified Data.Maybe as Maybe
18+import qualified Data.Name as N
1619import qualified Data.NonEmptyList as NE
1720
1821import qualified AST.Optimized as Opt
@@ -74,6 +77,13 @@ prod root details (Build.Artifacts pkg _ roots modules) =
7477 return $ JS.generate mode graph mains
7578
7679
80+repl :: FilePath -> Details.Details -> Bool -> Build.ReplArtifacts -> N.Name -> Task B.Builder
81+repl root details ansi (Build.ReplArtifacts home modules localizer annotations) name =
82+ do objects <- finalizeObjects =<< loadObjects root details modules
83+ let graph = objectsToGlobalGraph objects
84+ return $ JS.generateForRepl ansi localizer graph home name (annotations ! name)
85+
86+
7787
7888-- CHECK FOR DEBUG
7989