@@ -26,7 +26,7 @@ import Data.Maybe (mapMaybe)
26import Data.Traversable (traverse)
26import Data.Traversable (traverse)
28import System.Console.Haskeline
28import System.Console.Haskeline
29−import System.Directory (createDirectoryIfMissing, findExecutable)
29+import System.Directory (findExecutable)
30import System.Exit
30import System.Exit
31import System.Environment.XDG.BaseDir
31import System.Environment.XDG.BaseDir
32import System.Process
32import System.Process
@@ -36,9 +36,16 @@ import qualified Paths_purescript as Paths
36import qualified System.IO.UTF8 as U (readFile)
36import qualified System.IO.UTF8 as U (readFile)
37import qualified Text.Parsec as Parsec (eof)
37import qualified Text.Parsec as Parsec (eof)
39+getHistoryFilename :: IO FilePath
40+getHistoryFilename = getUserConfigFile "purescript" "psci_history"
39getPreludeFilename :: IO FilePath
42getPreludeFilename :: IO FilePath
40getPreludeFilename = Paths.getDataFileName "prelude/prelude.purs"
43getPreludeFilename = Paths.getDataFileName "prelude/prelude.purs"
45+findNodeProcess :: IO (Maybe String)
46+findNodeProcess = runMaybeT . msum $ map (MaybeT . findExecutable) names
47+ where names = ["nodejs", "node"]
42options :: P.Options
49options :: P.Options
43options = P.Options True False True (Just "Main") True "PS" []
50options = P.Options True False True (Just "Main") True "PS" []
@@ -117,16 +124,6 @@ loadModule moduleFile = do
117 moduleText <- U.readFile moduleFile
124 moduleText <- U.readFile moduleFile
118 return . either (Left . show) Right $ P.runIndentParser "" P.parseModules moduleText
125 return . either (Left . show) Right $ P.runIndentParser "" P.parseModules moduleText
120−findNodeProcess :: IO (Maybe String)
121−findNodeProcess = runMaybeT . msum $ map (MaybeT . findExecutable) names
122− where names = ["nodejs", "node"]
124−getHistoryFilename :: IO FilePath
125−getHistoryFilename = do
126− purescriptConfig <- getUserConfigDir "purescript"
127− createDirectoryIfMissing True purescriptConfig
128− getUserConfigFile "purescript" "psci_history"
130main :: IO ()
127main :: IO ()
132 preludeFilename <- getPreludeFilename
129 preludeFilename <- getPreludeFilename