on master help sign in
Add a function to read imports
commit3abe48beea5573871cda6b8d93a0958a5599d813 authorEvan Czaplicki <info@elm-lang.org> dateTue 13 May 2014, 21:14 (12 years ago) parent0cd3ea1
1 file changed+10−3
compiler/Elm/Internal/Utils.hs+10−3
compiler/Elm/Internal/Utils.hs+10−3
@@ -1,11 +1,12 @@
11{- | This module exports functions for compiling Elm to JS.
22-}
3−module Elm.Internal.Utils (compile, moduleName) where
3+module Elm.Internal.Utils (compile, moduleName, nameAndImports) where
44
55import qualified Data.List as List
66import qualified Generate.JavaScript as JS
77import qualified Build.Source as Source
8−import qualified Parse.Module as Parser
8+import Parse.Module (getModuleName)
9+import Parse.Parse (dependencies)
910import qualified SourceSyntax.Module as M
1011import qualified Text.PrettyPrint as P
1112import qualified Metadata.Prelude as Prelude
@@ -25,4 +26,10 @@ interfaces = unsafePerformIO $ Prelude.interfaces False
2526
2627-- |This function extracts the module name of a given source program.
2728moduleName :: String -> Maybe String
28−moduleName = Parser.getModuleName
29+moduleName = getModuleName
30+
31+-- |This function extracts the module name and imported modules from a given
32+-- source program.
33+nameAndImports :: String -> Maybe (String, [String])
34+nameAndImports src =
35+ either (const Nothing) Just (dependencies src)