on master help sign in
Export default imports from Elm.Compiler.Module
e7b401aEvan Czaplicki
src/Elm/Compiler/Module.hs+9
@@ -3,6 +3,7 @@ module Elm.Compiler.Module
3 , nameToPath
3 , nameToPath
4 , nameToString, nameFromString
4 , nameToString, nameFromString
5 , hyphenate, dehyphenate
5 , hyphenate, dehyphenate
6+ , defaultImports
6 )
7 )
7 where
8 where
8
9
@@ -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 ((</>))
17+
15import qualified AST.Module as Module
18import qualified AST.Module as Module
19+import qualified Transform.AddDefaultImports as Defaults
16
20
17
21
18type Interface = Module.Interface
22type Interface = Module.Interface
@@ -21,6 +25,11 @@ newtype Name = Name [String]
21 deriving (Eq, Ord)
25 deriving (Eq, Ord)
22
26
23
27
28+defaultImports :: [Name]
29+defaultImports =
30+ map Name (Map.keys Defaults.defaultImports)
31+
32+
24nameToPath :: Name -> FilePath
33nameToPath :: Name -> FilePath
25nameToPath (Name names) =
34nameToPath (Name names) =
26 List.foldl1 (</>) names
35 List.foldl1 (</>) names
src/Transform/AddDefaultImports.hs+1−2
@@ -1,9 +1,8 @@
1{-# LANGUAGE FlexibleContexts #-}
1{-# LANGUAGE FlexibleContexts #-}
2−module Transform.AddDefaultImports (add) where
2+module Transform.AddDefaultImports (add, defaultImports) where
3
3
4import Prelude hiding (maybe)
4import Prelude hiding (maybe)
5import qualified Data.Map as Map
5import qualified Data.Map as Map
6−import qualified Data.Set as Set
7
6
8import qualified AST.Module as Module
7import qualified AST.Module as Module
9import qualified AST.Variable as Var
8import qualified AST.Variable as Var