Copyright | (c) Julian Ospald 2020 |
---|---|
License | LGPL-3.0 |
Maintainer | hasufell@hasufell.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- getAllDirs :: IO Dirs
- ghcupBaseDir :: IO FilePath
- ghcupConfigFile :: MonadIO m => Excepts '[JSONError] m UserSettings
- ghcupCacheDir :: IO FilePath
- ghcupGHCBaseDir :: (MonadReader env m, HasDirs env) => m FilePath
- ghcupGHCDir :: (MonadReader env m, HasDirs env, MonadThrow m) => GHCTargetVersion -> m FilePath
- ghcupHLSBaseDir :: (MonadReader env m, HasDirs env) => m FilePath
- ghcupHLSDir :: (MonadReader env m, HasDirs env, MonadThrow m) => Version -> m FilePath
- mkGhcupTmpDir :: (MonadReader env m, HasDirs env, MonadUnliftIO m, HasLog env, MonadCatch m, MonadThrow m, MonadMask m, MonadIO m) => m FilePath
- parseGHCupGHCDir :: MonadThrow m => FilePath -> m GHCTargetVersion
- parseGHCupHLSDir :: MonadThrow m => FilePath -> m Version
- relativeSymlink :: FilePath -> FilePath -> FilePath
- withGHCupTmpDir :: (MonadReader env m, HasDirs env, HasLog env, HasSettings env, MonadUnliftIO m, MonadCatch m, MonadResource m, MonadThrow m, MonadMask m, MonadIO m) => m FilePath
- getConfigFilePath :: MonadIO m => m FilePath
- useXDG :: IO Bool
- cleanupTrash :: (MonadIO m, MonadMask m, MonadReader env m, HasLog env, HasDirs env, HasSettings env) => m ()
Documentation
getAllDirs :: IO Dirs Source #
ghcupBaseDir :: IO FilePath Source #
~/.ghcup by default
If GHCUP_USE_XDG_DIRS
is set (to anything),
then uses 'XDG_DATA_HOME/ghcup' as per xdg spec.
ghcupConfigFile :: MonadIO m => Excepts '[JSONError] m UserSettings Source #
ghcupCacheDir :: IO FilePath Source #
Defaults to '~.ghcupcache'.
If GHCUP_USE_XDG_DIRS
is set (to anything),
then uses 'XDG_CACHE_HOME/ghcup' as per xdg spec.
ghcupGHCBaseDir :: (MonadReader env m, HasDirs env) => m FilePath Source #
~.ghcupghc by default.
ghcupGHCDir :: (MonadReader env m, HasDirs env, MonadThrow m) => GHCTargetVersion -> m FilePath Source #
Gets '~.ghcupghc/ghcupGHCDir'. The dir may be of the form * armv7-unknown-linux-gnueabihf-8.8.3 * 8.8.4
ghcupHLSBaseDir :: (MonadReader env m, HasDirs env) => m FilePath Source #
~.ghcuphls by default, for new-style installs.
ghcupHLSDir :: (MonadReader env m, HasDirs env, MonadThrow m) => Version -> m FilePath Source #
Gets '~.ghcuphls/hls-ver' for new-style installs.
mkGhcupTmpDir :: (MonadReader env m, HasDirs env, MonadUnliftIO m, HasLog env, MonadCatch m, MonadThrow m, MonadMask m, MonadIO m) => m FilePath Source #
parseGHCupGHCDir :: MonadThrow m => FilePath -> m GHCTargetVersion Source #
See ghcupToolParser
.
parseGHCupHLSDir :: MonadThrow m => FilePath -> m Version Source #
Like relpath
. Assumes the inputs are resolved in case of symlinks.
withGHCupTmpDir :: (MonadReader env m, HasDirs env, HasLog env, HasSettings env, MonadUnliftIO m, MonadCatch m, MonadResource m, MonadThrow m, MonadMask m, MonadIO m) => m FilePath Source #
getConfigFilePath :: MonadIO m => m FilePath Source #
cleanupTrash :: (MonadIO m, MonadMask m, MonadReader env m, HasLog env, HasDirs env, HasSettings env) => m () Source #