@@ -43,6 +43,7 @@ import System.Console.Haskeline
4343import System.Directory (doesFileExist, findExecutable, getHomeDirectory, getCurrentDirectory)
4444import System.Exit
4545import System.FilePath (pathSeparator, (</>), isPathSeparator)
46+import System.FilePath.Glob (glob)
4647import System.Process (readProcessWithExitCode)
4748
4849import qualified Language.PureScript as P
@@ -490,19 +491,21 @@ consoleIsDefined = any ((== P.ModuleName (map P.ProperName [ "Control", "Monad",
490491loop :: PSCiOptions -> IO ()
491492loop PSCiOptions{..} = do
492493 config <- loadUserConfig
493− modulesOrFirstError <- loadAllModules psciInputFile
494+ inputFiles <- concat <$> mapM glob psciInputFile
495+ foreignFiles <- concat <$> mapM glob psciForeignInputFiles
496+ modulesOrFirstError <- loadAllModules inputFiles
494497 case modulesOrFirstError of
495498 Left errs -> putStrLn (P.prettyPrintMultipleErrors False errs) >> exitFailure
496499 Right modules -> do
497500 historyFilename <- getHistoryFilename
498501 let settings = defaultSettings { historyFile = Just historyFilename }
499502 foreignsOrError <- runMake $ do
500− foreignFiles <- forM psciForeignInputFiles (\inFile -> (inFile,) <$> makeIO (const (P.SimpleErrorWrapper $ P.CannotReadFile inFile)) (readFile inFile))
501− P.parseForeignModulesFromFiles foreignFiles
503+ foreignFilesContent <- forM foreignFiles (\inFile -> (inFile,) <$> makeIO (const (P.SimpleErrorWrapper $ P.CannotReadFile inFile)) (readFile inFile))
504+ P.parseForeignModulesFromFiles foreignFilesContent
502505 case foreignsOrError of
503506 Left errs -> putStrLn (P.prettyPrintMultipleErrors False errs) >> exitFailure
504507 Right foreigns ->
505− flip evalStateT (PSCiState psciInputFile [] modules foreigns [] psciInputNodeFlags) . runInputT (setComplete completion settings) $ do
508+ flip evalStateT (PSCiState inputFiles [] modules foreigns [] psciInputNodeFlags) . runInputT (setComplete completion settings) $ do
506509 outputStrLn prologueMessage
507510 traverse_ (mapM_ (runPSCI . handleCommand)) config
508511 modules' <- lift $ gets psciLoadedModules