X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=src%2FLanguage%2FHaskell%2FLSP%2FTest%2FParsing.hs;h=81e5cbed3d64b5ece0f330ea686c7f2b92cce110;hb=7b99b44066a1fce5a5956452a1d658045631c8f9;hp=53485f19c832ed0cdaab269fbc758aec16cbb1c8;hpb=d8ce5332e9ac2dc24bf1490f03bd30abb17196e8;p=lsp-test.git 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