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. |