From a352cb707805eea5812ef8b23f6e9eb9c48216d1 Mon Sep 17 00:00:00 2001 From: Ollie Charles Date: Thu, 1 Oct 2020 13:57:13 +0100 Subject: [PATCH] wrapper: cd to --cwd earlier Currently, if `haskell-language-server-wrapper` is called with `--cwd`, a cradle will first be loaded and _then_ the change of working directory will happen. This commit reorders this such that if `--cwd` is supplied, the very first action is to change directory. This means a cradle will be found with `--cwd`, rather than the directory that `haskell-language-server-wrapper` was called in. --- exe/Wrapper.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exe/Wrapper.hs b/exe/Wrapper.hs index 4d262f4b44..61dc26cd99 100644 --- a/exe/Wrapper.hs +++ b/exe/Wrapper.hs @@ -47,6 +47,8 @@ main = do launchHaskellLanguageServer :: LspArguments -> IO () launchHaskellLanguageServer LspArguments{..} = do + whenJust argsCwd setCurrentDirectory + d <- getCurrentDirectory -- Get the cabal directory from the cradle @@ -55,8 +57,6 @@ launchHaskellLanguageServer LspArguments{..} = do when argsProjectGhcVersion $ getRuntimeGhcVersion' cradle >>= putStrLn >> exitSuccess - whenJust argsCwd setCurrentDirectory - progName <- getProgName hPutStrLn stderr $ "Run entered for haskell-language-server-wrapper(" ++ progName ++ ") " ++ hlsVersion