From: Luke Lau Date: Fri, 8 Jun 2018 23:46:25 +0000 (-0400) Subject: Add publishDiagnosticsNotification X-Git-Tag: 0.1.0.0~79 X-Git-Url: http://git.lukelau.me/?p=lsp-test.git;a=commitdiff_plain;h=7b99b44066a1fce5a5956452a1d658045631c8f9 Add publishDiagnosticsNotification --- 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