git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Ensure:
852794eAntoine R. Dumont
psci/Main.hs+13−2
@@ -323,14 +323,25 @@ handleImport moduleName = do
323externPursFile :: FilePath -> FilePath
323externPursFile :: FilePath -> FilePath
324externPursFile moduleName = modulesDir ++ pathSeparator : moduleName ++ pathSeparator : "externs.purs"
324externPursFile moduleName = modulesDir ++ pathSeparator : moduleName ++ pathSeparator : "externs.purs"
325
325
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+
326-- |
338-- |
327-- Browse and display the module's function signatures
339-- Browse and display the module's function signatures
328−-- readFile :: FilePath -> IO String
329--
340--
330handleBrowse :: P.ModuleName -> PSCI ()
341handleBrowse :: P.ModuleName -> PSCI ()
331handleBrowse moduleName = do
342handleBrowse moduleName = do
332 st <- PSCI $ lift get
343 st <- PSCI $ lift get
333− psciIO $ (readFile . externPursFile . N.runModuleName) moduleName >>= putStrLn
344+ psciIO $ (readModuleTypes . N.runModuleName) moduleName >>= putStrLn
334 PSCI $ lift $ put st
345 PSCI $ lift $ put st
335 return ()
346 return ()
336
347