X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;ds=inline;f=src%2FLanguage%2FHaskell%2FLSP%2FTest.hs;h=0e8f5bfcaa92259f253defa2d89bbb40610c1e66;hb=563d0885c5cf4456ea04c041771d68dca5c274d4;hp=1b8c2a8c20a297af751b96497fd200700fe1b22f;hpb=600388d3b0320b4f9374e8a781743877f4e263c7;p=opengl.git diff --git a/src/Language/Haskell/LSP/Test.hs b/src/Language/Haskell/LSP/Test.hs index 1b8c2a8..0e8f5bf 100644 --- a/src/Language/Haskell/LSP/Test.hs +++ b/src/Language/Haskell/LSP/Test.hs @@ -93,6 +93,7 @@ import Language.Haskell.LSP.Test.Exceptions import Language.Haskell.LSP.Test.Parsing import Language.Haskell.LSP.Test.Session import Language.Haskell.LSP.Test.Server +import System.Console.ANSI import System.IO import System.Directory import System.FilePath @@ -121,7 +122,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 @@ -273,7 +274,16 @@ sendResponse = sendMessage sendMessage :: ToJSON a => a -> Session () sendMessage msg = do h <- serverIn <$> ask - liftIO $ B.hPut h $ addHeader (encode msg) + let encoded = encode msg + liftIO $ do + + setSGR [SetColor Foreground Vivid Cyan] + putStrLn $ "--> " ++ B.unpack encoded + setSGR [Reset] + + B.hPut h (addHeader encoded) + + -- | Returns the initialize response that was received from the server. -- The initialize requests and responses are not included the session,