git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Ensure:

- the module is specified - the file exists before trying to read it

commit852794e8cb883e03f119a2c99d3ebc032144ef17 authorAntoine R. Dumont <antoine.romain.dumont@gmail.com> dateFri 31 Oct 2014, 00:34 (12 years ago) parent098cee6
1 file changed+13−2
psci/Main.hs+13−2
psci/Main.hs+13−2
@@ -323,14 +323,25 @@ handleImport moduleName = do
323323externPursFile :: FilePath -> FilePath
324324externPursFile moduleName = modulesDir ++ pathSeparator : moduleName ++ pathSeparator : "externs.purs"
325325
326+-- |
327+-- Read the module's type definition.
328+--
329+readModuleTypes :: String -> IO String
330+readModuleTypes [] = return "Module must be specified."
331+readModuleTypes moduleName = let moduleFile = externPursFile moduleName in
332+ do
333+ exists <- doesFileExist moduleFile
334+ if exists
335+ then readFile moduleFile
336+ else return $ "Module '" ++ moduleName ++ "' not found!"
337+
326338-- |
327339-- Browse and display the module's function signatures
328−-- readFile :: FilePath -> IO String
329340--
330341handleBrowse :: P.ModuleName -> PSCI ()
331342handleBrowse moduleName = do
332343 st <- PSCI $ lift get
333− psciIO $ (readFile . externPursFile . N.runModuleName) moduleName >>= putStrLn
344+ psciIO $ (readModuleTypes . N.runModuleName) moduleName >>= putStrLn
334345 PSCI $ lift $ put st
335346 return ()
336347