From 7b99b44066a1fce5a5956452a1d658045631c8f9 Mon Sep 17 00:00:00 2001 From: Luke Lau Date: Fri, 8 Jun 2018 19:46:25 -0400 Subject: [PATCH] Add publishDiagnosticsNotification --- src/Language/Haskell/LSP/Test.hs | 1 + src/Language/Haskell/LSP/Test/Parsing.hs | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Language/Haskell/LSP/Test.hs b/src/Language/Haskell/LSP/Test.hs index 068fc2d..c16ae84 100644 --- a/src/Language/Haskell/LSP/Test.hs +++ b/src/Language/Haskell/LSP/Test.hs @@ -28,6 +28,7 @@ module Language.Haskell.LSP.Test , response , notification , loggingNotification + , publishDiagnosticsNotification -- * Combinators , choice , option diff --git a/src/Language/Haskell/LSP/Test/Parsing.hs b/src/Language/Haskell/LSP/Test/Parsing.hs index 53485f1..81e5cbe 100644 --- a/src/Language/Haskell/LSP/Test/Parsing.hs +++ b/src/Language/Haskell/LSP/Test/Parsing.hs @@ -1,4 +1,3 @@ -{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-} module Language.Haskell.LSP.Test.Parsing where @@ -9,7 +8,7 @@ import Control.Monad.IO.Class import Control.Monad.Trans.Reader import Control.Monad.Trans.State import Language.Haskell.LSP.Messages -import Language.Haskell.LSP.Types +import Language.Haskell.LSP.Types hiding (error) import Language.Haskell.LSP.Test.Messages import Language.Haskell.LSP.Test.Decoding import System.IO @@ -18,8 +17,6 @@ import Control.Concurrent.MVar import Data.Conduit hiding (await) import Data.Conduit.Parser -data MessageParserState = MessageParserState - data SessionContext = SessionContext { serverIn :: Handle, @@ -68,6 +65,13 @@ loggingNotification = satisfy shouldSkip shouldSkip (ReqShowMessage _) = True shouldSkip _ = False +publishDiagnosticsNotification :: Session PublishDiagnosticsNotification +publishDiagnosticsNotification = do + (NotPublishDiagnostics diags) <- satisfy test + return diags + where test (NotPublishDiagnostics _) = False + test _ = False + satisfy :: Monad m => (a -> Bool) -> ConduitParser a m a satisfy pred = do x <- await -- 2.30.2