on master help sign in
implement suggestPackages and fix examplePackages in terminal
commite500d53948fae29a73a8470049c2ed3842a3cccc authorEvan Czaplicki <evancz@users.noreply.github.com> dateWed 3 Jul 2019, 11:33 (7 years ago) parent054fa04
1 file changed+18−5
terminal/src/Terminal/Args/Helpers.hs+18−5
terminal/src/Terminal/Args/Helpers.hs+18−5
@@ -20,6 +20,7 @@ import qualified Elm.Package as Pkg
2020import qualified Elm.Version as V
2121import qualified Parse.Primitives as P
2222import qualified Stuff
23+import qualified Reporting.Suggest as Suggest
2324
2425
2526
@@ -117,8 +118,17 @@ parsePackage chars =
117118
118119
119120suggestPackages :: String -> IO [String]
120−suggestPackages _ =
121− return []
121+suggestPackages given =
122+ do cache <- Stuff.getPackageCache
123+ maybeRegistry <- Registry.read cache
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)
122132
123133
124134examplePackages :: String -> IO [String]
@@ -128,8 +138,11 @@ examplePackages given =
128138 return $
129139 case maybeRegistry of
130140 Nothing ->
131− []
141+ [ "elm/json"
142+ , "elm/http"
143+ , "elm/random"
144+ ]
132145
133146 Just (Registry.Registry _ versions) ->
134− filter (List.isPrefixOf given) $
135− map Pkg.toChars (Map.keys versions)
147+ map Pkg.toChars $ take 4 $
148+ Suggest.sort given Pkg.toChars (Map.keys versions)