FileMapping library docs
This commit is contained in:
parent
2306fbf9e5
commit
63f05508b8
@ -20,10 +20,30 @@ import Control.Monad.Trans.Maybe
|
|||||||
import GHC
|
import GHC
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
|
|
||||||
loadMappedFile :: IOish m => FilePath -> FilePath -> GhcModT m ()
|
{- | maps 'FilePath', given as first argument to take source from
|
||||||
|
'FilePath' given as second argument. Works exactly the same as
|
||||||
|
first form of `--map-file` CLI option.
|
||||||
|
|
||||||
|
\'from\' can be either full path, or path relative to project root.
|
||||||
|
\'to\' has to be either relative to project root, or full path (preferred)
|
||||||
|
-}
|
||||||
|
loadMappedFile :: IOish m
|
||||||
|
=> FilePath -- ^ \'from\', file that will be mapped
|
||||||
|
-> FilePath -- ^ \'to\', file to take source from
|
||||||
|
-> GhcModT m ()
|
||||||
loadMappedFile from to = loadMappedFile' from to False
|
loadMappedFile from to = loadMappedFile' from to False
|
||||||
|
|
||||||
loadMappedFileSource :: IOish m => FilePath -> String -> GhcModT m ()
|
{- |
|
||||||
|
maps 'FilePath', given as first argument to have source as given
|
||||||
|
by second argument.
|
||||||
|
|
||||||
|
\'from\' may or may not exist, and should be either full path,
|
||||||
|
or relative to project root.
|
||||||
|
-}
|
||||||
|
loadMappedFileSource :: IOish m
|
||||||
|
=> FilePath -- ^ \'from\', file that will be mapped
|
||||||
|
-> String -- ^ \'src\', source
|
||||||
|
-> GhcModT m ()
|
||||||
loadMappedFileSource from src = do
|
loadMappedFileSource from src = do
|
||||||
tmpdir <- cradleTempDir `fmap` cradle
|
tmpdir <- cradleTempDir `fmap` cradle
|
||||||
to <- liftIO $ do
|
to <- liftIO $ do
|
||||||
@ -59,7 +79,16 @@ mkMappedTarget _ _ taoc (Just to) =
|
|||||||
return $ mkTarget (TargetFile (fmPath to) Nothing) taoc Nothing
|
return $ mkTarget (TargetFile (fmPath to) Nothing) taoc Nothing
|
||||||
mkMappedTarget _ tid taoc _ = return $ mkTarget tid taoc Nothing
|
mkMappedTarget _ tid taoc _ = return $ mkTarget tid taoc Nothing
|
||||||
|
|
||||||
unloadMappedFile :: IOish m => FilePath -> GhcModT m ()
|
{-|
|
||||||
|
unloads previously mapped file \'file\', so that it's no longer mapped,
|
||||||
|
and removes any temporary files created when file was
|
||||||
|
mapped.
|
||||||
|
|
||||||
|
\'file\' should be either full path, or relative to project root.
|
||||||
|
-}
|
||||||
|
unloadMappedFile :: IOish m
|
||||||
|
=> FilePath -- ^ \'file\', file to unmap
|
||||||
|
-> GhcModT m ()
|
||||||
unloadMappedFile = getCanonicalFileNameSafe >=> unloadMappedFile'
|
unloadMappedFile = getCanonicalFileNameSafe >=> unloadMappedFile'
|
||||||
|
|
||||||
unloadMappedFile' :: IOish m => FilePath -> GhcModT m ()
|
unloadMappedFile' :: IOish m => FilePath -> GhcModT m ()
|
||||||
|
Loading…
Reference in New Issue
Block a user