@@ -34,6 +34,7 @@ import Options.Applicative as Opts
34import System.Directory (createDirectoryIfMissing)
34import System.Directory (createDirectoryIfMissing)
35import System.Exit (exitSuccess, exitFailure)
35import System.Exit (exitSuccess, exitFailure)
36import System.FilePath (takeDirectory)
36import System.FilePath (takeDirectory)
37+import System.FilePath.Glob (glob)
37import System.IO (hPutStrLn, stderr)
38import System.IO (hPutStrLn, stderr)
39import qualified Data.Map as M
40import qualified Data.Map as M
@@ -66,9 +67,11 @@ runPSC :: P.Options P.Compile -> PSC a -> Either P.MultipleErrors (a, P.Multiple
66runPSC opts rwe = runWriterT (runReaderT rwe opts)
67runPSC opts rwe = runWriterT (runReaderT rwe opts)
68compile :: PSCOptions -> IO ()
69compile :: PSCOptions -> IO ()
69−compile (PSCOptions input inputForeign opts stdin output externs usePrefix) = do
70+compile (PSCOptions inputGlob inputForeignGlob opts stdin output externs usePrefix) = do
70 let prefix = ["Generated by psc version " ++ showVersion Paths.version | usePrefix]
71 let prefix = ["Generated by psc version " ++ showVersion Paths.version | usePrefix]
72+ input <- concat <$> mapM glob inputGlob
71 moduleFiles <- readInput (InputOptions stdin input)
73 moduleFiles <- readInput (InputOptions stdin input)
74+ inputForeign <- concat <$> mapM glob inputForeignGlob
72 foreignFiles <- forM inputForeign (\inFile -> (inFile,) <$> readFile inFile)
75 foreignFiles <- forM inputForeign (\inFile -> (inFile,) <$> readFile inFile)
73 case runWriterT (parseInputs moduleFiles foreignFiles) of
76 case runWriterT (parseInputs moduleFiles foreignFiles) of
74 Left errs -> do
77 Left errs -> do