dib-0.5.0: src/Dib/Util.hs
-- Copyright (c) 2010-2016 Brett Lajzer
-- See LICENSE for license information.
-- | Module containing utility functions and common functionality.
module Dib.Util (
getSubDirectories
) where
import Control.Monad
import qualified System.Directory as D
-- | Given a directory, returns the list of subdirectories.
getSubDirectories :: FilePath -> IO [FilePath]
getSubDirectories root = do
contents <- D.getDirectoryContents root
let filteredDirs = filter (\x -> x /= "." && x /= "..") contents
dirs <- filterM (\(x, _) -> D.doesDirectoryExist x) $ zip (map (root ++) filteredDirs) filteredDirs
return $ map snd dirs