!s/9      !"#$%&'()*+,-./012345678 Safe/9:None;lsp-testBFetches the next message bytes based on the Content-Length header <=;>?@ABCDNonelsp-test)An exception that can be thrown during a lsp-test A predicate that matches on any None<QVEF NoneQVVGHIJK SafeL None;<=>? Mlsp-testTThe last received message from the server. Used for providing exception informationlsp-testStuff you can configure for a . lsp-test>Maximum time to wait for a message in seconds, defaults to 60. lsp-test?Redirect the server's stderr to this stdout, defaults to False. lsp-testATrace the messages sent and received to stdout, defaults to True. lsp-test8Add ANSI color to the logged messages, defaults to True.lsp-testLA session representing one instance of launching and connecting to a server.7You can send and receive messages to the server within  via  getMessage,  sendRequest and sendNotification.lsp-testThe configuration used in  .Nlsp-testAn internal version of O} that allows for a custom handler to listen to the server. It also does not automatically send initialize and exit messages.lsp-test$Execute a block f that will throw a TimeoutExceptiono after duration seconds. This will override the global timeout for waiting for messages to arrive defined in .Plsp-test+Logs the message if the config specified itNlsp-test Server inlsp-test Server outlsp-testServer listenerlsp-testRoot directory*QRSTUVWXYZ[\]M^_`abcdefghijkl NmnP None>?QV$ lsp-testMatches a message of type a.lsp-test)Matches if the message is a notification.lsp-test$Matches if the message is a request.lsp-test%Matches if the message is a response.lsp-test%Matches a response for a specific id.lsp-testMatches any type of message.olsp-test2A stupid method for getting out the inner message.plsp-testPA version of encode that encodes FromServerMessages as if they weren't wrapped.lsp-test\Matches if the message is a log message notification or a show message notification/request.lsp-test Matches a 1 (textDocument/publishDiagnostics) notification./A functional testing framework for LSP servers.luke_lau@icloud.com experimentalPOSIXNoneCQVc0 qlsp-testA custom type for request message that doesn't need a response type, allows us to infer the request message type without using proxies.lsp-testStarts a new session. runSession "hie" fullCaps "path/to/root/dir" $ do doc <- openDoc "Desktop/simple.hs" "haskell" diags <- waitForDiagnostics let pos = Position 12 5 params = TextDocumentPositionParams doc hover <- request TextDocumentHover paramslsp-test0Starts a new sesion with a custom configuration.lsp-test(The current text contents of a document.lsp-testbParses an ApplyEditRequest, checks that it is for the passed document and returns the new contentlsp-test{Sends a request to the server and waits for its response. Will skip any messages in between the request and the response W rsp <- request TextDocumentDocumentSymbol params :: Session DocumentSymbolsResponse G Note: will skip any messages in between the request and the response.lsp-test The same as , but discard the response.lsp-test&Sends a request to the server. Unlike %, this doesn't wait for the response. lsp-test#Sends a notification to the server.!lsp-testSends a response to the server."lsp-testReturns the initialize response that was received from the server. The initialize requests and responses are not included the session, so if you need to test it use this.#lsp-test=Opens a text document and sends a notification to the client.$lsp-test>Closes a text document and sends a notification to the client.%lsp-test=Gets the Uri for the file corrected to the session directory.&lsp-test7Waits for diagnostics to be published and returns them.'lsp-test The same as &", but will only match a specific r.(lsp-test Expects a s and throws an UnexpectedDiagnosticsException( if there are any diagnostics returned.)lsp-test"Returns the symbols in a document.*lsp-testzReturns all the code actions in a document by querying the code actions at each of the current diagnostics' positions.+lsp-testExecutes a command.,lsp-testExecutes a code action. Matching with the specification, if a code action contains both an edit and a command, the edit will be applied first.-lsp-testDAdds the current version to the document, as tracked by the session..lsp-testHApplys an edit to the document and returns the updated document version./lsp-test9Returns the completions for the position in the document.0lsp-test8Returns the references for the position in the document.1lsp-testAReturns the definition(s) for the term at the specified position.2lsp-test+Renames the term at the specified position.3lsp-test8Returns the hover information at the specified position.4lsp-testHReturns the highlighted occurences of the term at the specified positiontlsp-testdChecks the response for errors and throws an exception if needed. Returns the result if successful.5lsp-test-Applies formatting to the specified document.6lsp-test8Applies formatting to the specified range in a document.lsp-testThe command to run the server.lsp-test0The capabilities that the client should declare.lsp-test3The filepath to the root directory for the session.lsp-testThe session to run.lsp-test&Configuration options for the session.lsp-testThe command to run the server.lsp-test0The capabilities that the client should declare.lsp-test3The filepath to the root directory for the session.lsp-testThe session to run.lsp-testThe request method.lsp-testThe request parameters.lsp-test$The id of the request that was sent. lsp-testThe notification method.lsp-testThe notification parameters.0lsp-testThe document to lookup in.lsp-testThe position to lookup. lsp-test.Whether to include declarations as references.lsp-test The locations of the references.1lsp-testThe document the term is in.lsp-testThe position the term is at.lsp-test"The location(s) of the definitionsuvwxyz{|}~  !"#$%&'()*+,-./01234567  !"#$%-)&'(+*,/0123456.Nones#8lsp-testReplays a captured client output and makes sure it matches up with an expected response. The session directory should have a captured session file in it named "session.log". lsp-test=Checks wether or not the message appears in the right order  N1 N2 N3 REQ1 N4 N5 REQ2 RES1 0 given N2, notification order doesn't matter.  N1 N3 REQ1 N4 N5 REQ2 RES1  given REQ1  N1 N3 N4 N5 REQ2 RES1  given RES1  N1 N3 N4 N5 XXXX RES1 / False! Order of requests and responses matter lsp-testDIgnore logging notifications since they vary from session to session lsp-testQSwaps out any commands uniqued with process IDs to match the specified process ID8lsp-testThe command to run the server.lsp-testThe recorded session directory.88             ! " # $ % &'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR S T U V W X Y Z [ \ ] ^ _ ` a b c c d e f g h i j k k l R m n o p q r s t u v w xyz{|z}~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz&lsp-test-0.2.0.0-5dh0azLnEEAkhyhayeNrtLanguage.Haskell.LSP.Test Language.Haskell.LSP.Test.Replay Language.Haskell.LSP.Test.Compat"Language.Haskell.LSP.Test.Decoding$Language.Haskell.LSP.Test.ExceptionsHaskell.LSP.Test.SessionSessionLanguage.Haskell.LSP.Test.Files"Language.Haskell.LSP.Test.Messages Language.Haskell.LSP.Test.Server!Language.Haskell.LSP.Test.Session runSession!Language.Haskell.LSP.Test.ParsingPublishDiagnosticsNotificationSessionExceptionTimeoutUnexpectedMessageReplayOutOfOrderUnexpectedDiagnosticsIncorrectApplyEditRequestUnexpectedResponseErroranySessionException SessionConfigmessageTimeout logStdErr logMessageslogColor defaultConfig withTimeoutmessageanyNotification anyRequest anyResponse responseForId anyMessageloggingNotificationpublishDiagnosticsNotificationrunSessionWithConfigdocumentContentsgetDocumentEditrequestrequest_ sendRequestsendNotification sendResponseinitializeResponseopenDoccloseDoc getDocUriwaitForDiagnosticswaitForDiagnosticsSource noDiagnosticsgetDocumentSymbolsgetAllCodeActionsexecuteCommandexecuteCodeActiongetVersionedDoc applyEditgetCompletions getReferencesgetDefinitionsrenamegetHover getHighlights formatDoc formatRange$fToJSONRequestMessage' replaySessiongetCurrentProcessID getProcessIDgetNextMessage RequestMapgetAllMessages addHeader getHeaders newRequestMapupdateRequestMap getRequestMapmatchResponseMsgTypedecodeFromServerMsg swapFilesrootDirisServerResponseisServerRequestisServerNotificationhandleServerMessagehandleClientMessage withServeroverridingTimeoutrunSessionWithHandleslogMsg LogMsgType LogClient LogServermodifyMmodifyputget SessionStatecurReqIdvfscurDiagnostics curTimeoutIdlastReceivedMessageasksaskSessionContextconfigserverIn messageChan requestMapinitRspsessionCapabilitiesSessionMessage ServerMessageTimeoutMessage updateState sendMessagecastMsg encodeMsgRequestMessage'0haskell-lsp-types-0.6.0.0-GQtXBTcTZfF925ZHIF3NQD"Language.Haskell.LSP.TH.Diagnostic$sel:_source:Diagnostic%Language.Haskell.LSP.TH.DataTypesJSONgetResponseResult*Language.Haskell.LSP.TH.ClientCapabilitiesWorkspaceEditClientCapabilities5$sel:_documentChanges:WorkspaceEditClientCapabilities(DidChangeConfigurationClientCapabilitiesB$sel:_dynamicRegistration:DidChangeConfigurationClientCapabilities'DidChangeWatchedFilesClientCapabilitiesA$sel:_dynamicRegistration:DidChangeWatchedFilesClientCapabilitiesSymbolKindClientCapabilities+$sel:_valueSet:SymbolKindClientCapabilitiesSymbolClientCapabilities2$sel:_dynamicRegistration:SymbolClientCapabilities)$sel:_symbolKind:SymbolClientCapabilitiesExecuteClientCapabilities3$sel:_dynamicRegistration:ExecuteClientCapabilitiesWorkspaceClientCapabilities+$sel:_applyEdit:WorkspaceClientCapabilities/$sel:_configuration:WorkspaceClientCapabilities8$sel:_didChangeConfiguration:WorkspaceClientCapabilities7$sel:_didChangeWatchedFiles:WorkspaceClientCapabilities0$sel:_executeCommand:WorkspaceClientCapabilities($sel:_symbol:WorkspaceClientCapabilities/$sel:_workspaceEdit:WorkspaceClientCapabilities2$sel:_workspaceFolders:WorkspaceClientCapabilities-SynchronizationTextDocumentClientCapabilities<$sel:_willSave:SynchronizationTextDocumentClientCapabilitiesE$sel:_willSaveWaitUntil:SynchronizationTextDocumentClientCapabilitiesG$sel:_dynamicRegistration:SynchronizationTextDocumentClientCapabilities;$sel:_didSave:SynchronizationTextDocumentClientCapabilities CompletionItemClientCapabilities>$sel:_commitCharactersSupport:CompletionItemClientCapabilities8$sel:_deprecatedSupport:CompletionItemClientCapabilities:$sel:_documentationFormat:CompletionItemClientCapabilities7$sel:_preselectSupport:CompletionItemClientCapabilities5$sel:_snippetSupport:CompletionItemClientCapabilities$CompletionItemKindClientCapabilities3$sel:_valueSet:CompletionItemKindClientCapabilitiesCompletionClientCapabilities6$sel:_dynamicRegistration:CompletionClientCapabilities1$sel:_completionItem:CompletionClientCapabilities5$sel:_completionItemKind:CompletionClientCapabilities1$sel:_contextSupport:CompletionClientCapabilitiesHoverClientCapabilities1$sel:_dynamicRegistration:HoverClientCapabilities+$sel:_contentFormat:HoverClientCapabilities&SignatureInformationClientCapabilities?$sel:documentationFormat:SignatureInformationClientCapabilitiesSignatureHelpClientCapabilities9$sel:_dynamicRegistration:SignatureHelpClientCapabilities:$sel:_signatureInformation:SignatureHelpClientCapabilitiesReferencesClientCapabilities6$sel:_dynamicRegistration:ReferencesClientCapabilities#DocumentHighlightClientCapabilities=$sel:_dynamicRegistration:DocumentHighlightClientCapabilities$DocumentSymbolKindClientCapabilities3$sel:_valueSet:DocumentSymbolKindClientCapabilities DocumentSymbolClientCapabilities:$sel:_dynamicRegistration:DocumentSymbolClientCapabilitiesH$sel:_hierarchicalDocumentSymbolSupport:DocumentSymbolClientCapabilities1$sel:_symbolKind:DocumentSymbolClientCapabilitiesFormattingClientCapabilities6$sel:_dynamicRegistration:FormattingClientCapabilities!RangeFormattingClientCapabilities;$sel:_dynamicRegistration:RangeFormattingClientCapabilities"OnTypeFormattingClientCapabilities<$sel:_dynamicRegistration:OnTypeFormattingClientCapabilitiesDefinitionClientCapabilities6$sel:_dynamicRegistration:DefinitionClientCapabilities TypeDefinitionClientCapabilities:$sel:_dynamicRegistration:TypeDefinitionClientCapabilities ImplementationClientCapabilities:$sel:_dynamicRegistration:ImplementationClientCapabilities CodeActionKindClientCapabilities/$sel:_valueSet:CodeActionKindClientCapabilitiesCodeActionLiteralSupport-$sel:_codeActionKind:CodeActionLiteralSupportCodeActionClientCapabilities;$sel:_codeActionLiteralSupport:CodeActionClientCapabilities6$sel:_dynamicRegistration:CodeActionClientCapabilitiesCodeLensClientCapabilities4$sel:_dynamicRegistration:CodeLensClientCapabilitiesDocumentLinkClientCapabilities8$sel:_dynamicRegistration:DocumentLinkClientCapabilitiesColorProviderClientCapabilities9$sel:_dynamicRegistration:ColorProviderClientCapabilitiesRenameClientCapabilities2$sel:_dynamicRegistration:RenameClientCapabilities$PublishDiagnosticsClientCapabilities=$sel:_relatedInformation:PublishDiagnosticsClientCapabilitiesTextDocumentClientCapabilities/$sel:_codeAction:TextDocumentClientCapabilities-$sel:_codeLens:TextDocumentClientCapabilities2$sel:_colorProvider:TextDocumentClientCapabilities/$sel:_completion:TextDocumentClientCapabilities/$sel:_definition:TextDocumentClientCapabilities6$sel:_documentHighlight:TextDocumentClientCapabilities1$sel:_documentLink:TextDocumentClientCapabilities3$sel:_documentSymbol:TextDocumentClientCapabilities/$sel:_formatting:TextDocumentClientCapabilities*$sel:_hover:TextDocumentClientCapabilities3$sel:_implementation:TextDocumentClientCapabilities5$sel:_onTypeFormatting:TextDocumentClientCapabilities7$sel:_publishDiagnostics:TextDocumentClientCapabilities4$sel:_rangeFormatting:TextDocumentClientCapabilities/$sel:_references:TextDocumentClientCapabilities+$sel:_rename:TextDocumentClientCapabilities2$sel:_signatureHelp:TextDocumentClientCapabilities4$sel:_synchronization:TextDocumentClientCapabilities3$sel:_typeDefinition:TextDocumentClientCapabilitiesClientCapabilities%$sel:_textDocument:ClientCapabilities%$sel:_experimental:ClientCapabilities"$sel:_workspace:ClientCapabilities*haskell-lsp-0.6.0.0-EDOeK0Jl1U51vIqQr8E5TN'Language.Haskell.LSP.Types.CapabilitiescapsForVersionfullCaps LSPVersion inRightOrder shouldSkip swapCommands