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 ()
							 | 
						||
| 
								 | 
							
								
							 |