on master help sign in
implement suggestPackages and fix examplePackages in terminal
e500d53Evan Czaplicki
terminal/src/Terminal/Args/Helpers.hs+18−5
@@ -20,6 +20,7 @@ import qualified Elm.Package as Pkg
20import qualified Elm.Version as V
20import qualified Elm.Version as V
21import qualified Parse.Primitives as P
21import qualified Parse.Primitives as P
22import qualified Stuff
22import qualified Stuff
23+import qualified Reporting.Suggest as Suggest
23
24
24
25
25
26
@@ -117,8 +118,17 @@ parsePackage chars =
117
118
118
119
119suggestPackages :: String -> IO [String]
120suggestPackages :: String -> IO [String]
120−suggestPackages _ =
121+suggestPackages given =
122+ do cache <- Stuff.getPackageCache
123+ maybeRegistry <- Registry.read cache
121− return []
124+ return $
125+ case maybeRegistry of
126+ Nothing ->
127+ []
128+
129+ Just (Registry.Registry _ versions) ->
130+ filter (List.isPrefixOf given) $
131+ map Pkg.toChars (Map.keys versions)
122
132
123
133
124examplePackages :: String -> IO [String]
134examplePackages :: String -> IO [String]
@@ -128,8 +138,11 @@ examplePackages given =
128 return $
138 return $
129 case maybeRegistry of
139 case maybeRegistry of
130 Nothing ->
140 Nothing ->
141+ [ "elm/json"
142+ , "elm/http"
143+ , "elm/random"
131− []
144+ ]
132
145
133 Just (Registry.Registry _ versions) ->
146 Just (Registry.Registry _ versions) ->
134− filter (List.isPrefixOf given) $
147+ map Pkg.toChars $ take 4 $
135− map Pkg.toChars (Map.keys versions)
148+ Suggest.sort given Pkg.toChars (Map.keys versions)