@@ -54,6 +54,7 @@ import qualified Language.PureScript as P
54import qualified Paths_purescript as Paths
54import qualified Paths_purescript as Paths
55import qualified System.IO.UTF8 as U
55import qualified System.IO.UTF8 as U
56 (writeFile, putStrLn, print, readFile)
56 (writeFile, putStrLn, print, readFile)
57+import qualified Language.PureScript.Names as N
59-- The PSCI state.
60-- The PSCI state.
@@ -316,8 +317,22 @@ handleImport moduleName = do
316 PSCI $ lift $ put s
317 PSCI $ lift $ put s
317 return ()
318 return ()
321+-- Compute the file `extern.purs` for the module moduleName.
323+externPursFile :: FilePath -> FilePath
324+externPursFile moduleName = modulesDir ++ pathSeparator : moduleName ++ pathSeparator : "externs.purs"
327+-- Browse and display the module's function signatures
328+-- readFile :: FilePath -> IO String
319handleBrowse :: P.ModuleName -> PSCI ()
330handleBrowse :: P.ModuleName -> PSCI ()
320−handleBrowse moduleName = undefined
331+handleBrowse moduleName = do
332+ st <- PSCI $ lift get
333+ psciIO $ (readFile . externPursFile . N.runModuleName) moduleName >>= putStrLn
334+ PSCI $ lift $ put st
323-- Takes a value and prints its type
338-- Takes a value and prints its type