on master help sign in
Support module import in IDESlave
8ecdf60Mort Yao
src/Idris/REPL.hs+6−1
@@ -537,6 +537,7 @@ ideslaveProcess fn Warranty = process fn Warranty
537ideslaveProcess fn Help = process fn Help
537ideslaveProcess fn Help = process fn Help
538ideslaveProcess fn (ChangeDirectory f) = do process fn (ChangeDirectory f)
538ideslaveProcess fn (ChangeDirectory f) = do process fn (ChangeDirectory f)
539 iPrintResult "changed directory to"
539 iPrintResult "changed directory to"
540+ideslaveProcess fn (ModImport f) = process fn (ModImport f)
540ideslaveProcess fn (Eval t) = process fn (Eval t)
541ideslaveProcess fn (Eval t) = process fn (Eval t)
541ideslaveProcess fn (NewDefn decls) = do process fn (NewDefn decls)
542ideslaveProcess fn (NewDefn decls) = do process fn (NewDefn decls)
542 iPrintResult "defined"
543 iPrintResult "defined"
@@ -721,6 +722,10 @@ process fn Warranty = iPrintResult warranty
721process fn (ChangeDirectory f)
722process fn (ChangeDirectory f)
722 = do runIO $ setCurrentDirectory f
723 = do runIO $ setCurrentDirectory f
723 return ()
724 return ()
725+process fn (ModImport f) = do fmod <- loadModule f
726+ case fmod of
727+ Just pr -> isetPrompt pr
728+ Nothing -> iPrintError $ "Can't find import " ++ f
724process fn (Eval t)
729process fn (Eval t)
725 = withErrorReflection $ do logLvl 5 $ show t
730 = withErrorReflection $ do logLvl 5 $ show t
726 getIState >>= flip warnDisamb t
731 getIState >>= flip warnDisamb t
@@ -1181,7 +1186,7 @@ process fn (SetConsoleWidth w) = setWidth w
1181
1186
1182process fn (Apropos pkgs a) =
1187process fn (Apropos pkgs a) =
1183 do orig <- getIState
1188 do orig <- getIState
1184− when (not (null pkgs)) $
1189+ when (not (null pkgs)) $
1185 iputStrLn $ "Searching packages: " ++ showSep ", " pkgs
1190 iputStrLn $ "Searching packages: " ++ showSep ", " pkgs
1186 mapM_ loadPkgIndex pkgs
1191 mapM_ loadPkgIndex pkgs
1187 ist <- getIState
1192 ist <- getIState