on master help sign in
Merge remote-tracking branch 'NobbZ/feature/package-list' into completion
commita1af8e98c854adc7bd7bcc07217ef5a677a920dd authorBen Sherman <sherman@metsci.com> dateFri 2 Jan 2015, 19:27 (12 years ago) parenteffc9543f81406
4 files changed+12
idris.cabal+1 main/Main.hs+9 src/Idris/AbsSyntaxTree.hs+1 src/Idris/CmdOptions.hs+1
idris.cabal+1
@@ -794,6 +794,7 @@ Executable idris
794794 Build-depends: idris
795795 , base
796796 , filepath
797+ , directory
797798 , haskeline >= 0.7
798799 , transformers
799800
main/Main.hs+9
@@ -5,6 +5,7 @@ import System.IO
55import System.Environment
66import System.Exit
77import System.FilePath ((</>), addTrailingPathSeparator)
8+import System.Directory
89
910import Data.Maybe
1011import Data.Version
@@ -45,6 +46,7 @@ runIdris opts = do
4546 when (ShowIncs `elem` opts) $ runIO showIncs
4647 when (ShowLibs `elem` opts) $ runIO showLibs
4748 when (ShowLibdir `elem` opts) $ runIO showLibdir
49+ when (ShowPkgs `elem` opts) $ runIO showPkgs
4850 case opt getClient opts of
4951 [] -> return ()
5052 (c:_) -> do setVerbose False
@@ -92,3 +94,10 @@ showIncs :: IO b
9294showIncs = do incFlags <- getIncFlags
9395 putStrLn $ unwords incFlags
9496 exitWith ExitSuccess
97+
98+-- | List idris packages installed
99+showPkgs :: IO b
100+showPkgs = do dir <- getIdrisLibDir
101+ pkgs <- getDirectoryContents dir
102+ mapM putStrLn (filter (/= ".") . filter (/= "..") $ pkgs)
103+ exitWith ExitSuccess
src/Idris/AbsSyntaxTree.hs+1
@@ -388,6 +388,7 @@ data Opt = Filename String
388388 | ShowLibs
389389 | ShowLibdir
390390 | ShowIncs
391+ | ShowPkgs
391392 | NoBasePkgs
392393 | NoPrelude
393394 | NoBuiltins -- only for the really primitive stuff!
src/Idris/CmdOptions.hs+1
@@ -89,6 +89,7 @@ parseFlags = many $
8989 <|> flag' NoCoverage (long "nocoverage")
9090 <|> flag' ErrContext (long "errorcontext")
9191 <|> flag' ShowLibs (long "link" <> help "Display link flags")
92+ <|> flag' ShowPkgs (long "listlibs" <> help "Display installed libraries")
9293 <|> flag' ShowLibdir (long "libdir" <> help "Display library directory")
9394 <|> flag' ShowIncs (long "include" <> help "Display the includes flags")
9495 <|> flag' Verbose (short 'V' <> long "verbose" <> help "Loud verbosity")