@@ -122,15 +122,15 @@ ideslave orig mods
123 c <- colourise
123 c <- colourise
124 case parseCmd i "(input)" cmd of
124 case parseCmd i "(input)" cmd of
125− Failure err -> iFail $ show (fixColour c err)
125+ Failure err -> iPrintError $ show (fixColour c err)
126− Success (Prove n') -> do iResult ""
126+ Success (Prove n') -> do iPrintResult ""
127 idrisCatch
127 idrisCatch
128 (do process fn (Prove n'))
128 (do process fn (Prove n'))
129− (\e -> do iFail $ show e)
129+ (\e -> do iPrintError $ show e)
130 isetPrompt (mkPrompt mods)
130 isetPrompt (mkPrompt mods)
131 Success cmd -> idrisCatch
131 Success cmd -> idrisCatch
132 (do ideslaveProcess fn cmd)
132 (do ideslaveProcess fn cmd)
133− (\e -> do iFail $ show e)
133+ (\e -> do iPrintError $ show e)
134 Just (REPLCompletions str) ->
134 Just (REPLCompletions str) ->
135 do (unused, compls) <- replCompletion (reverse str, "")
135 do (unused, compls) <- replCompletion (reverse str, "")
136 let good = SexpList [SymbolAtom "ok", toSExp (map replacement compls, reverse unused)]
136 let good = SexpList [SymbolAtom "ok", toSExp (map replacement compls, reverse unused)]
@@ -146,17 +146,17 @@ ideslave orig mods
146 -- Report either success or failure
146 -- Report either success or failure
147 i <- getIState
147 i <- getIState
148 case (errLine i) of
148 case (errLine i) of
149− Nothing -> iResult $ "loaded " ++ filename
149+ Nothing -> iPrintResult $ "loaded " ++ filename
150− Just x -> iFail $ "didn't load " ++ filename
150+ Just x -> iPrintError $ "didn't load " ++ filename
151 ideslave orig [filename]
151 ideslave orig [filename]
152− Nothing -> do iFail "did not understand")
152+ Nothing -> do iPrintError "did not understand")
153− (\e -> do iFail $ show e)
153+ (\e -> do iPrintError $ show e)
154 ideslave orig mods
154 ideslave orig mods
156ideslaveProcess :: FilePath -> Command -> Idris ()
156ideslaveProcess :: FilePath -> Command -> Idris ()
157ideslaveProcess fn Help = process fn Help
157ideslaveProcess fn Help = process fn Help
158ideslaveProcess fn (ChangeDirectory f) = do process fn (ChangeDirectory f)
158ideslaveProcess fn (ChangeDirectory f) = do process fn (ChangeDirectory f)
159− iResult "changed directory to"
159+ iPrintResult "changed directory to"
160ideslaveProcess fn (Eval t) = process fn (Eval t)
160ideslaveProcess fn (Eval t) = process fn (Eval t)
161ideslaveProcess fn (ExecVal t) = process fn (ExecVal t)
161ideslaveProcess fn (ExecVal t) = process fn (ExecVal t)
162ideslaveProcess fn (Check (PRef x n)) = process fn (Check (PRef x n))
162ideslaveProcess fn (Check (PRef x n)) = process fn (Check (PRef x n))
@@ -164,10 +164,10 @@ ideslaveProcess fn (Check t) = process fn (Check t)
164ideslaveProcess fn (DocStr n) = process fn (DocStr n)
164ideslaveProcess fn (DocStr n) = process fn (DocStr n)
165ideslaveProcess fn Universes = process fn Universes
165ideslaveProcess fn Universes = process fn Universes
166ideslaveProcess fn (Defn n) = do process fn (Defn n)
166ideslaveProcess fn (Defn n) = do process fn (Defn n)
167− iResult ""
167+ iPrintResult ""
168ideslaveProcess fn (TotCheck n) = process fn (TotCheck n)
168ideslaveProcess fn (TotCheck n) = process fn (TotCheck n)
169ideslaveProcess fn (DebugInfo n) = do process fn (DebugInfo n)
169ideslaveProcess fn (DebugInfo n) = do process fn (DebugInfo n)
170− iResult ""
170+ iPrintResult ""
171ideslaveProcess fn (Info n) = process fn (Info n)
171ideslaveProcess fn (Info n) = process fn (Info n)
172ideslaveProcess fn (Search t) = process fn (Search t)
172ideslaveProcess fn (Search t) = process fn (Search t)
173ideslaveProcess fn (Spec t) = process fn (Spec t)
173ideslaveProcess fn (Spec t) = process fn (Spec t)
@@ -179,29 +179,29 @@ ideslaveProcess fn (HNF t) = process fn (HNF t)
179--that most likely does not work, since we need to wrap
179--that most likely does not work, since we need to wrap
180--input/output of the executed binary...
180--input/output of the executed binary...
181ideslaveProcess fn Execute = do process fn Execute
181ideslaveProcess fn Execute = do process fn Execute
182− iResult ""
182+ iPrintResult ""
183ideslaveProcess fn (Compile codegen f) = do process fn (Compile codegen f)
183ideslaveProcess fn (Compile codegen f) = do process fn (Compile codegen f)
184− iResult ""
184+ iPrintResult ""
185ideslaveProcess fn (LogLvl i) = do process fn (LogLvl i)
185ideslaveProcess fn (LogLvl i) = do process fn (LogLvl i)
186− iResult ""
186+ iPrintResult ""
187ideslaveProcess fn (Pattelab t) = process fn (Pattelab t)
187ideslaveProcess fn (Pattelab t) = process fn (Pattelab t)
188ideslaveProcess fn (Missing n) = process fn (Missing n)
188ideslaveProcess fn (Missing n) = process fn (Missing n)
189ideslaveProcess fn (DynamicLink l) = do process fn (DynamicLink l)
189ideslaveProcess fn (DynamicLink l) = do process fn (DynamicLink l)
190− iResult ""
190+ iPrintResult ""
191ideslaveProcess fn ListDynamic = do process fn ListDynamic
191ideslaveProcess fn ListDynamic = do process fn ListDynamic
192− iResult ""
192+ iPrintResult ""
193ideslaveProcess fn Metavars = process fn Metavars
193ideslaveProcess fn Metavars = process fn Metavars
194ideslaveProcess fn (SetOpt ErrContext) = do process fn (SetOpt ErrContext)
194ideslaveProcess fn (SetOpt ErrContext) = do process fn (SetOpt ErrContext)
195− iResult ""
195+ iPrintResult ""
196ideslaveProcess fn (UnsetOpt ErrContext) = do process fn (UnsetOpt ErrContext)
196ideslaveProcess fn (UnsetOpt ErrContext) = do process fn (UnsetOpt ErrContext)
197− iResult ""
197+ iPrintResult ""
198ideslaveProcess fn (SetOpt ShowImpl) = do process fn (SetOpt ShowImpl)
198ideslaveProcess fn (SetOpt ShowImpl) = do process fn (SetOpt ShowImpl)
199− iResult ""
199+ iPrintResult ""
200ideslaveProcess fn (UnsetOpt ShowImpl) = do process fn (UnsetOpt ShowImpl)
200ideslaveProcess fn (UnsetOpt ShowImpl) = do process fn (UnsetOpt ShowImpl)
201− iResult ""
201+ iPrintResult ""
202ideslaveProcess fn (SetOpt x) = process fn (SetOpt x)
202ideslaveProcess fn (SetOpt x) = process fn (SetOpt x)
203ideslaveProcess fn (UnsetOpt x) = process fn (UnsetOpt x)
203ideslaveProcess fn (UnsetOpt x) = process fn (UnsetOpt x)
204−ideslaveProcess fn _ = iFail "command not recognized or not supported"
204+ideslaveProcess fn _ = iPrintError "command not recognized or not supported"
207-- | The prompt consists of the currently loaded modules, or "Idris" if there are none
207-- | The prompt consists of the currently loaded modules, or "Idris" if there are none
@@ -261,7 +261,7 @@ resolveProof n'
261 n <- case lookupNames n' ctxt of
261 n <- case lookupNames n' ctxt of
262 [x] -> return x
262 [x] -> return x
263 [] -> return n'
263 [] -> return n'
264− ns -> fail $ pshow i (CantResolveAlts (map show ns))
264+ ns -> ierror (CantResolveAlts (map show ns))
267removeProof :: Name -> Idris ()
267removeProof :: Name -> Idris ()
@@ -309,7 +309,7 @@ insertScript prf (p@"---------- Proofs ----------" : "" : xs)
309insertScript prf (x : xs) = x : insertScript prf xs
309insertScript prf (x : xs) = x : insertScript prf xs
311process :: FilePath -> Command -> Idris ()
311process :: FilePath -> Command -> Idris ()
312−process fn Help = iResult displayHelp
312+process fn Help = iPrintResult displayHelp
313process fn (ChangeDirectory f)
313process fn (ChangeDirectory f)
314 = do liftIO $ setCurrentDirectory f
314 = do liftIO $ setCurrentDirectory f
315 return ()
315 return ()
@@ -325,7 +325,7 @@ process fn (Eval t)
325 logLvl 10 $ "Debug: " ++ showEnvDbg [] tm'
325 logLvl 10 $ "Debug: " ++ showEnvDbg [] tm'
326 imp <- impShow
326 imp <- impShow
327 c <- colourise
327 c <- colourise
328− iResult (showImp (Just ist) imp c (delab ist tm') ++ " : " ++
328+ iPrintResult (showImp (Just ist) imp c (delab ist tm') ++ " : " ++
329 showImp (Just ist) imp c (delab ist ty'))
329 showImp (Just ist) imp c (delab ist ty'))
330process fn (ExecVal t)
330process fn (ExecVal t)
331 = do ctxt <- getContext
331 = do ctxt <- getContext
@@ -336,7 +336,7 @@ process fn (ExecVal t)
336 res <- execute tm
336 res <- execute tm
337 imp <- impShow
337 imp <- impShow
338 c <- colourise
338 c <- colourise
339− iResult (showImp (Just ist) imp c (delab ist res) ++ " : " ++
339+ iPrintResult (showImp (Just ist) imp c (delab ist res) ++ " : " ++
340 showImp (Just ist) imp c (delab ist ty'))
340 showImp (Just ist) imp c (delab ist ty'))
341process fn (Check (PRef _ n))
341process fn (Check (PRef _ n))
342 = do ctxt <- getContext
342 = do ctxt <- getContext
@@ -346,8 +346,8 @@ process fn (Check (PRef _ n))
346 case lookupNames n ctxt of
346 case lookupNames n ctxt of
347 ts@(_:_) -> do mapM_ (\n -> iputStrLn $ showName (Just ist) [] False c n ++ " : " ++
347 ts@(_:_) -> do mapM_ (\n -> iputStrLn $ showName (Just ist) [] False c n ++ " : " ++
348 showImp (Just ist) imp c (delabTy ist n)) ts
348 showImp (Just ist) imp c (delabTy ist n)) ts
349− iResult ""
349+ iPrintResult ""
350− [] -> iFail $ "No such variable " ++ show n
350+ [] -> iPrintError $ "No such variable " ++ show n
351process fn (Check t)
351process fn (Check t)
352 = do (tm, ty) <- elabVal toplevel False t
352 = do (tm, ty) <- elabVal toplevel False t
353 ctxt <- getContext
353 ctxt <- getContext
@@ -356,15 +356,15 @@ process fn (Check t)
356 c <- colourise
356 c <- colourise
357 let ty' = normaliseC ctxt [] ty
357 let ty' = normaliseC ctxt [] ty
358 case tm of
358 case tm of
359− TType _ -> iResult ("Type : Type 1")
359+ TType _ -> iPrintResult ("Type : Type 1")
360− _ -> iResult (showImp (Just ist) imp c (delab ist tm) ++ " : " ++
360+ _ -> iPrintResult (showImp (Just ist) imp c (delab ist tm) ++ " : " ++
361− showImp (Just ist) imp c (delab ist ty))
361+ showImp (Just ist) imp c (delab ist ty))
363process fn (DocStr n) = do i <- getIState
363process fn (DocStr n) = do i <- getIState
364 case lookupCtxtName n (idris_docstrings i) of
364 case lookupCtxtName n (idris_docstrings i) of
365− [] -> iFail $ "No documentation for " ++ show n
365+ [] -> iPrintError $ "No documentation for " ++ show n
366 ns -> do mapM_ showDoc ns
366 ns -> do mapM_ showDoc ns
367− iResult ""
367+ iPrintResult ""
368 where showDoc (n, d)
368 where showDoc (n, d)
369 = do doc <- getDocs n
369 = do doc <- getDocs n
370 iputStrLn $ show doc
370 iputStrLn $ show doc
@@ -375,8 +375,8 @@ process fn Universes = do i <- getIState
375 let n = length cs
375 let n = length cs
376 iputStrLn $ "(" ++ show n ++ " constraints)"
376 iputStrLn $ "(" ++ show n ++ " constraints)"
377 case ucheck cs of
377 case ucheck cs of
378− Error e -> iFail $ pshow i e
378+ Error e -> iPrintError $ pshow i e
379− OK _ -> iResult "Universes OK"
379+ OK _ -> iPrintResult "Universes OK"
380process fn (Defn n) = do i <- getIState
380process fn (Defn n) = do i <- getIState
381 iputStrLn "Compiled patterns:\n"
381 iputStrLn "Compiled patterns:\n"
382 iputStrLn $ show (lookupDef n (tt_ctxt i))
382 iputStrLn $ show (lookupDef n (tt_ctxt i))
@@ -393,8 +393,8 @@ process fn (Defn n) = do i <- getIState
393 showImp (Just i) True c (delab i rhs))
393 showImp (Just i) True c (delab i rhs))
394process fn (TotCheck n) = do i <- getIState
394process fn (TotCheck n) = do i <- getIState
395 case lookupTotal n (tt_ctxt i) of
395 case lookupTotal n (tt_ctxt i) of
396− [t] -> iResult (showTotal t i)
396+ [t] -> iPrintResult (showTotal t i)
397− _ -> do iFail ""
397+ _ -> do iPrintError ""
398 return ()
398 return ()
399process fn (DebugInfo n)
399process fn (DebugInfo n)
400 = do i <- getIState
400 = do i <- getIState
@@ -417,13 +417,13 @@ process fn (DebugInfo n)
417process fn (Info n) = do i <- getIState
417process fn (Info n) = do i <- getIState
418 case lookupCtxt n (idris_classes i) of
418 case lookupCtxt n (idris_classes i) of
419 [c] -> classInfo c
419 [c] -> classInfo c
420− _ -> iFail "Not a class"
420+ _ -> iPrintError "Not a class"
421−process fn (Search t) = iFail "Not implemented"
421+process fn (Search t) = iPrintError "Not implemented"
422process fn (Spec t) = do (tm, ty) <- elabVal toplevel False t
422process fn (Spec t) = do (tm, ty) <- elabVal toplevel False t
423 ctxt <- getContext
423 ctxt <- getContext
424 ist <- getIState
424 ist <- getIState
425 let tm' = simplify ctxt [] {- (idris_statics ist) -} tm
425 let tm' = simplify ctxt [] {- (idris_statics ist) -} tm
426− iResult (show (delab ist tm'))
426+ iPrintResult (show (delab ist tm'))
428process fn (RmProof n')
428process fn (RmProof n')
429 = do i <- getIState
429 = do i <- getIState
@@ -450,7 +450,7 @@ process fn' (AddProof prf)
450 then return fn'
450 then return fn'
451 else if exExt
451 else if exExt
452 then return fnExt
452 then return fnExt
453− else fail $ "Neither \""++fn'++"\" nor \""++fnExt++"\" exist"
453+ else ifail $ "Neither \""++fn'++"\" nor \""++fnExt++"\" exist"
454 let fb = fn ++ "~"
454 let fb = fn ++ "~"
455 liftIO $ copyFile fn fb -- make a backup in case something goes wrong!
455 liftIO $ copyFile fn fb -- make a backup in case something goes wrong!
456 prog <- liftIO $ readFile fb
456 prog <- liftIO $ readFile fb
@@ -458,7 +458,7 @@ process fn' (AddProof prf)
458 let proofs = proof_list i
458 let proofs = proof_list i
459 n' <- case prf of
459 n' <- case prf of
460 Nothing -> case proofs of
460 Nothing -> case proofs of
461− [] -> fail "No proof to add"
461+ [] -> ifail "No proof to add"
462 ((x, p) : _) -> return x
462 ((x, p) : _) -> return x
463 Just nm -> return nm
463 Just nm -> return nm
464 n <- resolveProof n'
464 n <- resolveProof n'
@@ -475,8 +475,8 @@ process fn (ShowProof n')
475 n <- resolveProof n'
475 n <- resolveProof n'
476 let proofs = proof_list i
476 let proofs = proof_list i
477 case lookup n proofs of
477 case lookup n proofs of
478− Nothing -> iFail "No proof to show"
478+ Nothing -> iPrintError "No proof to show"
479− Just p -> iResult $ showProof False n p
479+ Just p -> iPrintResult $ showProof False n p
481process fn (Prove n')
481process fn (Prove n')
482 = do ctxt <- getContext
482 = do ctxt <- getContext
@@ -484,7 +484,7 @@ process fn (Prove n')
484 n <- case lookupNames n' ctxt of
484 n <- case lookupNames n' ctxt of
485 [x] -> return x
485 [x] -> return x
486 [] -> return n'
486 [] -> return n'
487− ns -> fail $ pshow ist (CantResolveAlts (map show ns))
487+ ns -> ierror (CantResolveAlts (map show ns))
488 prover (lit fn) n
488 prover (lit fn) n
489 -- recheck totality
489 -- recheck totality
490 i <- getIState
490 i <- getIState
@@ -496,14 +496,14 @@ process fn (HNF t) = do (tm, ty) <- elabVal toplevel False t
496 ctxt <- getContext
496 ctxt <- getContext
497 ist <- getIState
497 ist <- getIState
498 let tm' = hnf ctxt [] tm
498 let tm' = hnf ctxt [] tm
499− iResult (show (delab ist tm'))
499+ iPrintResult (show (delab ist tm'))
500process fn (TestInline t) = do (tm, ty) <- elabVal toplevel False t
500process fn (TestInline t) = do (tm, ty) <- elabVal toplevel False t
501 ctxt <- getContext
501 ctxt <- getContext
502 ist <- getIState
502 ist <- getIState
503 let tm' = inlineTerm ist tm
503 let tm' = inlineTerm ist tm
504 imp <- impShow
504 imp <- impShow
505 c <- colourise
505 c <- colourise
506− iResult (showImp (Just ist) imp c (delab ist tm'))
506+ iPrintResult (showImp (Just ist) imp c (delab ist tm'))
507process fn TTShell = do ist <- getIState
507process fn TTShell = do ist <- getIState
508 let shst = initState (tt_ctxt ist)
508 let shst = initState (tt_ctxt ist)
509 runShell shst
509 runShell shst
@@ -530,7 +530,7 @@ process fn (LogLvl i) = setLogLevel i
530-- Elaborate as if LHS of a pattern (debug command)
530-- Elaborate as if LHS of a pattern (debug command)
531process fn (Pattelab t)
531process fn (Pattelab t)
532 = do (tm, ty) <- elabVal toplevel True t
532 = do (tm, ty) <- elabVal toplevel True t
533− iResult $ show tm ++ "\n\n : " ++ show ty
533+ iPrintResult $ show tm ++ "\n\n : " ++ show ty
535process fn (Missing n)
535process fn (Missing n)
536 = do i <- getIState
536 = do i <- getIState
@@ -538,13 +538,13 @@ process fn (Missing n)
538 case lookupCtxt n (idris_patdefs i) of
538 case lookupCtxt n (idris_patdefs i) of
539 [] -> return ()
539 [] -> return ()
540 [(_, tms)] ->
540 [(_, tms)] ->
541− iResult (showSep "\n" (map (showImp (Just i) True c) tms))
541+ iPrintResult (showSep "\n" (map (showImp (Just i) True c) tms))
542− _ -> iFail $ "Ambiguous name"
542+ _ -> iPrintError $ "Ambiguous name"
543process fn (DynamicLink l) = do i <- getIState
543process fn (DynamicLink l) = do i <- getIState
544 let lib = trim l
544 let lib = trim l
545 handle <- lift . lift $ tryLoadLib lib
545 handle <- lift . lift $ tryLoadLib lib
546 case handle of
546 case handle of
547− Nothing -> iFail $ "Could not load dynamic lib \"" ++ l ++ "\""
547+ Nothing -> iPrintError $ "Could not load dynamic lib \"" ++ l ++ "\""
548 Just x -> do let libs = idris_dynamic_libs i
548 Just x -> do let libs = idris_dynamic_libs i
549 if x `elem` libs
549 if x `elem` libs
550 then do iLOG ("Tried to load duplicate library " ++ lib_name x)
550 then do iLOG ("Tried to load duplicate library " ++ lib_name x)
@@ -560,8 +560,8 @@ process fn Metavars
560 = do ist <- getIState
560 = do ist <- getIState
561 let mvs = idris_metavars ist \\ primDefs
561 let mvs = idris_metavars ist \\ primDefs
562 case mvs of
562 case mvs of
563− [] -> iFail "No global metavariables to solve"
563+ [] -> iPrintError "No global metavariables to solve"
564− _ -> iResult $ "Global metavariables:\n\t" ++ show mvs
564+ _ -> iPrintResult $ "Global metavariables:\n\t" ++ show mvs
565process fn NOP = return ()
565process fn NOP = return ()
567process fn (SetOpt ErrContext) = setErrContext True
567process fn (SetOpt ErrContext) = setErrContext True
@@ -569,8 +569,8 @@ process fn (UnsetOpt ErrContext) = setErrContext False
569process fn (SetOpt ShowImpl) = setImpShow True
569process fn (SetOpt ShowImpl) = setImpShow True
570process fn (UnsetOpt ShowImpl) = setImpShow False
570process fn (UnsetOpt ShowImpl) = setImpShow False
572−process fn (SetOpt _) = iFail "Not a valid option"
572+process fn (SetOpt _) = iPrintError "Not a valid option"
573−process fn (UnsetOpt _) = iFail "Not a valid option"
573+process fn (UnsetOpt _) = iPrintError "Not a valid option"
574process fn (SetColour ty c) = setColour ty c
574process fn (SetColour ty c) = setColour ty c
575process fn ColourOn = do ist <- getIState
575process fn ColourOn = do ist <- getIState
576 putIState $ ist { idris_colourRepl = True }
576 putIState $ ist { idris_colourRepl = True }
@@ -584,7 +584,7 @@ classInfo ci = do iputStrLn "Methods:\n"
584 iputStrLn ""
584 iputStrLn ""
585 iputStrLn "Instances:\n"
585 iputStrLn "Instances:\n"
586 mapM_ dumpInstance (class_instances ci)
586 mapM_ dumpInstance (class_instances ci)
587− iResult ""
587+ iPrintResult ""
589dumpMethod :: (Name, (FnOpts, PTerm)) -> Idris ()
589dumpMethod :: (Name, (FnOpts, PTerm)) -> Idris ()
590dumpMethod (n, (_, t)) = iputStrLn $ show n ++ " : " ++ show t
590dumpMethod (n, (_, t)) = iputStrLn $ show n ++ " : " ++ show t
@@ -891,7 +891,7 @@ initScript = do script <- getInitScript
891 h <- liftIO $ openFile script ReadMode
891 h <- liftIO $ openFile script ReadMode
892 runInit h
892 runInit h
893 liftIO $ hClose h)
893 liftIO $ hClose h)
894− (\e -> iFail $ "Error reading init file: " ++ show e)
894+ (\e -> iPrintError $ "Error reading init file: " ++ show e)
895 where runInit :: Handle -> Idris ()
895 where runInit :: Handle -> Idris ()
896 runInit h = do eof <- lift . lift $ hIsEOF h
896 runInit h = do eof <- lift . lift $ hIsEOF h
897 ist <- getIState
897 ist <- getIState
@@ -904,12 +904,12 @@ initScript = do script <- getInitScript
904 processLine i cmd input clr =
904 processLine i cmd input clr =
905 case parseCmd i input cmd of
905 case parseCmd i input cmd of
906 Failure err -> liftIO $ print (fixColour clr err)
906 Failure err -> liftIO $ print (fixColour clr err)
907− Success Reload -> iFail "Init scripts cannot reload the file"
907+ Success Reload -> iPrintError "Init scripts cannot reload the file"
908− Success (Load f) -> iFail "Init scripts cannot load files"
908+ Success (Load f) -> iPrintError "Init scripts cannot load files"
909− Success (ModImport f) -> iFail "Init scripts cannot import modules"
909+ Success (ModImport f) -> iPrintError "Init scripts cannot import modules"
910− Success Edit -> iFail "Init scripts cannot invoke the editor"
910+ Success Edit -> iPrintError "Init scripts cannot invoke the editor"
911 Success Proofs -> proofs i
911 Success Proofs -> proofs i
912− Success Quit -> iFail "Init scripts cannot quit Idris"
912+ Success Quit -> iPrintError "Init scripts cannot quit Idris"
913 Success cmd -> process [] cmd
913 Success cmd -> process [] cmd
915getFile :: Opt -> Maybe String
915getFile :: Opt -> Maybe String