git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Merge pull request #1423 from mjgpy3/1268_easier_include_ffi
539d7bcPhil Freeman
psc/Main.hs+5−3
@@ -24,6 +24,7 @@ import Control.Monad
24import Control.Monad.Error.Class (MonadError(..))
24import Control.Monad.Error.Class (MonadError(..))
25import Control.Monad.Writer.Strict
25import Control.Monad.Writer.Strict
26
26
27+import Data.List (isSuffixOf, partition)
27import Data.Version (showVersion)
28import Data.Version (showVersion)
28import qualified Data.Map as M
29import qualified Data.Map as M
29
30
@@ -56,9 +57,10 @@ compile (PSCMakeOptions inputGlob inputForeignGlob outputDir opts usePrefix) = d
56 when (null input) $ do
57 when (null input) $ do
57 hPutStrLn stderr "psc: No input files."
58 hPutStrLn stderr "psc: No input files."
58 exitFailure
59 exitFailure
60+ let (jsFiles, pursFiles) = partition (isSuffixOf ".js") input
59− moduleFiles <- readInput (InputOptions input)
61+ moduleFiles <- readInput (InputOptions pursFiles)
60 inputForeign <- globWarningOnMisses warnFileTypeNotFound inputForeignGlob
62 inputForeign <- globWarningOnMisses warnFileTypeNotFound inputForeignGlob
61− foreignFiles <- forM inputForeign (\inFile -> (inFile,) <$> readFile inFile)
63+ foreignFiles <- forM (inputForeign ++ jsFiles) (\inFile -> (inFile,) <$> readFile inFile)
62 case runWriterT (parseInputs moduleFiles foreignFiles) of
64 case runWriterT (parseInputs moduleFiles foreignFiles) of
63 Left errs -> do
65 Left errs -> do
64 hPutStrLn stderr (P.prettyPrintMultipleErrors (P.optionsVerboseErrors opts) errs)
66 hPutStrLn stderr (P.prettyPrintMultipleErrors (P.optionsVerboseErrors opts) errs)
@@ -79,7 +81,7 @@ compile (PSCMakeOptions inputGlob inputForeignGlob outputDir opts usePrefix) = d
79 exitSuccess
81 exitSuccess
80
82
81warnFileTypeNotFound :: String -> IO ()
83warnFileTypeNotFound :: String -> IO ()
82−warnFileTypeNotFound = hPutStrLn stderr . ((++) "psc: No files found using pattern: ")
84+warnFileTypeNotFound = hPutStrLn stderr . ("psc: No files found using pattern: " ++)
83
85
84globWarningOnMisses :: (String -> IO ()) -> [FilePath] -> IO [FilePath]
86globWarningOnMisses :: (String -> IO ()) -> [FilePath] -> IO [FilePath]
85globWarningOnMisses warn = concatMapM globWithWarning
87globWarningOnMisses warn = concatMapM globWithWarning