This commit is contained in:
Joey Hess 2012-03-11 18:12:36 -04:00
parent b325694645
commit 6fd0c0bfec
2 changed files with 11 additions and 9 deletions

View file

@ -13,11 +13,22 @@ import System.Directory
import Control.Exception (throw) import Control.Exception (throw)
import Control.Monad import Control.Monad
import Control.Monad.IfElse import Control.Monad.IfElse
import System.FilePath
import Control.Applicative
import Utility.SafeCommand import Utility.SafeCommand
import Utility.TempFile import Utility.TempFile
import Utility.Exception import Utility.Exception
{- Lists the contents of a directory.
- Unlike getDirectoryContents, paths are not relative to the directory. -}
dirContents :: FilePath -> IO [FilePath]
dirContents d = map (d </>) . filter notcruft <$> getDirectoryContents d
where
notcruft "." = False
notcruft ".." = False
notcruft _ = True
{- Moves one filename to another. {- Moves one filename to another.
- First tries a rename, but falls back to moving across devices if needed. -} - First tries a rename, but falls back to moving across devices if needed. -}
moveFile :: FilePath -> FilePath -> IO () moveFile :: FilePath -> FilePath -> IO ()

View file

@ -128,15 +128,6 @@ preserveOrder (l:ls) new = found ++ preserveOrder ls rest
runPreserveOrder :: ([FilePath] -> IO [FilePath]) -> [FilePath] -> IO [FilePath] runPreserveOrder :: ([FilePath] -> IO [FilePath]) -> [FilePath] -> IO [FilePath]
runPreserveOrder a files = preserveOrder files <$> a files runPreserveOrder a files = preserveOrder files <$> a files
{- Lists the contents of a directory.
- Unlike getDirectoryContents, paths are not relative to the directory. -}
dirContents :: FilePath -> IO [FilePath]
dirContents d = map (d </>) . filter notcruft <$> getDirectoryContents d
where
notcruft "." = False
notcruft ".." = False
notcruft _ = True
{- Current user's home directory. -} {- Current user's home directory. -}
myHomeDir :: IO FilePath myHomeDir :: IO FilePath
myHomeDir = homeDirectory <$> (getUserEntryForID =<< getEffectiveUserID) myHomeDir = homeDirectory <$> (getUserEntryForID =<< getEffectiveUserID)