@@ -110,7 +110,7 @@ repl orig mods
110 return ()
110 return ()
111 Just input -> -- H.catch
111 Just input -> -- H.catch
112 do ms <- H.catch (lift $ processInput input orig mods)
112 do ms <- H.catch (lift $ processInput input orig mods)
113− (ctrlC (return (Just mods)))
113+ (ctrlC (return (Just mods)))
114 case ms of
114 case ms of
115 Just mods -> repl orig mods
115 Just mods -> repl orig mods
116 Nothing -> return ()
116 Nothing -> return ()
@@ -121,7 +121,7 @@ repl orig mods
121 act -- repl orig mods
121 act -- repl orig mods
123 showMVs c thm [] = ""
123 showMVs c thm [] = ""
124− showMVs c thm ms = "Metavariables: " ++
124+ showMVs c thm ms = "Metavariables: " ++
125 show' 4 c thm (map fst ms) ++ "\n"
125 show' 4 c thm (map fst ms) ++ "\n"
127 show' 0 c thm ms = let l = length ms in
127 show' 0 c thm ms = let l = length ms in
@@ -129,7 +129,7 @@ repl orig mods
129 ++ " other"
129 ++ " other"
130 ++ if l == 1 then ")" else "s)"
130 ++ if l == 1 then ")" else "s)"
131 show' n c thm [m] = showM c thm m
131 show' n c thm [m] = showM c thm m
132− show' n c thm (m : ms) = showM c thm m ++ ", " ++
132+ show' n c thm (m : ms) = showM c thm m ++ ", " ++
133 show' (n - 1) c thm ms
133 show' (n - 1) c thm ms
135 showM c thm n = if c then colouriseFun thm (show n)
135 showM c thm n = if c then colouriseFun thm (show n)
@@ -388,6 +388,7 @@ splitName s = case reverse $ splitOn "." s of
388 (n:ns) -> Right $ sNS (sUN n) ns
388 (n:ns) -> Right $ sNS (sUN n) ns
390ideslaveProcess :: FilePath -> Command -> Idris ()
390ideslaveProcess :: FilePath -> Command -> Idris ()
391+ideslaveProcess fn Warranty = process stdout fn Warranty
391ideslaveProcess fn Help = process stdout fn Help
392ideslaveProcess fn Help = process stdout fn Help
392ideslaveProcess fn (ChangeDirectory f) = do process stdout fn (ChangeDirectory f)
393ideslaveProcess fn (ChangeDirectory f) = do process stdout fn (ChangeDirectory f)
393 iPrintResult "changed directory to"
394 iPrintResult "changed directory to"
@@ -564,6 +565,7 @@ insertScript prf (x : xs) = x : insertScript prf xs
565process :: Handle -> FilePath -> Command -> Idris ()
566process :: Handle -> FilePath -> Command -> Idris ()
566process h fn Help = iPrintResult displayHelp
567process h fn Help = iPrintResult displayHelp
568+process h fn Warranty = iPrintResult warranty
567process h fn (ChangeDirectory f)
569process h fn (ChangeDirectory f)
568 = do runIO $ setCurrentDirectory f
570 = do runIO $ setCurrentDirectory f
569 return ()
571 return ()
@@ -709,7 +711,7 @@ process h fn (DebugInfo n)
709 when (not (null cg')) $ do iputStrLn "Call graph:\n"
711 when (not (null cg')) $ do iputStrLn "Call graph:\n"
710 iputStrLn (show cg')
712 iputStrLn (show cg')
711process h fn (Search t) = searchByType h t
713process h fn (Search t) = searchByType h t
712−process h fn (CaseSplitAt updatefile l n)
714+process h fn (CaseSplitAt updatefile l n)
713 = caseSplitAt h fn updatefile l n
715 = caseSplitAt h fn updatefile l n
714process h fn (AddClauseFrom updatefile l n)
716process h fn (AddClauseFrom updatefile l n)
715 = addClauseFrom h fn updatefile l n
717 = addClauseFrom h fn updatefile l n
@@ -1022,10 +1024,10 @@ loadInputs h inputs toline -- furthest line to read in input source files
1022 let ifiles = getModuleFiles modTree
1024 let ifiles = getModuleFiles modTree
1023 iLOG ("MODULE TREE : " ++ show modTree)
1025 iLOG ("MODULE TREE : " ++ show modTree)
1024 iLOG ("RELOAD: " ++ show ifiles)
1026 iLOG ("RELOAD: " ++ show ifiles)
1025− when (not (all ibc ifiles) || loadCode) $
1027+ when (not (all ibc ifiles) || loadCode) $
1026 tryLoad False (filter (not . ibc) ifiles)
1028 tryLoad False (filter (not . ibc) ifiles)
1027 -- return the files that need rechecking
1029 -- return the files that need rechecking
1028− return ifiles)
1030+ return ifiles)
1030 inew <- getIState
1032 inew <- getIState
1031 let tidata = idris_tyinfodata inew
1033 let tidata = idris_tyinfodata inew
@@ -1395,6 +1397,20 @@ banner = " ____ __ _ \n" ++
1395 " / _/___/ /____(_)____ \n" ++
1397 " / _/___/ /____(_)____ \n" ++
1396 " / // __ / ___/ / ___/ Version " ++ ver ++ "\n" ++
1398 " / // __ / ___/ / ___/ Version " ++ ver ++ "\n" ++
1397 " _/ // /_/ / / / (__ ) http://www.idris-lang.org/ \n" ++
1399 " _/ // /_/ / / / (__ ) http://www.idris-lang.org/ \n" ++
1398− " /___/\\__,_/_/ /_/____/ Type :? for help \n"
1400+ " /___/\\__,_/_/ /_/____/ Type :? for help \n" ++
1400−
1402+ "Idris is a research tool distributed with ABSOLUTELY NO WARRANTY.\n" ++
1403+ "For details type :warranty."
1406+ "\t THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY \n" ++
1407+ "\t EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \n" ++
1408+ "\t IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR \n" ++
1409+ "\t PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE \n" ++
1410+ "\t LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR \n" ++
1411+ "\t CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF \n" ++
1412+ "\t SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR \n" ++
1413+ "\t BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \n" ++
1414+ "\t WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE \n" ++
1415+ "\t OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN\n" ++
1416+ "\t IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"