Skip to content

Commit a3aada4

Browse files
committed
remove fromJust
1 parent 2314ccd commit a3aada4

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

ghcide/exe/Main.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ import Development.IDE.Plugin.HLS.GhcIde as GhcIde
5858
import Ide.Plugin.Config
5959
import Ide.PluginUtils (allLspCmdIds', getProcessID, pluginDescToIdePlugins)
6060

61-
import HieDb.Types (LibDir(..))
6261
import HieDb.Run (Options(..), runCommand)
6362

6463
ghcideVersion :: IO String
@@ -99,7 +98,7 @@ main = do
9998
, quiet = False
10099
, virtualFile = False
101100
}
102-
runCommand (LibDir $ fromJust libdir) opts cmd
101+
runCommand libdir opts cmd
103102
Typecheck (Just -> argFilesOrCmd) | not argLSP -> runWithDb dbLoc $ runIde Arguments{..}
104103
_ -> let argFilesOrCmd = Nothing in runWithDb dbLoc $ runIde Arguments{..}
105104

ghcide/session-loader/Development/IDE/Session.hs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import qualified System.Directory.Extra as IO
6666
import System.FilePath
6767
import System.Info
6868
import System.IO
69+
import System.Exit
6970

7071
import GHCi
7172
import HscTypes (ic_dflags, hsc_IC, hsc_dflags, hsc_NC)
@@ -106,20 +107,22 @@ defaultLoadingOptions = SessionLoadingOptions
106107
}
107108

108109
-- | Sets `unsafeGlobalDynFlags` on using the hie-bios cradle and returns the GHC libdir
109-
setInitialDynFlags :: IO (Maybe FilePath)
110+
setInitialDynFlags :: IO LibDir
110111
setInitialDynFlags = do
111112
dir <- IO.getCurrentDirectory
112113
hieYaml <- runMaybeT $ yamlConfig dir
113114
cradle <- maybe (HieBios.loadImplicitCradle $ addTrailingPathSeparator dir) HieBios.loadCradle hieYaml
114115
libDirRes <- getRuntimeGhcLibDir cradle
115116
libdir <- case libDirRes of
116-
CradleSuccess libdir -> pure $ Just libdir
117+
CradleSuccess libdir -> pure $ LibDir libdir
117118
CradleFail err -> do
118119
hPutStrLn stderr $ "Couldn't load cradle for libdir: " ++ show err
119-
return Nothing
120-
CradleNone -> return Nothing
121-
dynFlags <- mapM (dynFlagsForPrinting . LibDir) libdir
122-
mapM_ setUnsafeGlobalDynFlags dynFlags
120+
exitWith $ ExitFailure 1
121+
CradleNone -> do
122+
hPutStrLn stderr $ "Couldn't load cradle (CradleNone)"
123+
exitWith $ ExitFailure 1
124+
dynFlags <- dynFlagsForPrinting libdir
125+
setUnsafeGlobalDynFlags dynFlags
123126
pure libdir
124127

125128
-- | Wraps `withHieDb` to provide a database connection for reading, and a `HieWriterChan` for

0 commit comments

Comments
 (0)