on master help sign in
Merge pull request #283 from andy-morris/addproof
e7b435aEdwin Brady
src/Idris/REPL.hs+11−2
@@ -299,8 +299,17 @@ process fn (RmProof n')
299 let ms = idris_metavars i
299 let ms = idris_metavars i
300 putIState $ i { idris_metavars = n : ms }
300 putIState $ i { idris_metavars = n : ms }
301
301
302−process fn (AddProof prf)
302+process fn' (AddProof prf)
303+ = do fn <- do
304+ ex <- liftIO $ doesFileExist fn'
305+ let fnExt = fn' <.> "idr"
306+ exExt <- liftIO $ doesFileExist fnExt
307+ if ex
308+ then return fn'
309+ else if exExt
310+ then return fnExt
311+ else fail $ "Neither \""++fn'++"\" nor \""++fnExt++"\" exist"
303− = do let fb = fn ++ "~"
312+ let fb = fn ++ "~"
304 liftIO $ copyFile fn fb -- make a backup in case something goes wrong!
313 liftIO $ copyFile fn fb -- make a backup in case something goes wrong!
305 prog <- liftIO $ readFile fb
314 prog <- liftIO $ readFile fb
306 i <- getIState
315 i <- getIState