h&B5?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred%h Safe-Inferred!"%'(01lspThe LSP version of the documentlspThis number is only incremented whilst the file remains in the map.lsp!The full contents of the document$lspA range, like a , but where the offsets in the line are measured in Unicode code points instead of UTF-16 code units.&lspThe range's start position.'lspThe range's end position.(lspA position, like a , but where the offsets in the line are measured in Unicode code points instead of UTF-16 code units.*lsp)Line position in a document (zero-based).+lspCharacter offset on a line in a document in *code points* (zero-based).0lspApplies the changes from a  to the 1lsp Applies a !DidChangeTextDocumentNotification to the 2lspApplies the changes from a ApplyWorkspaceEditRequest to the 3lspWrite a virtual file to a file in the given directory if it exists in the VFS.5lspApply the list of changes. Changes should be applied in the order that they are received from the client.7lspGiven a , start and end positions, and some new text, replace the given range with the new text. If the given positions lie within a code point then this does nothing (returns the original  ) and logs.Elsp1Describes the line at the current cursor positionGlsp.The full contents of the line the cursor is atHlspIf any, the module name that was typed right before the cursor position. For example, if the user has typed "Data.Maybe.from", then this property will be  Data.MaybeIlspThe word right before the cursor position, after removing the module part. For example if the user has typed "Data.Maybe.from", then this property will be "from"JlspThe cursor positionlsp Extracts a specific line from a &. Logarithmic in the number of lines.lspTranslate a code-point offset into a code-unit offset. Linear in the length of the rope.lspTranslate a UTF-16 code-unit offset into a code-point offset. Linear in the length of the rope.Mlsp"Given a virtual file, translate a ( in that file into a  in that file. Will return < if the requested position is out of bounds of the document.Logarithmic in the number of lines in the document, and linear in the length of the line containing the position.Nlsp"Given a virtual file, translate a $ in that file into a  in that file. Will return ; if any of the positions are out of bounds of the document.Logarithmic in the number of lines in the document, and linear in the length of the lines containing the positions.Olsp"Given a virtual file, translate a  in that file into a ( in that file. Will return  if the requested position lies inside a code point, or if it is out of bounds of the document.Logarithmic in the number of lines in the document, and linear in the length of the line containing the position.Plsp"Given a virtual file, translate a  in that file into a $ in that file. Will return ; if any of the positions are out of bounds of the document.Logarithmic in the number of lines in the document, and linear in the length of the lines containing the positions.7  $%&'()+*,-./01234567ABEFGHIJKLMNOPQR7, -. /01234()+*ABMO$%&'KLNPREFGHIJQ567 Safe-Inferred !")*01?/,lspA function that a { is passed that can be used to respond to a request with either an error, or the response params.WlspContains all the callbacks to use for initialized the language server. it is parameterized over a config type variable representing the type for the specific configuration data the language server needs to use.Ylsp7The default value we initialize the config variable to.ZlspThe "config section" that this server uses. This is used to identify the settings that are relevant to the server.[lsp%parseConfig oldConfig newConfigObject is called whenever we get updated configuration from the client. parseConfig is called on the object corresponding to the server's config section, it should not itself try to look for the config section.Note that the  may represent only a partial object in the case where we are handling a  workspace/didChangeConfiguration request where the client sends only the changed settings. This is also the main circumstance where the old configuration argument is useful. It is generally fine for servers to ignore this case and just assume that the  represents a full new config and ignore the old configuration. This will only be problematic in the case of clients which behave as above and *also* don't support workspace/configuration, which is discouraged.\lspThis callback is called any time the configuration is updated, with the new config. Servers that want to react to config changes should provide a callback here, it is not sufficient to just add e.g. a  workspace/didChangeConfiguration handler.]lspCalled *after* receiving the  initialize request and *before* returning the response. This callback will be invoked to offer the language server implementation the chance to create any processes or start new threads that may be necessary for the server lifecycle. It can also return an error in the initialization if necessary.^lspHandlers for any methods you want to statically support. The handlers here cannot be unregistered during the server's lifetime and will be registered statically in the initialize request. The handlers provided can depend on the client capabilities, which are static across the lifetime of the server._lsp5How to run the handlers in your own monad of choice, m. It is passed the result of ]2, so typically you will want to thread along the 9 as well as any other state you need to run your monad. m( should most likely be built on top of .  ServerDefinition { ... , doInitialize = env _req -> pure $ Right env , interpretHandler = env -> Iso (runLspT env) -- how to convert from IO ~> m liftIO -- how to convert from m ~> IO } `lsp3Configurable options for the server's capabilities.a lsp3Whether or not the user should be able to cancel a / sessiond lspThrown if the user cancels a b  sessione lspA package indicating the percentage of progress complete and a an optional message to go with it during a glspLanguage Server Protocol options that the server may configure. If you set handlers for some requests, you may need to set some of these options.jlsp5The characters that trigger completion automatically.klspThe list of all possible characters that commit a completion. This field can be used if clients don't support individual commit characters per completion item. See _commitCharactersSupport.llsp9The characters that trigger signature help automatically.mlspList of characters that re-trigger signature help. These trigger characters are only active when signature help is already showing. All trigger characters are also counted as re-trigger characters.nlspCodeActionKinds that this server may return. The list of kinds may be generic, such as  ?, or the server may list out every specific kind they provide.olspThe list of characters that triggers on type formatting. If you set documentOnTypeFormattingHandler, you **must** set this. The first character is mandatory, so a  should be passed.plsp7The commands to be executed on the server. If you set executeCommandHandler, you **must** set this.qlspInformation about the server that can be advertised to the client.lsp;state used by the LSP dispatcher to manage the message loopwlspHow to convert two isomorphic data structures between each other.{lspThe type of a handler that handles requests and notifications coming in from the server or client|lspWrapper to restrict {s to ClientToServer' s~lsp%A mapping from methods to the static {s that should be used to handle responses when they come in from the client. To build up a ~, you should  a list of  and s: mconcat [ notificationHandler SInitialized $ notif -> pure () , requestHandler STextDocumentHover $ req responder -> pure () ] lspReturn value signals if response handler was inserted successfully Might fail if the id was already in the maplsp Return the  associated with a given , if there is one.lspTake an atomic snapshot of the current state of the virtual file system.lspDump the current text for a given VFS file to a file in the given directory and return the path to the file.lspGiven a text document identifier, annotate it with the latest version.lspIf the contents of a VFS has been dumped to a temporary file, map the temporary file name back to the original one.lsp9The current configuration from the client as set via the  initialize and  workspace/didChangeConfiguration# requests, as well as by calls to .lspThe current workspace folders, if the client supports workspace folders.lspSends a client/registerCapability& request and dynamically registers a  with a { . Returns  if the client does not support dynamic registration for the specified method, otherwise a v* which can be used to unregister it later.lspSends a client/unregisterCapability request and removes the handler for that associated registration.lspWrapper for reporting progress to the client during a long running task.  title cancellable f starts a new progress reporting session, and finishes it once f is completed. f is provided with an update function that allows it to report on the progress during the session. If  cancellable is b, f will be thrown a d- if the user cancels the action in progress. lspSame as , but for processes that do not report the precentage complete.lspAggregate all diagnostics pertaining to a particular version of a document, by source, and sends a textDocument/publishDiagnostics notification with the total (limited by the first parameter) whenever it is updated.lspRemove all diagnostics from a particular source, and send the updates to the client.lspThe changes in a workspace edit should be applied from the end of the file toward the start. Sort them into this order.lsp?@ABCDEFGHIJKLLMNOPQRSTUVWXYZ[\]]^_`abcdefghijjkklmnopqrstuuvwxyz{|}~~           ix                    "lsp-2.3.0.0-HdVH6ecREkL74oXuvCFyvILanguage.LSP.DiagnosticsLanguage.LSP.VFSLanguage.LSP.ServerLanguage.LSP.LoggingJDidOpenTextDocumentLanguage.LSP.Server.CoreCodeActionKindRefactorLanguage.LSP.Server.ProcessingLanguage.LSP.Server.ControlDiagnosticsBySource StoreItemDiagnosticStorepartitionBySource flushBySourceupdateDiagnosticsgetDiagnosticParamsFor$fShowStoreItem $fEqStoreItemVfsLogSplitInsideCodePoint URINotFoundOpeningClosingPersistingFileCantRecursiveDeleteDeleteNonExistentVFS$sel:_vfsMap:VFS VirtualFile$sel:_lsp_version:VirtualFile$sel:_file_version:VirtualFile$sel:_file_text:VirtualFile$fPrettyVfsLog $fShowVfsLog $fShowVFS$fShowVirtualFile lsp_version file_version file_text$fHasFile_textVirtualFileRope$fHasFile_versionVirtualFileInt $fHasLsp_versionVirtualFileInt32CodePointRange$sel:_start:CodePointRange$sel:_end:CodePointRangeCodePointPosition$sel:_line:CodePointPosition!$sel:_character:CodePointPositionvfsMapvirtualFileTextvirtualFileVersionemptyVFSopenVFSchangeFromClientVFSchangeFromServerVFSpersistFileVFScloseVFS applyChanges applyChange changeChars$fHasVfsMapVFSMap$fShowCodePointRange$fReadCodePointRange$fEqCodePointRange$fOrdCodePointRange$fShowCodePointPosition$fReadCodePointPosition$fEqCodePointPosition$fOrdCodePointPositionline character#$fHasCharacterCodePointPositionUInt$fHasLineCodePointPositionUInt PosPrefixInfo$sel:fullLine:PosPrefixInfo$sel:prefixModule:PosPrefixInfo$sel:prefixText:PosPrefixInfo$sel:cursorPos:PosPrefixInfostartendcodePointPositionToPositioncodePointRangeToRangepositionToCodePointPositionrangeToCodePointRangegetCompletionPrefixrangeLinesFromVfs'$fHasEndCodePointRangeCodePointPosition)$fHasStartCodePointRangeCodePointPosition$fShowPosPrefixInfo$fEqPosPrefixInfoServerDefinition defaultConfig configSection parseConfigonConfigChange doInitializestaticHandlersinterpretHandleroptionsProgressCancellable CancellableNotCancellableProgressCancelledExceptionProgressAmountOptionsoptTextDocumentSyncoptCompletionTriggerCharacters optCompletionAllCommitCharacters!optSignatureHelpTriggerCharacters#optSignatureHelpRetriggerCharactersoptCodeActionKinds,optDocumentOnTypeFormattingTriggerCharactersoptExecuteCommandCommands optServerInfoVFSDatavfsData reverseMapRegistrationToken<~>IsoforwardbackwardHandlerClientMessageHandlerHandlers reqHandlers notHandlersLanguageContextEnv resHandlersresConfigSectionresParseConfigresOnConfigChangeresSendMessageresStateresClientCapabilities resRootPathMonadLsp getLspEnvLspMLspTunLspTrunLspTnotificationHandlerrequestHandlertransmuteHandlers mapHandlersdefaultOptionssendNotification sendRequestgetVirtualFilegetVirtualFilessnapshotVirtualFilespersistVirtualFilegetVersionedTextDocreverseFileMap getConfig setConfiggetClientCapabilities getRootPathgetWorkspaceFoldersregisterCapabilityunregisterCapability withProgresswithIndefiniteProgresspublishDiagnosticsflushDiagnosticsBySourcereverseSortEdittryChangeConfigrequestConfigUpdatelogToLogMessagelogToShowMessagedefaultClientLogger LspServerLogLspProcessingLogDecodeInitializeErrorHeaderParseFailEOFStarting ParsedMsgSendMsg runServerrunServerWithHandles runServerWith(lsp-types-2.1.0.0-E6LpiIP9GXTHLRuc6Lzh7K*Language.LSP.Protocol.Internal.Types.RangeRange-Language.LSP.Protocol.Internal.Types.PositionPosition$text-rope-0.2-JxnT8In25tR5NJTPMzrxYEData.Text.Utf16.RopeRope extractLinecodePointOffsetToCodeUnitOffsetcodeUnitOffsetToCodePointOffsetbase GHC.MaybeNothingServerResponseCallback$aeson-2.1.2.1-3UwlV6dgtMjEIiZRx1XpKIData.Aeson.Types.InternalValueGHC.BaseNonEmptyLanguageContextState%Language.LSP.Protocol.Internal.MethodMethodmconcataddResponseHandlerLanguage.LSP.Protocol.Types.Uri NormalizedUri ProgressDataprogressCancelprogressNextIdRegistrationIdRegistrationMap ResponseMapresLspIdresRegistrationsReqresRegistrationsNotresPendingResponsesresProgressDataresWorkspaceFolders resConfigresDiagnosticsresVFS LspCoreLogWrongConfigSectionsBadConfigurationResponseConfigurationNotSupportedConfigurationParseError NewConfig modifyState stateState getsState sendToClient freshLspId storeProgressdeleteProgressgetNewProgressIdwithProgressBaseclientSupportsProgressinitializeRequestHandlerinferServerCapabilitieshandleshutdownRequestHandlerlookForConfigSectionhandleDidChangeConfigurationupdateWorkspaceFoldershandle'ExitingProgressCancelMissingHandlerMessageProcessingErrorLspCoreprocessMessageprogressCancelHandlerexitNotificationHandlervfsFunc*co-log-core-0.3.2.1-Huo98ncEJujAGmJ2oQqQ9sColog.Core.SeverityErrorInfoDebug sendServer