Really fix newTempDir on Windows

This commit is contained in:
Daniel Gröber
2014-11-02 19:00:25 +01:00
parent 37af8e368d
commit 2af3383fad
2 changed files with 26 additions and 13 deletions

View File

@@ -8,12 +8,11 @@ module Language.Haskell.GhcMod.Cradle (
import Language.Haskell.GhcMod.GhcPkg
import Language.Haskell.GhcMod.PathsAndFiles
import Language.Haskell.GhcMod.Types
import Language.Haskell.GhcMod.Utils
import Control.Exception.IOChoice ((||>))
import System.Directory (getCurrentDirectory, removeDirectoryRecursive,
getTemporaryDirectory)
import System.FilePath (takeDirectory,pathSeparators,splitDrive)
import System.IO.Temp
import System.Directory (getCurrentDirectory, removeDirectoryRecursive)
import System.FilePath (takeDirectory)
----------------------------------------------------------------
@@ -28,15 +27,6 @@ findCradle = findCradle' =<< getCurrentDirectory
findCradle' :: FilePath -> IO Cradle
findCradle' dir = cabalCradle dir ||> sandboxCradle dir ||> plainCradle dir
newTempDir :: FilePath -> IO FilePath
newTempDir dir =
flip createTempDirectory uniqPathName =<< getTemporaryDirectory
where
uniqPathName = "ghc-mod" ++ map escapeSlash (snd $ splitDrive dir)
escapeSlash c | c `elem` pathSeparators = '-'
escapeSlash c = c
cleanupCradle :: Cradle -> IO ()
cleanupCradle crdl = removeDirectoryRecursive $ cradleTempDir crdl