mirror of
https://github.com/unisonweb/unison.git
synced 2024-10-04 05:37:14 +03:00
Merge pull request #5223 from unisonweb/cp/skip-eval
This commit is contained in:
commit
9516c5983c
@ -40,7 +40,9 @@ import Unison.Syntax.Parser qualified as Parser
|
||||
import Unison.Term (Term)
|
||||
import Unison.Term qualified as Term
|
||||
import Unison.UnisonFile (TypecheckedUnisonFile)
|
||||
import Unison.UnisonFile qualified as UF
|
||||
import Unison.UnisonFile.Names qualified as UF
|
||||
import Unison.Util.Timing qualified as Timing
|
||||
import Unison.WatchKind qualified as WK
|
||||
|
||||
handleLoad :: Maybe FilePath -> Cli ()
|
||||
@ -65,11 +67,14 @@ loadUnisonFile sourceName text = do
|
||||
pped <- Cli.prettyPrintEnvDeclFromNames names
|
||||
let ppe = PPE.suffixifiedPPE pped
|
||||
Cli.respond $ Output.Typechecked sourceName ppe sr unisonFile
|
||||
(bindings, e) <- evalUnisonFile Permissive ppe unisonFile []
|
||||
let e' = Map.map go e
|
||||
go (ann, kind, _hash, _uneval, eval, isHit) = (ann, kind, eval, isHit)
|
||||
when (not (null e')) do
|
||||
Cli.respond $ Output.Evaluated text ppe bindings e'
|
||||
|
||||
when (not . null $ UF.watchComponents unisonFile) do
|
||||
Timing.time "evaluating watches" do
|
||||
(bindings, e) <- evalUnisonFile Permissive ppe unisonFile []
|
||||
let e' = Map.map go e
|
||||
go (ann, kind, _hash, _uneval, eval, isHit) = (ann, kind, eval, isHit)
|
||||
when (not (null e')) do
|
||||
Cli.respond $ Output.Evaluated text ppe bindings e'
|
||||
#latestTypecheckedFile .= Just (Right unisonFile)
|
||||
where
|
||||
withFile ::
|
||||
@ -81,8 +86,8 @@ loadUnisonFile sourceName text = do
|
||||
pp <- Cli.getCurrentProjectPath
|
||||
State.modify' \loopState ->
|
||||
loopState
|
||||
& #latestFile .~ Just (Text.unpack sourceName, False)
|
||||
& #latestTypecheckedFile .~ Nothing
|
||||
& (#latestFile .~ Just (Text.unpack sourceName, False))
|
||||
& (#latestTypecheckedFile .~ Nothing)
|
||||
Cli.Env {codebase, generateUniqueName} <- ask
|
||||
uniqueName <- liftIO generateUniqueName
|
||||
let parsingEnv =
|
||||
|
Loading…
Reference in New Issue
Block a user