Add config option to log stderr
[lsp-test.git] / src / Language / Haskell / LSP / Test.hs
index eb09d826a82f05d5015dfabecd5c85ce4e35cb5c..1ce6871fb211f3a66e75f7ac95d65bbb979a4085 100644 (file)
@@ -121,7 +121,7 @@ runSessionWithConfig config serverExe rootDir session = do
                                           Nothing
                                           (capabilities config)
                                           (Just TraceOff)
-  withServer serverExe $ \serverIn serverOut _ ->
+  withServer serverExe (logStdErr config) $ \serverIn serverOut _ ->
     runSessionWithHandles serverIn serverOut listenServer config rootDir $ do
 
       -- Wrap the session around initialize and shutdown calls
@@ -159,14 +159,8 @@ listenServer serverOut = do
 -- | The current text contents of a document.
 documentContents :: TextDocumentIdentifier -> Session T.Text
 documentContents doc = do
-  vfs' <- vfs <$> get
-  let docUri = doc ^. uri
-  file <- case Map.lookup docUri vfs' of
-            Just file -> return file
-            Nothing -> do
-              openDoc (fromJust (uriToFilePath docUri)) ""
-              newVfs <- vfs <$> get
-              return $ newVfs Map.! docUri
+  vfs <- vfs <$> get
+  let file = vfs Map.! (doc ^. uri)
   return $ Rope.toText $ Language.Haskell.LSP.VFS._text file
 
 -- | Parses an ApplyEditRequest, checks that it is for the passed document