38 lines
		
	
	
		
			740 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			740 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | module GHCup.Utils.Dirs | ||
|  |  ( GHCupPath | ||
|  |  , appendGHCupPath | ||
|  |  , fromGHCupPath | ||
|  |  , createTempGHCupDirectory | ||
|  |  , removeDirectory | ||
|  |  , removeDirectoryRecursive | ||
|  |  , removePathForcibly | ||
|  |  ) | ||
|  |  where | ||
|  | 
 | ||
|  | import Control.DeepSeq (NFData) | ||
|  | 
 | ||
|  | 
 | ||
|  | -- | A 'GHCupPath' is a safe sub-path that can be recursively deleted. | ||
|  | newtype GHCupPath = GHCupPath FilePath | ||
|  | 
 | ||
|  | instance Show GHCupPath where | ||
|  | 
 | ||
|  | instance Eq GHCupPath where | ||
|  | 
 | ||
|  | instance Ord GHCupPath where | ||
|  | 
 | ||
|  | instance NFData GHCupPath where | ||
|  | 
 | ||
|  | appendGHCupPath :: GHCupPath -> FilePath -> GHCupPath | ||
|  | 
 | ||
|  | fromGHCupPath :: GHCupPath -> FilePath | ||
|  | 
 | ||
|  | createTempGHCupDirectory :: GHCupPath -> FilePath -> IO GHCupPath | ||
|  | 
 | ||
|  | removeDirectory :: GHCupPath -> IO () | ||
|  | 
 | ||
|  | removeDirectoryRecursive :: GHCupPath -> IO () | ||
|  | 
 | ||
|  | removePathForcibly :: GHCupPath -> IO () | ||
|  | 
 |