Some utilities for deailing with files and directories for the Curry Package Manager.
joinSearchPath
:: [String] -> String Joins a list of directories into a search path. |
copyDirectory
:: String -> String -> IO () Recursively copies a directory structure. |
copyDirectoryFollowingSymlinks
:: String -> String -> IO () Recursively copies a directory structure following symlinks, i.e. |
createSymlink
:: String -> String -> IO Int Creates a new symlink. |
removeSymlink
:: String -> IO Int Deletes a symlink. |
isSymlink
:: String -> IO Bool Tests whether a file is a symlink. |
linkTarget
:: String -> IO String Gets the target of a symlink. |
getRealPath
:: String -> IO String Returns the absolute real path for a given file path by following all symlinks in all path components. |
quote
:: String -> String Puts a file argument into quotes to avoid problems with files containing blanks. |
tempDir
:: IO String Gets a temporary directory for some CPM command. |
cleanTempDir
:: IO () Removes the temporary directory for some CPM command. |
inTempDir
:: IO a -> IO a Executes an IO action with the current directory set to CPM's temporary directory. |
inDirectory
:: String -> IO a -> IO a Executes an IO action with the current directory set to a specific directory. |
recreateDirectory
:: String -> IO () Recreates a directory. |
removeDirectoryComplete
:: String -> IO () Deletes a directory and its contents, if it exists, otherwise nothing is done. |
safeReadFile
:: String -> IO (Either IOError String) Reads the complete contents of a file and catches any error (which is returned). |
checkAndGetVisibleDirectoryContents
:: String -> IO [String] Returns the list of all visible entries in a directory (i.e., not starting with .) and terminates with an error message if the directory does not exist. |
ifFileExists
:: String -> IO a -> IO a -> IO a Performs one of two actions depending on the existence of a file. |
whenFileExists
:: String -> IO () -> IO () Performs an action when a file exists. |
writeFileIfNotExists
:: String -> String -> IO () Writes a file with a given contents if it does not exist. |
Joins a list of directories into a search path. |
Recursively copies a directory structure. |
Recursively copies a directory structure following symlinks, i.e. links get replaced by copies in the destination. |
Creates a new symlink. |
Deletes a symlink. |
Tests whether a file is a symlink. |
Gets the target of a symlink. |
Returns the absolute real path for a given file path by following all symlinks in all path components. |
Puts a file argument into quotes to avoid problems with files containing blanks.
|
Gets a temporary directory for some CPM command. |
Removes the temporary directory for some CPM command. |
Executes an IO action with the current directory set to CPM's temporary directory. |
Executes an IO action with the current directory set to a specific directory. |
Recreates a directory. Deletes its contents if it already exists. |
Deletes a directory and its contents, if it exists, otherwise nothing is done. |
Reads the complete contents of a file and catches any error (which is returned). |
Returns the list of all visible entries in a directory (i.e., not starting with .) and terminates with an error message if the directory does not exist. |
Performs one of two actions depending on the existence of a file. |
Performs an action when a file exists. |
Writes a file with a given contents if it does not exist. |