X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=src%2FLanguage%2FHaskell%2FLSP%2FTest%2FParsing.hs;h=09006b67859957aedab3ac045a3926ad09598037;hb=c92237720248d8ce94f84ac6aef6409ab116897f;hp=128cfb4018a4e9ce40bbabe86a86ac66f4edae22;hpb=d1855cd1182c51333c82bf964fc96c8ec3ec76b7;p=lsp-test.git diff --git a/src/Language/Haskell/LSP/Test/Parsing.hs b/src/Language/Haskell/LSP/Test/Parsing.hs index 128cfb4..09006b6 100644 --- a/src/Language/Haskell/LSP/Test/Parsing.hs +++ b/src/Language/Haskell/LSP/Test/Parsing.hs @@ -5,7 +5,8 @@ module Language.Haskell.LSP.Test.Parsing ( -- $receiving - message + satisfy + , message , anyRequest , anyResponse , anyNotification @@ -27,7 +28,8 @@ import Data.Maybe import qualified Data.Text as T import Data.Typeable import Language.Haskell.LSP.Messages -import Language.Haskell.LSP.Types as LSP hiding (error, message) +import Language.Haskell.LSP.Types +import qualified Language.Haskell.LSP.Types.Lens as LSP import Language.Haskell.LSP.Test.Messages import Language.Haskell.LSP.Test.Session @@ -59,6 +61,9 @@ import Language.Haskell.LSP.Test.Session -- anyResponse -- @ +-- | Consumes and returns the next message, if it satisfies the specified predicate. +-- +-- @since 0.5.2.0 satisfy :: (FromServerMessage -> Bool) -> Session FromServerMessage satisfy pred = do @@ -84,7 +89,7 @@ satisfy pred = do return x else empty --- | Matches a message of type 'a'. +-- | Matches a message of type @a@. message :: forall a. (Typeable a, FromJSON a) => Session a message = let parser = decode . encodeMsg :: FromServerMessage -> Maybe a