git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Add 'available' command to psc-package (#2430)
commita22bde51eec1bd2ce022cd70b05210e41e58b247 authorAndy Arvanitis <andyarvanitis@gmail.com> dateTue 15 Nov 2016, 19:19 (10 years ago) parent6561a9f
1 file changed+12
psc-package/Main.hs+12
psc-package/Main.hs+12
@@ -188,6 +188,15 @@ listDependencies = do
188188 trans <- getTransitiveDeps db depends
189189 traverse_ (echo . fst) trans
190190
191+listPackages :: IO ()
192+listPackages = do
193+ pkg <- readPackageFile
194+ db <- readPackageSet pkg
195+ traverse_ echo (fmt <$> Map.assocs db)
196+ where
197+ fmt :: (Text, PackageInfo) -> Text
198+ fmt (name, PackageInfo{ version }) = name <> " (" <> version <> ")"
199+
191200getSourcePaths :: PackageConfig -> PackageSet -> [Text] -> IO [Turtle.FilePath]
192201getSourcePaths PackageConfig{..} db pkgNames = do
193202 trans <- getTransitiveDeps db pkgNames
@@ -252,6 +261,9 @@ main = do
252261 , Opts.command "sources"
253262 (Opts.info (pure listSourcePaths)
254263 (Opts.progDesc "List all (active) source paths for dependencies"))
264+ , Opts.command "available"
265+ (Opts.info (pure listPackages)
266+ (Opts.progDesc "List all packages available in the package set"))
255267 ]
256268 where
257269 pkg = Opts.strArgument $