@@ -3,6 +3,7 @@ module Elm.Compiler.Module
3 , nameToPath
3 , nameToPath
4 , nameToString, nameFromString
4 , nameToString, nameFromString
5 , hyphenate, dehyphenate
5 , hyphenate, dehyphenate
@@ -10,9 +11,12 @@ import Control.Monad (mzero)
10import qualified Data.Aeson as Json
11import qualified Data.Aeson as Json
11import qualified Data.Char as Char
12import qualified Data.Char as Char
12import qualified Data.List as List
13import qualified Data.List as List
14+import qualified Data.Map as Map
13import qualified Data.Text as Text
15import qualified Data.Text as Text
14import System.FilePath ((</>))
16import System.FilePath ((</>))
15import qualified AST.Module as Module
18import qualified AST.Module as Module
19+import qualified Transform.AddDefaultImports as Defaults
18type Interface = Module.Interface
22type Interface = Module.Interface
@@ -21,6 +25,11 @@ newtype Name = Name [String]
21 deriving (Eq, Ord)
25 deriving (Eq, Ord)
28+defaultImports :: [Name]
30+ map Name (Map.keys Defaults.defaultImports)
24nameToPath :: Name -> FilePath
33nameToPath :: Name -> FilePath
25nameToPath (Name names) =
34nameToPath (Name names) =
26 List.foldl1 (</>) names
35 List.foldl1 (</>) names