{- ORMOLU_DISABLE -}
{- HLINT ignore -}
-- THIS IS A GENERATED FILE, DO NOT EDIT

{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# OPTIONS_GHC -Wno-unused-matches #-}
{-# OPTIONS_GHC -Wno-deprecations #-}
module Language.LSP.Protocol.Internal.Method where

import qualified Data.Aeson
import qualified Data.Aeson as Aeson
import qualified Data.Kind as Kind
import qualified Data.Proxy
import qualified Data.Row as Row
import qualified Data.Void
import qualified GHC.TypeLits
import qualified Language.LSP.Protocol.Internal.Types.ApplyWorkspaceEditParams
import qualified Language.LSP.Protocol.Internal.Types.ApplyWorkspaceEditResult
import qualified Language.LSP.Protocol.Internal.Types.CallHierarchyIncomingCall
import qualified Language.LSP.Protocol.Internal.Types.CallHierarchyIncomingCallsParams
import qualified Language.LSP.Protocol.Internal.Types.CallHierarchyItem
import qualified Language.LSP.Protocol.Internal.Types.CallHierarchyOutgoingCall
import qualified Language.LSP.Protocol.Internal.Types.CallHierarchyOutgoingCallsParams
import qualified Language.LSP.Protocol.Internal.Types.CallHierarchyPrepareParams
import qualified Language.LSP.Protocol.Internal.Types.CallHierarchyRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.CancelParams
import qualified Language.LSP.Protocol.Internal.Types.CodeAction
import qualified Language.LSP.Protocol.Internal.Types.CodeActionParams
import qualified Language.LSP.Protocol.Internal.Types.CodeActionRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.CodeLens
import qualified Language.LSP.Protocol.Internal.Types.CodeLensParams
import qualified Language.LSP.Protocol.Internal.Types.CodeLensRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.ColorInformation
import qualified Language.LSP.Protocol.Internal.Types.ColorPresentation
import qualified Language.LSP.Protocol.Internal.Types.ColorPresentationParams
import qualified Language.LSP.Protocol.Internal.Types.Command
import qualified Language.LSP.Protocol.Internal.Types.CompletionItem
import qualified Language.LSP.Protocol.Internal.Types.CompletionList
import qualified Language.LSP.Protocol.Internal.Types.CompletionParams
import qualified Language.LSP.Protocol.Internal.Types.CompletionRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.ConfigurationParams
import qualified Language.LSP.Protocol.Internal.Types.CreateFilesParams
import qualified Language.LSP.Protocol.Internal.Types.Declaration
import qualified Language.LSP.Protocol.Internal.Types.DeclarationLink
import qualified Language.LSP.Protocol.Internal.Types.DeclarationParams
import qualified Language.LSP.Protocol.Internal.Types.DeclarationRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.Definition
import qualified Language.LSP.Protocol.Internal.Types.DefinitionLink
import qualified Language.LSP.Protocol.Internal.Types.DefinitionParams
import qualified Language.LSP.Protocol.Internal.Types.DefinitionRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DeleteFilesParams
import qualified Language.LSP.Protocol.Internal.Types.DiagnosticRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DiagnosticServerCancellationData
import qualified Language.LSP.Protocol.Internal.Types.DidChangeConfigurationParams
import qualified Language.LSP.Protocol.Internal.Types.DidChangeConfigurationRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DidChangeNotebookDocumentParams
import qualified Language.LSP.Protocol.Internal.Types.DidChangeTextDocumentParams
import qualified Language.LSP.Protocol.Internal.Types.DidChangeWatchedFilesParams
import qualified Language.LSP.Protocol.Internal.Types.DidChangeWatchedFilesRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DidChangeWorkspaceFoldersParams
import qualified Language.LSP.Protocol.Internal.Types.DidCloseNotebookDocumentParams
import qualified Language.LSP.Protocol.Internal.Types.DidCloseTextDocumentParams
import qualified Language.LSP.Protocol.Internal.Types.DidOpenNotebookDocumentParams
import qualified Language.LSP.Protocol.Internal.Types.DidOpenTextDocumentParams
import qualified Language.LSP.Protocol.Internal.Types.DidSaveNotebookDocumentParams
import qualified Language.LSP.Protocol.Internal.Types.DidSaveTextDocumentParams
import qualified Language.LSP.Protocol.Internal.Types.DocumentColorParams
import qualified Language.LSP.Protocol.Internal.Types.DocumentColorRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentDiagnosticParams
import qualified Language.LSP.Protocol.Internal.Types.DocumentDiagnosticReport
import qualified Language.LSP.Protocol.Internal.Types.DocumentFormattingParams
import qualified Language.LSP.Protocol.Internal.Types.DocumentFormattingRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentHighlight
import qualified Language.LSP.Protocol.Internal.Types.DocumentHighlightParams
import qualified Language.LSP.Protocol.Internal.Types.DocumentHighlightRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentLink
import qualified Language.LSP.Protocol.Internal.Types.DocumentLinkParams
import qualified Language.LSP.Protocol.Internal.Types.DocumentLinkRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentOnTypeFormattingParams
import qualified Language.LSP.Protocol.Internal.Types.DocumentOnTypeFormattingRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentRangeFormattingParams
import qualified Language.LSP.Protocol.Internal.Types.DocumentRangeFormattingRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.DocumentSelector
import qualified Language.LSP.Protocol.Internal.Types.DocumentSymbol
import qualified Language.LSP.Protocol.Internal.Types.DocumentSymbolParams
import qualified Language.LSP.Protocol.Internal.Types.DocumentSymbolRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.ExecuteCommandParams
import qualified Language.LSP.Protocol.Internal.Types.ExecuteCommandRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.FileOperationRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.FoldingRange
import qualified Language.LSP.Protocol.Internal.Types.FoldingRangeParams
import qualified Language.LSP.Protocol.Internal.Types.FoldingRangeRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.Hover
import qualified Language.LSP.Protocol.Internal.Types.HoverParams
import qualified Language.LSP.Protocol.Internal.Types.HoverRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.ImplementationParams
import qualified Language.LSP.Protocol.Internal.Types.ImplementationRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.InitializeError
import qualified Language.LSP.Protocol.Internal.Types.InitializeParams
import qualified Language.LSP.Protocol.Internal.Types.InitializeResult
import qualified Language.LSP.Protocol.Internal.Types.InitializedParams
import qualified Language.LSP.Protocol.Internal.Types.InlayHint
import qualified Language.LSP.Protocol.Internal.Types.InlayHintParams
import qualified Language.LSP.Protocol.Internal.Types.InlayHintRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.InlineValue
import qualified Language.LSP.Protocol.Internal.Types.InlineValueParams
import qualified Language.LSP.Protocol.Internal.Types.InlineValueRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.LinkedEditingRangeParams
import qualified Language.LSP.Protocol.Internal.Types.LinkedEditingRangeRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.LinkedEditingRanges
import qualified Language.LSP.Protocol.Internal.Types.Location
import qualified Language.LSP.Protocol.Internal.Types.LogMessageParams
import qualified Language.LSP.Protocol.Internal.Types.LogTraceParams
import qualified Language.LSP.Protocol.Internal.Types.MessageActionItem
import qualified Language.LSP.Protocol.Internal.Types.Moniker
import qualified Language.LSP.Protocol.Internal.Types.MonikerParams
import qualified Language.LSP.Protocol.Internal.Types.MonikerRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.PrepareRenameParams
import qualified Language.LSP.Protocol.Internal.Types.PrepareRenameResult
import qualified Language.LSP.Protocol.Internal.Types.ProgressParams
import qualified Language.LSP.Protocol.Internal.Types.PublishDiagnosticsParams
import qualified Language.LSP.Protocol.Internal.Types.ReferenceParams
import qualified Language.LSP.Protocol.Internal.Types.ReferenceRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.RegistrationParams
import qualified Language.LSP.Protocol.Internal.Types.RenameFilesParams
import qualified Language.LSP.Protocol.Internal.Types.RenameParams
import qualified Language.LSP.Protocol.Internal.Types.RenameRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.SelectionRange
import qualified Language.LSP.Protocol.Internal.Types.SelectionRangeParams
import qualified Language.LSP.Protocol.Internal.Types.SelectionRangeRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.SemanticTokens
import qualified Language.LSP.Protocol.Internal.Types.SemanticTokensDelta
import qualified Language.LSP.Protocol.Internal.Types.SemanticTokensDeltaParams
import qualified Language.LSP.Protocol.Internal.Types.SemanticTokensParams
import qualified Language.LSP.Protocol.Internal.Types.SemanticTokensRangeParams
import qualified Language.LSP.Protocol.Internal.Types.SemanticTokensRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.SetTraceParams
import qualified Language.LSP.Protocol.Internal.Types.ShowDocumentParams
import qualified Language.LSP.Protocol.Internal.Types.ShowDocumentResult
import qualified Language.LSP.Protocol.Internal.Types.ShowMessageParams
import qualified Language.LSP.Protocol.Internal.Types.ShowMessageRequestParams
import qualified Language.LSP.Protocol.Internal.Types.SignatureHelp
import qualified Language.LSP.Protocol.Internal.Types.SignatureHelpParams
import qualified Language.LSP.Protocol.Internal.Types.SignatureHelpRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.SymbolInformation
import qualified Language.LSP.Protocol.Internal.Types.TextDocumentChangeRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.TextDocumentRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.TextDocumentSaveRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.TextEdit
import qualified Language.LSP.Protocol.Internal.Types.TypeDefinitionParams
import qualified Language.LSP.Protocol.Internal.Types.TypeDefinitionRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.TypeHierarchyItem
import qualified Language.LSP.Protocol.Internal.Types.TypeHierarchyPrepareParams
import qualified Language.LSP.Protocol.Internal.Types.TypeHierarchyRegistrationOptions
import qualified Language.LSP.Protocol.Internal.Types.TypeHierarchySubtypesParams
import qualified Language.LSP.Protocol.Internal.Types.TypeHierarchySupertypesParams
import qualified Language.LSP.Protocol.Internal.Types.UnregistrationParams
import qualified Language.LSP.Protocol.Internal.Types.WillSaveTextDocumentParams
import qualified Language.LSP.Protocol.Internal.Types.WorkDoneProgressCancelParams
import qualified Language.LSP.Protocol.Internal.Types.WorkDoneProgressCreateParams
import qualified Language.LSP.Protocol.Internal.Types.WorkspaceDiagnosticParams
import qualified Language.LSP.Protocol.Internal.Types.WorkspaceDiagnosticReport
import qualified Language.LSP.Protocol.Internal.Types.WorkspaceEdit
import qualified Language.LSP.Protocol.Internal.Types.WorkspaceFolder
import qualified Language.LSP.Protocol.Internal.Types.WorkspaceSymbol
import qualified Language.LSP.Protocol.Internal.Types.WorkspaceSymbolParams
import qualified Language.LSP.Protocol.Internal.Types.WorkspaceSymbolRegistrationOptions
import qualified Language.LSP.Protocol.Message.Meta as MM
import qualified Language.LSP.Protocol.Types.Common

-- | A type representing a LSP method (or class of methods), intended to be used mostly at the type level.
type Method :: MM.MessageDirection -> MM.MessageKind -> Kind.Type
data Method f t where 
  Method_TextDocumentImplementation :: Method MM.ClientToServer MM.Request
  Method_TextDocumentTypeDefinition :: Method MM.ClientToServer MM.Request
  Method_WorkspaceWorkspaceFolders :: Method MM.ServerToClient MM.Request
  Method_WorkspaceConfiguration :: Method MM.ServerToClient MM.Request
  Method_TextDocumentDocumentColor :: Method MM.ClientToServer MM.Request
  Method_TextDocumentColorPresentation :: Method MM.ClientToServer MM.Request
  Method_TextDocumentFoldingRange :: Method MM.ClientToServer MM.Request
  Method_TextDocumentDeclaration :: Method MM.ClientToServer MM.Request
  Method_TextDocumentSelectionRange :: Method MM.ClientToServer MM.Request
  Method_WindowWorkDoneProgressCreate :: Method MM.ServerToClient MM.Request
  Method_TextDocumentPrepareCallHierarchy :: Method MM.ClientToServer MM.Request
  Method_CallHierarchyIncomingCalls :: Method MM.ClientToServer MM.Request
  Method_CallHierarchyOutgoingCalls :: Method MM.ClientToServer MM.Request
  Method_TextDocumentSemanticTokensFull :: Method MM.ClientToServer MM.Request
  Method_TextDocumentSemanticTokensFullDelta :: Method MM.ClientToServer MM.Request
  Method_TextDocumentSemanticTokensRange :: Method MM.ClientToServer MM.Request
  Method_WorkspaceSemanticTokensRefresh :: Method MM.ServerToClient MM.Request
  Method_WindowShowDocument :: Method MM.ServerToClient MM.Request
  Method_TextDocumentLinkedEditingRange :: Method MM.ClientToServer MM.Request
  Method_WorkspaceWillCreateFiles :: Method MM.ClientToServer MM.Request
  Method_WorkspaceWillRenameFiles :: Method MM.ClientToServer MM.Request
  Method_WorkspaceWillDeleteFiles :: Method MM.ClientToServer MM.Request
  Method_TextDocumentMoniker :: Method MM.ClientToServer MM.Request
  Method_TextDocumentPrepareTypeHierarchy :: Method MM.ClientToServer MM.Request
  Method_TypeHierarchySupertypes :: Method MM.ClientToServer MM.Request
  Method_TypeHierarchySubtypes :: Method MM.ClientToServer MM.Request
  Method_TextDocumentInlineValue :: Method MM.ClientToServer MM.Request
  Method_WorkspaceInlineValueRefresh :: Method MM.ServerToClient MM.Request
  Method_TextDocumentInlayHint :: Method MM.ClientToServer MM.Request
  Method_InlayHintResolve :: Method MM.ClientToServer MM.Request
  Method_WorkspaceInlayHintRefresh :: Method MM.ServerToClient MM.Request
  Method_TextDocumentDiagnostic :: Method MM.ClientToServer MM.Request
  Method_WorkspaceDiagnostic :: Method MM.ClientToServer MM.Request
  Method_WorkspaceDiagnosticRefresh :: Method MM.ServerToClient MM.Request
  Method_ClientRegisterCapability :: Method MM.ServerToClient MM.Request
  Method_ClientUnregisterCapability :: Method MM.ServerToClient MM.Request
  Method_Initialize :: Method MM.ClientToServer MM.Request
  Method_Shutdown :: Method MM.ClientToServer MM.Request
  Method_WindowShowMessageRequest :: Method MM.ServerToClient MM.Request
  Method_TextDocumentWillSaveWaitUntil :: Method MM.ClientToServer MM.Request
  Method_TextDocumentCompletion :: Method MM.ClientToServer MM.Request
  Method_CompletionItemResolve :: Method MM.ClientToServer MM.Request
  Method_TextDocumentHover :: Method MM.ClientToServer MM.Request
  Method_TextDocumentSignatureHelp :: Method MM.ClientToServer MM.Request
  Method_TextDocumentDefinition :: Method MM.ClientToServer MM.Request
  Method_TextDocumentReferences :: Method MM.ClientToServer MM.Request
  Method_TextDocumentDocumentHighlight :: Method MM.ClientToServer MM.Request
  Method_TextDocumentDocumentSymbol :: Method MM.ClientToServer MM.Request
  Method_TextDocumentCodeAction :: Method MM.ClientToServer MM.Request
  Method_CodeActionResolve :: Method MM.ClientToServer MM.Request
  Method_WorkspaceSymbol :: Method MM.ClientToServer MM.Request
  Method_WorkspaceSymbolResolve :: Method MM.ClientToServer MM.Request
  Method_TextDocumentCodeLens :: Method MM.ClientToServer MM.Request
  Method_CodeLensResolve :: Method MM.ClientToServer MM.Request
  Method_WorkspaceCodeLensRefresh :: Method MM.ServerToClient MM.Request
  Method_TextDocumentDocumentLink :: Method MM.ClientToServer MM.Request
  Method_DocumentLinkResolve :: Method MM.ClientToServer MM.Request
  Method_TextDocumentFormatting :: Method MM.ClientToServer MM.Request
  Method_TextDocumentRangeFormatting :: Method MM.ClientToServer MM.Request
  Method_TextDocumentOnTypeFormatting :: Method MM.ClientToServer MM.Request
  Method_TextDocumentRename :: Method MM.ClientToServer MM.Request
  Method_TextDocumentPrepareRename :: Method MM.ClientToServer MM.Request
  Method_WorkspaceExecuteCommand :: Method MM.ClientToServer MM.Request
  Method_WorkspaceApplyEdit :: Method MM.ServerToClient MM.Request
  Method_WorkspaceDidChangeWorkspaceFolders :: Method MM.ClientToServer MM.Notification
  Method_WindowWorkDoneProgressCancel :: Method MM.ClientToServer MM.Notification
  Method_WorkspaceDidCreateFiles :: Method MM.ClientToServer MM.Notification
  Method_WorkspaceDidRenameFiles :: Method MM.ClientToServer MM.Notification
  Method_WorkspaceDidDeleteFiles :: Method MM.ClientToServer MM.Notification
  Method_NotebookDocumentDidOpen :: Method MM.ClientToServer MM.Notification
  Method_NotebookDocumentDidChange :: Method MM.ClientToServer MM.Notification
  Method_NotebookDocumentDidSave :: Method MM.ClientToServer MM.Notification
  Method_NotebookDocumentDidClose :: Method MM.ClientToServer MM.Notification
  Method_Initialized :: Method MM.ClientToServer MM.Notification
  Method_Exit :: Method MM.ClientToServer MM.Notification
  Method_WorkspaceDidChangeConfiguration :: Method MM.ClientToServer MM.Notification
  Method_WindowShowMessage :: Method MM.ServerToClient MM.Notification
  Method_WindowLogMessage :: Method MM.ServerToClient MM.Notification
  Method_TelemetryEvent :: Method MM.ServerToClient MM.Notification
  Method_TextDocumentDidOpen :: Method MM.ClientToServer MM.Notification
  Method_TextDocumentDidChange :: Method MM.ClientToServer MM.Notification
  Method_TextDocumentDidClose :: Method MM.ClientToServer MM.Notification
  Method_TextDocumentDidSave :: Method MM.ClientToServer MM.Notification
  Method_TextDocumentWillSave :: Method MM.ClientToServer MM.Notification
  Method_WorkspaceDidChangeWatchedFiles :: Method MM.ClientToServer MM.Notification
  Method_TextDocumentPublishDiagnostics :: Method MM.ServerToClient MM.Notification
  Method_SetTrace :: Method MM.ClientToServer MM.Notification
  Method_LogTrace :: Method MM.ServerToClient MM.Notification
  Method_CancelRequest :: Method f MM.Notification
  Method_Progress :: Method f MM.Notification
  Method_CustomMethod :: GHC.TypeLits.Symbol -> Method f t

-- | Maps a LSP method to its parameter type.
type MessageParams :: forall f t . Method f t -> Kind.Type
type family MessageParams (m ::  Method f t) where 
  MessageParams Method_TextDocumentImplementation = Language.LSP.Protocol.Internal.Types.ImplementationParams.ImplementationParams
  MessageParams Method_TextDocumentTypeDefinition = Language.LSP.Protocol.Internal.Types.TypeDefinitionParams.TypeDefinitionParams
  MessageParams Method_WorkspaceWorkspaceFolders = Maybe Data.Void.Void
  MessageParams Method_WorkspaceConfiguration = Language.LSP.Protocol.Internal.Types.ConfigurationParams.ConfigurationParams
  MessageParams Method_TextDocumentDocumentColor = Language.LSP.Protocol.Internal.Types.DocumentColorParams.DocumentColorParams
  MessageParams Method_TextDocumentColorPresentation = Language.LSP.Protocol.Internal.Types.ColorPresentationParams.ColorPresentationParams
  MessageParams Method_TextDocumentFoldingRange = Language.LSP.Protocol.Internal.Types.FoldingRangeParams.FoldingRangeParams
  MessageParams Method_TextDocumentDeclaration = Language.LSP.Protocol.Internal.Types.DeclarationParams.DeclarationParams
  MessageParams Method_TextDocumentSelectionRange = Language.LSP.Protocol.Internal.Types.SelectionRangeParams.SelectionRangeParams
  MessageParams Method_WindowWorkDoneProgressCreate = Language.LSP.Protocol.Internal.Types.WorkDoneProgressCreateParams.WorkDoneProgressCreateParams
  MessageParams Method_TextDocumentPrepareCallHierarchy = Language.LSP.Protocol.Internal.Types.CallHierarchyPrepareParams.CallHierarchyPrepareParams
  MessageParams Method_CallHierarchyIncomingCalls = Language.LSP.Protocol.Internal.Types.CallHierarchyIncomingCallsParams.CallHierarchyIncomingCallsParams
  MessageParams Method_CallHierarchyOutgoingCalls = Language.LSP.Protocol.Internal.Types.CallHierarchyOutgoingCallsParams.CallHierarchyOutgoingCallsParams
  MessageParams Method_TextDocumentSemanticTokensFull = Language.LSP.Protocol.Internal.Types.SemanticTokensParams.SemanticTokensParams
  MessageParams Method_TextDocumentSemanticTokensFullDelta = Language.LSP.Protocol.Internal.Types.SemanticTokensDeltaParams.SemanticTokensDeltaParams
  MessageParams Method_TextDocumentSemanticTokensRange = Language.LSP.Protocol.Internal.Types.SemanticTokensRangeParams.SemanticTokensRangeParams
  MessageParams Method_WorkspaceSemanticTokensRefresh = Maybe Data.Void.Void
  MessageParams Method_WindowShowDocument = Language.LSP.Protocol.Internal.Types.ShowDocumentParams.ShowDocumentParams
  MessageParams Method_TextDocumentLinkedEditingRange = Language.LSP.Protocol.Internal.Types.LinkedEditingRangeParams.LinkedEditingRangeParams
  MessageParams Method_WorkspaceWillCreateFiles = Language.LSP.Protocol.Internal.Types.CreateFilesParams.CreateFilesParams
  MessageParams Method_WorkspaceWillRenameFiles = Language.LSP.Protocol.Internal.Types.RenameFilesParams.RenameFilesParams
  MessageParams Method_WorkspaceWillDeleteFiles = Language.LSP.Protocol.Internal.Types.DeleteFilesParams.DeleteFilesParams
  MessageParams Method_TextDocumentMoniker = Language.LSP.Protocol.Internal.Types.MonikerParams.MonikerParams
  MessageParams Method_TextDocumentPrepareTypeHierarchy = Language.LSP.Protocol.Internal.Types.TypeHierarchyPrepareParams.TypeHierarchyPrepareParams
  MessageParams Method_TypeHierarchySupertypes = Language.LSP.Protocol.Internal.Types.TypeHierarchySupertypesParams.TypeHierarchySupertypesParams
  MessageParams Method_TypeHierarchySubtypes = Language.LSP.Protocol.Internal.Types.TypeHierarchySubtypesParams.TypeHierarchySubtypesParams
  MessageParams Method_TextDocumentInlineValue = Language.LSP.Protocol.Internal.Types.InlineValueParams.InlineValueParams
  MessageParams Method_WorkspaceInlineValueRefresh = Maybe Data.Void.Void
  MessageParams Method_TextDocumentInlayHint = Language.LSP.Protocol.Internal.Types.InlayHintParams.InlayHintParams
  MessageParams Method_InlayHintResolve = Language.LSP.Protocol.Internal.Types.InlayHint.InlayHint
  MessageParams Method_WorkspaceInlayHintRefresh = Maybe Data.Void.Void
  MessageParams Method_TextDocumentDiagnostic = Language.LSP.Protocol.Internal.Types.DocumentDiagnosticParams.DocumentDiagnosticParams
  MessageParams Method_WorkspaceDiagnostic = Language.LSP.Protocol.Internal.Types.WorkspaceDiagnosticParams.WorkspaceDiagnosticParams
  MessageParams Method_WorkspaceDiagnosticRefresh = Maybe Data.Void.Void
  MessageParams Method_ClientRegisterCapability = Language.LSP.Protocol.Internal.Types.RegistrationParams.RegistrationParams
  MessageParams Method_ClientUnregisterCapability = Language.LSP.Protocol.Internal.Types.UnregistrationParams.UnregistrationParams
  MessageParams Method_Initialize = Language.LSP.Protocol.Internal.Types.InitializeParams.InitializeParams
  MessageParams Method_Shutdown = Maybe Data.Void.Void
  MessageParams Method_WindowShowMessageRequest = Language.LSP.Protocol.Internal.Types.ShowMessageRequestParams.ShowMessageRequestParams
  MessageParams Method_TextDocumentWillSaveWaitUntil = Language.LSP.Protocol.Internal.Types.WillSaveTextDocumentParams.WillSaveTextDocumentParams
  MessageParams Method_TextDocumentCompletion = Language.LSP.Protocol.Internal.Types.CompletionParams.CompletionParams
  MessageParams Method_CompletionItemResolve = Language.LSP.Protocol.Internal.Types.CompletionItem.CompletionItem
  MessageParams Method_TextDocumentHover = Language.LSP.Protocol.Internal.Types.HoverParams.HoverParams
  MessageParams Method_TextDocumentSignatureHelp = Language.LSP.Protocol.Internal.Types.SignatureHelpParams.SignatureHelpParams
  MessageParams Method_TextDocumentDefinition = Language.LSP.Protocol.Internal.Types.DefinitionParams.DefinitionParams
  MessageParams Method_TextDocumentReferences = Language.LSP.Protocol.Internal.Types.ReferenceParams.ReferenceParams
  MessageParams Method_TextDocumentDocumentHighlight = Language.LSP.Protocol.Internal.Types.DocumentHighlightParams.DocumentHighlightParams
  MessageParams Method_TextDocumentDocumentSymbol = Language.LSP.Protocol.Internal.Types.DocumentSymbolParams.DocumentSymbolParams
  MessageParams Method_TextDocumentCodeAction = Language.LSP.Protocol.Internal.Types.CodeActionParams.CodeActionParams
  MessageParams Method_CodeActionResolve = Language.LSP.Protocol.Internal.Types.CodeAction.CodeAction
  MessageParams Method_WorkspaceSymbol = Language.LSP.Protocol.Internal.Types.WorkspaceSymbolParams.WorkspaceSymbolParams
  MessageParams Method_WorkspaceSymbolResolve = Language.LSP.Protocol.Internal.Types.WorkspaceSymbol.WorkspaceSymbol
  MessageParams Method_TextDocumentCodeLens = Language.LSP.Protocol.Internal.Types.CodeLensParams.CodeLensParams
  MessageParams Method_CodeLensResolve = Language.LSP.Protocol.Internal.Types.CodeLens.CodeLens
  MessageParams Method_WorkspaceCodeLensRefresh = Maybe Data.Void.Void
  MessageParams Method_TextDocumentDocumentLink = Language.LSP.Protocol.Internal.Types.DocumentLinkParams.DocumentLinkParams
  MessageParams Method_DocumentLinkResolve = Language.LSP.Protocol.Internal.Types.DocumentLink.DocumentLink
  MessageParams Method_TextDocumentFormatting = Language.LSP.Protocol.Internal.Types.DocumentFormattingParams.DocumentFormattingParams
  MessageParams Method_TextDocumentRangeFormatting = Language.LSP.Protocol.Internal.Types.DocumentRangeFormattingParams.DocumentRangeFormattingParams
  MessageParams Method_TextDocumentOnTypeFormatting = Language.LSP.Protocol.Internal.Types.DocumentOnTypeFormattingParams.DocumentOnTypeFormattingParams
  MessageParams Method_TextDocumentRename = Language.LSP.Protocol.Internal.Types.RenameParams.RenameParams
  MessageParams Method_TextDocumentPrepareRename = Language.LSP.Protocol.Internal.Types.PrepareRenameParams.PrepareRenameParams
  MessageParams Method_WorkspaceExecuteCommand = Language.LSP.Protocol.Internal.Types.ExecuteCommandParams.ExecuteCommandParams
  MessageParams Method_WorkspaceApplyEdit = Language.LSP.Protocol.Internal.Types.ApplyWorkspaceEditParams.ApplyWorkspaceEditParams
  MessageParams Method_WorkspaceDidChangeWorkspaceFolders = Language.LSP.Protocol.Internal.Types.DidChangeWorkspaceFoldersParams.DidChangeWorkspaceFoldersParams
  MessageParams Method_WindowWorkDoneProgressCancel = Language.LSP.Protocol.Internal.Types.WorkDoneProgressCancelParams.WorkDoneProgressCancelParams
  MessageParams Method_WorkspaceDidCreateFiles = Language.LSP.Protocol.Internal.Types.CreateFilesParams.CreateFilesParams
  MessageParams Method_WorkspaceDidRenameFiles = Language.LSP.Protocol.Internal.Types.RenameFilesParams.RenameFilesParams
  MessageParams Method_WorkspaceDidDeleteFiles = Language.LSP.Protocol.Internal.Types.DeleteFilesParams.DeleteFilesParams
  MessageParams Method_NotebookDocumentDidOpen = Language.LSP.Protocol.Internal.Types.DidOpenNotebookDocumentParams.DidOpenNotebookDocumentParams
  MessageParams Method_NotebookDocumentDidChange = Language.LSP.Protocol.Internal.Types.DidChangeNotebookDocumentParams.DidChangeNotebookDocumentParams
  MessageParams Method_NotebookDocumentDidSave = Language.LSP.Protocol.Internal.Types.DidSaveNotebookDocumentParams.DidSaveNotebookDocumentParams
  MessageParams Method_NotebookDocumentDidClose = Language.LSP.Protocol.Internal.Types.DidCloseNotebookDocumentParams.DidCloseNotebookDocumentParams
  MessageParams Method_Initialized = Language.LSP.Protocol.Internal.Types.InitializedParams.InitializedParams
  MessageParams Method_Exit = Maybe Data.Void.Void
  MessageParams Method_WorkspaceDidChangeConfiguration = Language.LSP.Protocol.Internal.Types.DidChangeConfigurationParams.DidChangeConfigurationParams
  MessageParams Method_WindowShowMessage = Language.LSP.Protocol.Internal.Types.ShowMessageParams.ShowMessageParams
  MessageParams Method_WindowLogMessage = Language.LSP.Protocol.Internal.Types.LogMessageParams.LogMessageParams
  MessageParams Method_TelemetryEvent = Data.Aeson.Value
  MessageParams Method_TextDocumentDidOpen = Language.LSP.Protocol.Internal.Types.DidOpenTextDocumentParams.DidOpenTextDocumentParams
  MessageParams Method_TextDocumentDidChange = Language.LSP.Protocol.Internal.Types.DidChangeTextDocumentParams.DidChangeTextDocumentParams
  MessageParams Method_TextDocumentDidClose = Language.LSP.Protocol.Internal.Types.DidCloseTextDocumentParams.DidCloseTextDocumentParams
  MessageParams Method_TextDocumentDidSave = Language.LSP.Protocol.Internal.Types.DidSaveTextDocumentParams.DidSaveTextDocumentParams
  MessageParams Method_TextDocumentWillSave = Language.LSP.Protocol.Internal.Types.WillSaveTextDocumentParams.WillSaveTextDocumentParams
  MessageParams Method_WorkspaceDidChangeWatchedFiles = Language.LSP.Protocol.Internal.Types.DidChangeWatchedFilesParams.DidChangeWatchedFilesParams
  MessageParams Method_TextDocumentPublishDiagnostics = Language.LSP.Protocol.Internal.Types.PublishDiagnosticsParams.PublishDiagnosticsParams
  MessageParams Method_SetTrace = Language.LSP.Protocol.Internal.Types.SetTraceParams.SetTraceParams
  MessageParams Method_LogTrace = Language.LSP.Protocol.Internal.Types.LogTraceParams.LogTraceParams
  MessageParams Method_CancelRequest = Language.LSP.Protocol.Internal.Types.CancelParams.CancelParams
  MessageParams Method_Progress = Language.LSP.Protocol.Internal.Types.ProgressParams.ProgressParams
  MessageParams (Method_CustomMethod s) = Aeson.Value

-- | Maps a LSP method to its result type.
type MessageResult :: forall f t . Method f t -> Kind.Type
type family MessageResult (m ::  Method f t) where 
  MessageResult Method_TextDocumentImplementation = (Language.LSP.Protocol.Internal.Types.Definition.Definition Language.LSP.Protocol.Types.Common.|? ([Language.LSP.Protocol.Internal.Types.DefinitionLink.DefinitionLink] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null))
  MessageResult Method_TextDocumentTypeDefinition = (Language.LSP.Protocol.Internal.Types.Definition.Definition Language.LSP.Protocol.Types.Common.|? ([Language.LSP.Protocol.Internal.Types.DefinitionLink.DefinitionLink] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null))
  MessageResult Method_WorkspaceWorkspaceFolders = ([Language.LSP.Protocol.Internal.Types.WorkspaceFolder.WorkspaceFolder] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_WorkspaceConfiguration = [Data.Aeson.Value]
  MessageResult Method_TextDocumentDocumentColor = [Language.LSP.Protocol.Internal.Types.ColorInformation.ColorInformation]
  MessageResult Method_TextDocumentColorPresentation = [Language.LSP.Protocol.Internal.Types.ColorPresentation.ColorPresentation]
  MessageResult Method_TextDocumentFoldingRange = ([Language.LSP.Protocol.Internal.Types.FoldingRange.FoldingRange] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentDeclaration = (Language.LSP.Protocol.Internal.Types.Declaration.Declaration Language.LSP.Protocol.Types.Common.|? ([Language.LSP.Protocol.Internal.Types.DeclarationLink.DeclarationLink] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null))
  MessageResult Method_TextDocumentSelectionRange = ([Language.LSP.Protocol.Internal.Types.SelectionRange.SelectionRange] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_WindowWorkDoneProgressCreate = Language.LSP.Protocol.Types.Common.Null
  MessageResult Method_TextDocumentPrepareCallHierarchy = ([Language.LSP.Protocol.Internal.Types.CallHierarchyItem.CallHierarchyItem] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_CallHierarchyIncomingCalls = ([Language.LSP.Protocol.Internal.Types.CallHierarchyIncomingCall.CallHierarchyIncomingCall] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_CallHierarchyOutgoingCalls = ([Language.LSP.Protocol.Internal.Types.CallHierarchyOutgoingCall.CallHierarchyOutgoingCall] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentSemanticTokensFull = (Language.LSP.Protocol.Internal.Types.SemanticTokens.SemanticTokens Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentSemanticTokensFullDelta = (Language.LSP.Protocol.Internal.Types.SemanticTokens.SemanticTokens Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.SemanticTokensDelta.SemanticTokensDelta Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null))
  MessageResult Method_TextDocumentSemanticTokensRange = (Language.LSP.Protocol.Internal.Types.SemanticTokens.SemanticTokens Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_WorkspaceSemanticTokensRefresh = Language.LSP.Protocol.Types.Common.Null
  MessageResult Method_WindowShowDocument = Language.LSP.Protocol.Internal.Types.ShowDocumentResult.ShowDocumentResult
  MessageResult Method_TextDocumentLinkedEditingRange = (Language.LSP.Protocol.Internal.Types.LinkedEditingRanges.LinkedEditingRanges Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_WorkspaceWillCreateFiles = (Language.LSP.Protocol.Internal.Types.WorkspaceEdit.WorkspaceEdit Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_WorkspaceWillRenameFiles = (Language.LSP.Protocol.Internal.Types.WorkspaceEdit.WorkspaceEdit Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_WorkspaceWillDeleteFiles = (Language.LSP.Protocol.Internal.Types.WorkspaceEdit.WorkspaceEdit Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentMoniker = ([Language.LSP.Protocol.Internal.Types.Moniker.Moniker] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentPrepareTypeHierarchy = ([Language.LSP.Protocol.Internal.Types.TypeHierarchyItem.TypeHierarchyItem] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TypeHierarchySupertypes = ([Language.LSP.Protocol.Internal.Types.TypeHierarchyItem.TypeHierarchyItem] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TypeHierarchySubtypes = ([Language.LSP.Protocol.Internal.Types.TypeHierarchyItem.TypeHierarchyItem] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentInlineValue = ([Language.LSP.Protocol.Internal.Types.InlineValue.InlineValue] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_WorkspaceInlineValueRefresh = Language.LSP.Protocol.Types.Common.Null
  MessageResult Method_TextDocumentInlayHint = ([Language.LSP.Protocol.Internal.Types.InlayHint.InlayHint] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_InlayHintResolve = Language.LSP.Protocol.Internal.Types.InlayHint.InlayHint
  MessageResult Method_WorkspaceInlayHintRefresh = Language.LSP.Protocol.Types.Common.Null
  MessageResult Method_TextDocumentDiagnostic = Language.LSP.Protocol.Internal.Types.DocumentDiagnosticReport.DocumentDiagnosticReport
  MessageResult Method_WorkspaceDiagnostic = Language.LSP.Protocol.Internal.Types.WorkspaceDiagnosticReport.WorkspaceDiagnosticReport
  MessageResult Method_WorkspaceDiagnosticRefresh = Language.LSP.Protocol.Types.Common.Null
  MessageResult Method_ClientRegisterCapability = Language.LSP.Protocol.Types.Common.Null
  MessageResult Method_ClientUnregisterCapability = Language.LSP.Protocol.Types.Common.Null
  MessageResult Method_Initialize = Language.LSP.Protocol.Internal.Types.InitializeResult.InitializeResult
  MessageResult Method_Shutdown = Language.LSP.Protocol.Types.Common.Null
  MessageResult Method_WindowShowMessageRequest = (Language.LSP.Protocol.Internal.Types.MessageActionItem.MessageActionItem Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentWillSaveWaitUntil = ([Language.LSP.Protocol.Internal.Types.TextEdit.TextEdit] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentCompletion = ([Language.LSP.Protocol.Internal.Types.CompletionItem.CompletionItem] Language.LSP.Protocol.Types.Common.|? (Language.LSP.Protocol.Internal.Types.CompletionList.CompletionList Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null))
  MessageResult Method_CompletionItemResolve = Language.LSP.Protocol.Internal.Types.CompletionItem.CompletionItem
  MessageResult Method_TextDocumentHover = (Language.LSP.Protocol.Internal.Types.Hover.Hover Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentSignatureHelp = (Language.LSP.Protocol.Internal.Types.SignatureHelp.SignatureHelp Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentDefinition = (Language.LSP.Protocol.Internal.Types.Definition.Definition Language.LSP.Protocol.Types.Common.|? ([Language.LSP.Protocol.Internal.Types.DefinitionLink.DefinitionLink] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null))
  MessageResult Method_TextDocumentReferences = ([Language.LSP.Protocol.Internal.Types.Location.Location] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentDocumentHighlight = ([Language.LSP.Protocol.Internal.Types.DocumentHighlight.DocumentHighlight] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentDocumentSymbol = ([Language.LSP.Protocol.Internal.Types.SymbolInformation.SymbolInformation] Language.LSP.Protocol.Types.Common.|? ([Language.LSP.Protocol.Internal.Types.DocumentSymbol.DocumentSymbol] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null))
  MessageResult Method_TextDocumentCodeAction = ([(Language.LSP.Protocol.Internal.Types.Command.Command Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Internal.Types.CodeAction.CodeAction)] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_CodeActionResolve = Language.LSP.Protocol.Internal.Types.CodeAction.CodeAction
  MessageResult Method_WorkspaceSymbol = ([Language.LSP.Protocol.Internal.Types.SymbolInformation.SymbolInformation] Language.LSP.Protocol.Types.Common.|? ([Language.LSP.Protocol.Internal.Types.WorkspaceSymbol.WorkspaceSymbol] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null))
  MessageResult Method_WorkspaceSymbolResolve = Language.LSP.Protocol.Internal.Types.WorkspaceSymbol.WorkspaceSymbol
  MessageResult Method_TextDocumentCodeLens = ([Language.LSP.Protocol.Internal.Types.CodeLens.CodeLens] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_CodeLensResolve = Language.LSP.Protocol.Internal.Types.CodeLens.CodeLens
  MessageResult Method_WorkspaceCodeLensRefresh = Language.LSP.Protocol.Types.Common.Null
  MessageResult Method_TextDocumentDocumentLink = ([Language.LSP.Protocol.Internal.Types.DocumentLink.DocumentLink] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_DocumentLinkResolve = Language.LSP.Protocol.Internal.Types.DocumentLink.DocumentLink
  MessageResult Method_TextDocumentFormatting = ([Language.LSP.Protocol.Internal.Types.TextEdit.TextEdit] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentRangeFormatting = ([Language.LSP.Protocol.Internal.Types.TextEdit.TextEdit] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentOnTypeFormatting = ([Language.LSP.Protocol.Internal.Types.TextEdit.TextEdit] Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentRename = (Language.LSP.Protocol.Internal.Types.WorkspaceEdit.WorkspaceEdit Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_TextDocumentPrepareRename = (Language.LSP.Protocol.Internal.Types.PrepareRenameResult.PrepareRenameResult Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_WorkspaceExecuteCommand = (Data.Aeson.Value Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null)
  MessageResult Method_WorkspaceApplyEdit = Language.LSP.Protocol.Internal.Types.ApplyWorkspaceEditResult.ApplyWorkspaceEditResult
  MessageResult (Method_CustomMethod s) = Aeson.Value

-- | Maps a LSP method to its error data type.
type ErrorData :: forall f t . Method f t -> Kind.Type
type family ErrorData (m ::  Method f t) where 
  ErrorData Method_TextDocumentImplementation = Maybe Data.Void.Void
  ErrorData Method_TextDocumentTypeDefinition = Maybe Data.Void.Void
  ErrorData Method_WorkspaceWorkspaceFolders = Maybe Data.Void.Void
  ErrorData Method_WorkspaceConfiguration = Maybe Data.Void.Void
  ErrorData Method_TextDocumentDocumentColor = Maybe Data.Void.Void
  ErrorData Method_TextDocumentColorPresentation = Maybe Data.Void.Void
  ErrorData Method_TextDocumentFoldingRange = Maybe Data.Void.Void
  ErrorData Method_TextDocumentDeclaration = Maybe Data.Void.Void
  ErrorData Method_TextDocumentSelectionRange = Maybe Data.Void.Void
  ErrorData Method_WindowWorkDoneProgressCreate = Maybe Data.Void.Void
  ErrorData Method_TextDocumentPrepareCallHierarchy = Maybe Data.Void.Void
  ErrorData Method_CallHierarchyIncomingCalls = Maybe Data.Void.Void
  ErrorData Method_CallHierarchyOutgoingCalls = Maybe Data.Void.Void
  ErrorData Method_TextDocumentSemanticTokensFull = Maybe Data.Void.Void
  ErrorData Method_TextDocumentSemanticTokensFullDelta = Maybe Data.Void.Void
  ErrorData Method_TextDocumentSemanticTokensRange = Maybe Data.Void.Void
  ErrorData Method_WorkspaceSemanticTokensRefresh = Maybe Data.Void.Void
  ErrorData Method_WindowShowDocument = Maybe Data.Void.Void
  ErrorData Method_TextDocumentLinkedEditingRange = Maybe Data.Void.Void
  ErrorData Method_WorkspaceWillCreateFiles = Maybe Data.Void.Void
  ErrorData Method_WorkspaceWillRenameFiles = Maybe Data.Void.Void
  ErrorData Method_WorkspaceWillDeleteFiles = Maybe Data.Void.Void
  ErrorData Method_TextDocumentMoniker = Maybe Data.Void.Void
  ErrorData Method_TextDocumentPrepareTypeHierarchy = Maybe Data.Void.Void
  ErrorData Method_TypeHierarchySupertypes = Maybe Data.Void.Void
  ErrorData Method_TypeHierarchySubtypes = Maybe Data.Void.Void
  ErrorData Method_TextDocumentInlineValue = Maybe Data.Void.Void
  ErrorData Method_WorkspaceInlineValueRefresh = Maybe Data.Void.Void
  ErrorData Method_TextDocumentInlayHint = Maybe Data.Void.Void
  ErrorData Method_InlayHintResolve = Maybe Data.Void.Void
  ErrorData Method_WorkspaceInlayHintRefresh = Maybe Data.Void.Void
  ErrorData Method_TextDocumentDiagnostic = Language.LSP.Protocol.Internal.Types.DiagnosticServerCancellationData.DiagnosticServerCancellationData
  ErrorData Method_WorkspaceDiagnostic = Language.LSP.Protocol.Internal.Types.DiagnosticServerCancellationData.DiagnosticServerCancellationData
  ErrorData Method_WorkspaceDiagnosticRefresh = Maybe Data.Void.Void
  ErrorData Method_ClientRegisterCapability = Maybe Data.Void.Void
  ErrorData Method_ClientUnregisterCapability = Maybe Data.Void.Void
  ErrorData Method_Initialize = Language.LSP.Protocol.Internal.Types.InitializeError.InitializeError
  ErrorData Method_Shutdown = Maybe Data.Void.Void
  ErrorData Method_WindowShowMessageRequest = Maybe Data.Void.Void
  ErrorData Method_TextDocumentWillSaveWaitUntil = Maybe Data.Void.Void
  ErrorData Method_TextDocumentCompletion = Maybe Data.Void.Void
  ErrorData Method_CompletionItemResolve = Maybe Data.Void.Void
  ErrorData Method_TextDocumentHover = Maybe Data.Void.Void
  ErrorData Method_TextDocumentSignatureHelp = Maybe Data.Void.Void
  ErrorData Method_TextDocumentDefinition = Maybe Data.Void.Void
  ErrorData Method_TextDocumentReferences = Maybe Data.Void.Void
  ErrorData Method_TextDocumentDocumentHighlight = Maybe Data.Void.Void
  ErrorData Method_TextDocumentDocumentSymbol = Maybe Data.Void.Void
  ErrorData Method_TextDocumentCodeAction = Maybe Data.Void.Void
  ErrorData Method_CodeActionResolve = Maybe Data.Void.Void
  ErrorData Method_WorkspaceSymbol = Maybe Data.Void.Void
  ErrorData Method_WorkspaceSymbolResolve = Maybe Data.Void.Void
  ErrorData Method_TextDocumentCodeLens = Maybe Data.Void.Void
  ErrorData Method_CodeLensResolve = Maybe Data.Void.Void
  ErrorData Method_WorkspaceCodeLensRefresh = Maybe Data.Void.Void
  ErrorData Method_TextDocumentDocumentLink = Maybe Data.Void.Void
  ErrorData Method_DocumentLinkResolve = Maybe Data.Void.Void
  ErrorData Method_TextDocumentFormatting = Maybe Data.Void.Void
  ErrorData Method_TextDocumentRangeFormatting = Maybe Data.Void.Void
  ErrorData Method_TextDocumentOnTypeFormatting = Maybe Data.Void.Void
  ErrorData Method_TextDocumentRename = Maybe Data.Void.Void
  ErrorData Method_TextDocumentPrepareRename = Maybe Data.Void.Void
  ErrorData Method_WorkspaceExecuteCommand = Maybe Data.Void.Void
  ErrorData Method_WorkspaceApplyEdit = Maybe Data.Void.Void
  ErrorData (Method_CustomMethod s) = Aeson.Value

-- | Maps a LSP method to its registration options type.
type RegistrationOptions :: forall f t . Method f t -> Kind.Type
type family RegistrationOptions (m ::  Method f t) where 
  RegistrationOptions Method_TextDocumentImplementation = Language.LSP.Protocol.Internal.Types.ImplementationRegistrationOptions.ImplementationRegistrationOptions
  RegistrationOptions Method_TextDocumentTypeDefinition = Language.LSP.Protocol.Internal.Types.TypeDefinitionRegistrationOptions.TypeDefinitionRegistrationOptions
  RegistrationOptions Method_WorkspaceWorkspaceFolders = Maybe Data.Void.Void
  RegistrationOptions Method_WorkspaceConfiguration = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentDocumentColor = Language.LSP.Protocol.Internal.Types.DocumentColorRegistrationOptions.DocumentColorRegistrationOptions
  RegistrationOptions Method_TextDocumentColorPresentation = (Row.Rec ("workDoneProgress" Row..== (Maybe Bool) Row..+ ("documentSelector" Row..== (Language.LSP.Protocol.Internal.Types.DocumentSelector.DocumentSelector Language.LSP.Protocol.Types.Common.|? Language.LSP.Protocol.Types.Common.Null) Row..+ Row.Empty)))
  RegistrationOptions Method_TextDocumentFoldingRange = Language.LSP.Protocol.Internal.Types.FoldingRangeRegistrationOptions.FoldingRangeRegistrationOptions
  RegistrationOptions Method_TextDocumentDeclaration = Language.LSP.Protocol.Internal.Types.DeclarationRegistrationOptions.DeclarationRegistrationOptions
  RegistrationOptions Method_TextDocumentSelectionRange = Language.LSP.Protocol.Internal.Types.SelectionRangeRegistrationOptions.SelectionRangeRegistrationOptions
  RegistrationOptions Method_WindowWorkDoneProgressCreate = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentPrepareCallHierarchy = Language.LSP.Protocol.Internal.Types.CallHierarchyRegistrationOptions.CallHierarchyRegistrationOptions
  RegistrationOptions Method_CallHierarchyIncomingCalls = Maybe Data.Void.Void
  RegistrationOptions Method_CallHierarchyOutgoingCalls = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentSemanticTokensFull = Language.LSP.Protocol.Internal.Types.SemanticTokensRegistrationOptions.SemanticTokensRegistrationOptions
  RegistrationOptions Method_TextDocumentSemanticTokensFullDelta = Language.LSP.Protocol.Internal.Types.SemanticTokensRegistrationOptions.SemanticTokensRegistrationOptions
  RegistrationOptions Method_TextDocumentSemanticTokensRange = Maybe Data.Void.Void
  RegistrationOptions Method_WorkspaceSemanticTokensRefresh = Maybe Data.Void.Void
  RegistrationOptions Method_WindowShowDocument = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentLinkedEditingRange = Language.LSP.Protocol.Internal.Types.LinkedEditingRangeRegistrationOptions.LinkedEditingRangeRegistrationOptions
  RegistrationOptions Method_WorkspaceWillCreateFiles = Language.LSP.Protocol.Internal.Types.FileOperationRegistrationOptions.FileOperationRegistrationOptions
  RegistrationOptions Method_WorkspaceWillRenameFiles = Language.LSP.Protocol.Internal.Types.FileOperationRegistrationOptions.FileOperationRegistrationOptions
  RegistrationOptions Method_WorkspaceWillDeleteFiles = Language.LSP.Protocol.Internal.Types.FileOperationRegistrationOptions.FileOperationRegistrationOptions
  RegistrationOptions Method_TextDocumentMoniker = Language.LSP.Protocol.Internal.Types.MonikerRegistrationOptions.MonikerRegistrationOptions
  RegistrationOptions Method_TextDocumentPrepareTypeHierarchy = Language.LSP.Protocol.Internal.Types.TypeHierarchyRegistrationOptions.TypeHierarchyRegistrationOptions
  RegistrationOptions Method_TypeHierarchySupertypes = Maybe Data.Void.Void
  RegistrationOptions Method_TypeHierarchySubtypes = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentInlineValue = Language.LSP.Protocol.Internal.Types.InlineValueRegistrationOptions.InlineValueRegistrationOptions
  RegistrationOptions Method_WorkspaceInlineValueRefresh = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentInlayHint = Language.LSP.Protocol.Internal.Types.InlayHintRegistrationOptions.InlayHintRegistrationOptions
  RegistrationOptions Method_InlayHintResolve = Maybe Data.Void.Void
  RegistrationOptions Method_WorkspaceInlayHintRefresh = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentDiagnostic = Language.LSP.Protocol.Internal.Types.DiagnosticRegistrationOptions.DiagnosticRegistrationOptions
  RegistrationOptions Method_WorkspaceDiagnostic = Maybe Data.Void.Void
  RegistrationOptions Method_WorkspaceDiagnosticRefresh = Maybe Data.Void.Void
  RegistrationOptions Method_ClientRegisterCapability = Maybe Data.Void.Void
  RegistrationOptions Method_ClientUnregisterCapability = Maybe Data.Void.Void
  RegistrationOptions Method_Initialize = Maybe Data.Void.Void
  RegistrationOptions Method_Shutdown = Maybe Data.Void.Void
  RegistrationOptions Method_WindowShowMessageRequest = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentWillSaveWaitUntil = Language.LSP.Protocol.Internal.Types.TextDocumentRegistrationOptions.TextDocumentRegistrationOptions
  RegistrationOptions Method_TextDocumentCompletion = Language.LSP.Protocol.Internal.Types.CompletionRegistrationOptions.CompletionRegistrationOptions
  RegistrationOptions Method_CompletionItemResolve = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentHover = Language.LSP.Protocol.Internal.Types.HoverRegistrationOptions.HoverRegistrationOptions
  RegistrationOptions Method_TextDocumentSignatureHelp = Language.LSP.Protocol.Internal.Types.SignatureHelpRegistrationOptions.SignatureHelpRegistrationOptions
  RegistrationOptions Method_TextDocumentDefinition = Language.LSP.Protocol.Internal.Types.DefinitionRegistrationOptions.DefinitionRegistrationOptions
  RegistrationOptions Method_TextDocumentReferences = Language.LSP.Protocol.Internal.Types.ReferenceRegistrationOptions.ReferenceRegistrationOptions
  RegistrationOptions Method_TextDocumentDocumentHighlight = Language.LSP.Protocol.Internal.Types.DocumentHighlightRegistrationOptions.DocumentHighlightRegistrationOptions
  RegistrationOptions Method_TextDocumentDocumentSymbol = Language.LSP.Protocol.Internal.Types.DocumentSymbolRegistrationOptions.DocumentSymbolRegistrationOptions
  RegistrationOptions Method_TextDocumentCodeAction = Language.LSP.Protocol.Internal.Types.CodeActionRegistrationOptions.CodeActionRegistrationOptions
  RegistrationOptions Method_CodeActionResolve = Maybe Data.Void.Void
  RegistrationOptions Method_WorkspaceSymbol = Language.LSP.Protocol.Internal.Types.WorkspaceSymbolRegistrationOptions.WorkspaceSymbolRegistrationOptions
  RegistrationOptions Method_WorkspaceSymbolResolve = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentCodeLens = Language.LSP.Protocol.Internal.Types.CodeLensRegistrationOptions.CodeLensRegistrationOptions
  RegistrationOptions Method_CodeLensResolve = Maybe Data.Void.Void
  RegistrationOptions Method_WorkspaceCodeLensRefresh = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentDocumentLink = Language.LSP.Protocol.Internal.Types.DocumentLinkRegistrationOptions.DocumentLinkRegistrationOptions
  RegistrationOptions Method_DocumentLinkResolve = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentFormatting = Language.LSP.Protocol.Internal.Types.DocumentFormattingRegistrationOptions.DocumentFormattingRegistrationOptions
  RegistrationOptions Method_TextDocumentRangeFormatting = Language.LSP.Protocol.Internal.Types.DocumentRangeFormattingRegistrationOptions.DocumentRangeFormattingRegistrationOptions
  RegistrationOptions Method_TextDocumentOnTypeFormatting = Language.LSP.Protocol.Internal.Types.DocumentOnTypeFormattingRegistrationOptions.DocumentOnTypeFormattingRegistrationOptions
  RegistrationOptions Method_TextDocumentRename = Language.LSP.Protocol.Internal.Types.RenameRegistrationOptions.RenameRegistrationOptions
  RegistrationOptions Method_TextDocumentPrepareRename = Maybe Data.Void.Void
  RegistrationOptions Method_WorkspaceExecuteCommand = Language.LSP.Protocol.Internal.Types.ExecuteCommandRegistrationOptions.ExecuteCommandRegistrationOptions
  RegistrationOptions Method_WorkspaceApplyEdit = Maybe Data.Void.Void
  RegistrationOptions Method_WorkspaceDidChangeWorkspaceFolders = Maybe Data.Void.Void
  RegistrationOptions Method_WindowWorkDoneProgressCancel = Maybe Data.Void.Void
  RegistrationOptions Method_WorkspaceDidCreateFiles = Language.LSP.Protocol.Internal.Types.FileOperationRegistrationOptions.FileOperationRegistrationOptions
  RegistrationOptions Method_WorkspaceDidRenameFiles = Language.LSP.Protocol.Internal.Types.FileOperationRegistrationOptions.FileOperationRegistrationOptions
  RegistrationOptions Method_WorkspaceDidDeleteFiles = Language.LSP.Protocol.Internal.Types.FileOperationRegistrationOptions.FileOperationRegistrationOptions
  RegistrationOptions Method_NotebookDocumentDidOpen = Maybe Data.Void.Void
  RegistrationOptions Method_NotebookDocumentDidChange = Maybe Data.Void.Void
  RegistrationOptions Method_NotebookDocumentDidSave = Maybe Data.Void.Void
  RegistrationOptions Method_NotebookDocumentDidClose = Maybe Data.Void.Void
  RegistrationOptions Method_Initialized = Maybe Data.Void.Void
  RegistrationOptions Method_Exit = Maybe Data.Void.Void
  RegistrationOptions Method_WorkspaceDidChangeConfiguration = Language.LSP.Protocol.Internal.Types.DidChangeConfigurationRegistrationOptions.DidChangeConfigurationRegistrationOptions
  RegistrationOptions Method_WindowShowMessage = Maybe Data.Void.Void
  RegistrationOptions Method_WindowLogMessage = Maybe Data.Void.Void
  RegistrationOptions Method_TelemetryEvent = Maybe Data.Void.Void
  RegistrationOptions Method_TextDocumentDidOpen = Language.LSP.Protocol.Internal.Types.TextDocumentRegistrationOptions.TextDocumentRegistrationOptions
  RegistrationOptions Method_TextDocumentDidChange = Language.LSP.Protocol.Internal.Types.TextDocumentChangeRegistrationOptions.TextDocumentChangeRegistrationOptions
  RegistrationOptions Method_TextDocumentDidClose = Language.LSP.Protocol.Internal.Types.TextDocumentRegistrationOptions.TextDocumentRegistrationOptions
  RegistrationOptions Method_TextDocumentDidSave = Language.LSP.Protocol.Internal.Types.TextDocumentSaveRegistrationOptions.TextDocumentSaveRegistrationOptions
  RegistrationOptions Method_TextDocumentWillSave = Language.LSP.Protocol.Internal.Types.TextDocumentRegistrationOptions.TextDocumentRegistrationOptions
  RegistrationOptions Method_WorkspaceDidChangeWatchedFiles = Language.LSP.Protocol.Internal.Types.DidChangeWatchedFilesRegistrationOptions.DidChangeWatchedFilesRegistrationOptions
  RegistrationOptions Method_TextDocumentPublishDiagnostics = Maybe Data.Void.Void
  RegistrationOptions Method_SetTrace = Maybe Data.Void.Void
  RegistrationOptions Method_LogTrace = Maybe Data.Void.Void
  RegistrationOptions Method_CancelRequest = Maybe Data.Void.Void
  RegistrationOptions Method_Progress = Maybe Data.Void.Void
  RegistrationOptions (Method_CustomMethod s) = Data.Void.Void

-- | A singleton type for 'Method'.
type SMethod :: forall f t . Method f t -> Kind.Type
data SMethod m where 
  SMethod_TextDocumentImplementation :: SMethod Method_TextDocumentImplementation
  SMethod_TextDocumentTypeDefinition :: SMethod Method_TextDocumentTypeDefinition
  SMethod_WorkspaceWorkspaceFolders :: SMethod Method_WorkspaceWorkspaceFolders
  SMethod_WorkspaceConfiguration :: SMethod Method_WorkspaceConfiguration
  SMethod_TextDocumentDocumentColor :: SMethod Method_TextDocumentDocumentColor
  SMethod_TextDocumentColorPresentation :: SMethod Method_TextDocumentColorPresentation
  SMethod_TextDocumentFoldingRange :: SMethod Method_TextDocumentFoldingRange
  SMethod_TextDocumentDeclaration :: SMethod Method_TextDocumentDeclaration
  SMethod_TextDocumentSelectionRange :: SMethod Method_TextDocumentSelectionRange
  SMethod_WindowWorkDoneProgressCreate :: SMethod Method_WindowWorkDoneProgressCreate
  SMethod_TextDocumentPrepareCallHierarchy :: SMethod Method_TextDocumentPrepareCallHierarchy
  SMethod_CallHierarchyIncomingCalls :: SMethod Method_CallHierarchyIncomingCalls
  SMethod_CallHierarchyOutgoingCalls :: SMethod Method_CallHierarchyOutgoingCalls
  SMethod_TextDocumentSemanticTokensFull :: SMethod Method_TextDocumentSemanticTokensFull
  SMethod_TextDocumentSemanticTokensFullDelta :: SMethod Method_TextDocumentSemanticTokensFullDelta
  SMethod_TextDocumentSemanticTokensRange :: SMethod Method_TextDocumentSemanticTokensRange
  SMethod_WorkspaceSemanticTokensRefresh :: SMethod Method_WorkspaceSemanticTokensRefresh
  SMethod_WindowShowDocument :: SMethod Method_WindowShowDocument
  SMethod_TextDocumentLinkedEditingRange :: SMethod Method_TextDocumentLinkedEditingRange
  SMethod_WorkspaceWillCreateFiles :: SMethod Method_WorkspaceWillCreateFiles
  SMethod_WorkspaceWillRenameFiles :: SMethod Method_WorkspaceWillRenameFiles
  SMethod_WorkspaceWillDeleteFiles :: SMethod Method_WorkspaceWillDeleteFiles
  SMethod_TextDocumentMoniker :: SMethod Method_TextDocumentMoniker
  SMethod_TextDocumentPrepareTypeHierarchy :: SMethod Method_TextDocumentPrepareTypeHierarchy
  SMethod_TypeHierarchySupertypes :: SMethod Method_TypeHierarchySupertypes
  SMethod_TypeHierarchySubtypes :: SMethod Method_TypeHierarchySubtypes
  SMethod_TextDocumentInlineValue :: SMethod Method_TextDocumentInlineValue
  SMethod_WorkspaceInlineValueRefresh :: SMethod Method_WorkspaceInlineValueRefresh
  SMethod_TextDocumentInlayHint :: SMethod Method_TextDocumentInlayHint
  SMethod_InlayHintResolve :: SMethod Method_InlayHintResolve
  SMethod_WorkspaceInlayHintRefresh :: SMethod Method_WorkspaceInlayHintRefresh
  SMethod_TextDocumentDiagnostic :: SMethod Method_TextDocumentDiagnostic
  SMethod_WorkspaceDiagnostic :: SMethod Method_WorkspaceDiagnostic
  SMethod_WorkspaceDiagnosticRefresh :: SMethod Method_WorkspaceDiagnosticRefresh
  SMethod_ClientRegisterCapability :: SMethod Method_ClientRegisterCapability
  SMethod_ClientUnregisterCapability :: SMethod Method_ClientUnregisterCapability
  SMethod_Initialize :: SMethod Method_Initialize
  SMethod_Shutdown :: SMethod Method_Shutdown
  SMethod_WindowShowMessageRequest :: SMethod Method_WindowShowMessageRequest
  SMethod_TextDocumentWillSaveWaitUntil :: SMethod Method_TextDocumentWillSaveWaitUntil
  SMethod_TextDocumentCompletion :: SMethod Method_TextDocumentCompletion
  SMethod_CompletionItemResolve :: SMethod Method_CompletionItemResolve
  SMethod_TextDocumentHover :: SMethod Method_TextDocumentHover
  SMethod_TextDocumentSignatureHelp :: SMethod Method_TextDocumentSignatureHelp
  SMethod_TextDocumentDefinition :: SMethod Method_TextDocumentDefinition
  SMethod_TextDocumentReferences :: SMethod Method_TextDocumentReferences
  SMethod_TextDocumentDocumentHighlight :: SMethod Method_TextDocumentDocumentHighlight
  SMethod_TextDocumentDocumentSymbol :: SMethod Method_TextDocumentDocumentSymbol
  SMethod_TextDocumentCodeAction :: SMethod Method_TextDocumentCodeAction
  SMethod_CodeActionResolve :: SMethod Method_CodeActionResolve
  SMethod_WorkspaceSymbol :: SMethod Method_WorkspaceSymbol
  SMethod_WorkspaceSymbolResolve :: SMethod Method_WorkspaceSymbolResolve
  SMethod_TextDocumentCodeLens :: SMethod Method_TextDocumentCodeLens
  SMethod_CodeLensResolve :: SMethod Method_CodeLensResolve
  SMethod_WorkspaceCodeLensRefresh :: SMethod Method_WorkspaceCodeLensRefresh
  SMethod_TextDocumentDocumentLink :: SMethod Method_TextDocumentDocumentLink
  SMethod_DocumentLinkResolve :: SMethod Method_DocumentLinkResolve
  SMethod_TextDocumentFormatting :: SMethod Method_TextDocumentFormatting
  SMethod_TextDocumentRangeFormatting :: SMethod Method_TextDocumentRangeFormatting
  SMethod_TextDocumentOnTypeFormatting :: SMethod Method_TextDocumentOnTypeFormatting
  SMethod_TextDocumentRename :: SMethod Method_TextDocumentRename
  SMethod_TextDocumentPrepareRename :: SMethod Method_TextDocumentPrepareRename
  SMethod_WorkspaceExecuteCommand :: SMethod Method_WorkspaceExecuteCommand
  SMethod_WorkspaceApplyEdit :: SMethod Method_WorkspaceApplyEdit
  SMethod_WorkspaceDidChangeWorkspaceFolders :: SMethod Method_WorkspaceDidChangeWorkspaceFolders
  SMethod_WindowWorkDoneProgressCancel :: SMethod Method_WindowWorkDoneProgressCancel
  SMethod_WorkspaceDidCreateFiles :: SMethod Method_WorkspaceDidCreateFiles
  SMethod_WorkspaceDidRenameFiles :: SMethod Method_WorkspaceDidRenameFiles
  SMethod_WorkspaceDidDeleteFiles :: SMethod Method_WorkspaceDidDeleteFiles
  SMethod_NotebookDocumentDidOpen :: SMethod Method_NotebookDocumentDidOpen
  SMethod_NotebookDocumentDidChange :: SMethod Method_NotebookDocumentDidChange
  SMethod_NotebookDocumentDidSave :: SMethod Method_NotebookDocumentDidSave
  SMethod_NotebookDocumentDidClose :: SMethod Method_NotebookDocumentDidClose
  SMethod_Initialized :: SMethod Method_Initialized
  SMethod_Exit :: SMethod Method_Exit
  SMethod_WorkspaceDidChangeConfiguration :: SMethod Method_WorkspaceDidChangeConfiguration
  SMethod_WindowShowMessage :: SMethod Method_WindowShowMessage
  SMethod_WindowLogMessage :: SMethod Method_WindowLogMessage
  SMethod_TelemetryEvent :: SMethod Method_TelemetryEvent
  SMethod_TextDocumentDidOpen :: SMethod Method_TextDocumentDidOpen
  SMethod_TextDocumentDidChange :: SMethod Method_TextDocumentDidChange
  SMethod_TextDocumentDidClose :: SMethod Method_TextDocumentDidClose
  SMethod_TextDocumentDidSave :: SMethod Method_TextDocumentDidSave
  SMethod_TextDocumentWillSave :: SMethod Method_TextDocumentWillSave
  SMethod_WorkspaceDidChangeWatchedFiles :: SMethod Method_WorkspaceDidChangeWatchedFiles
  SMethod_TextDocumentPublishDiagnostics :: SMethod Method_TextDocumentPublishDiagnostics
  SMethod_SetTrace :: SMethod Method_SetTrace
  SMethod_LogTrace :: SMethod Method_LogTrace
  SMethod_CancelRequest :: SMethod Method_CancelRequest
  SMethod_Progress :: SMethod Method_Progress
  SMethod_CustomMethod :: forall s . GHC.TypeLits.KnownSymbol s => Data.Proxy.Proxy s -> SMethod (Method_CustomMethod s)

-- | A method which isn't statically known.
data SomeMethod where 
  SomeMethod :: forall m . SMethod m -> SomeMethod

-- | Turn a 'SomeMethod' into its LSP method string.
someMethodToMethodString :: SomeMethod -> String
someMethodToMethodString :: SomeMethod -> String
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentImplementation) = String
"textDocument/implementation"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentTypeDefinition) = String
"textDocument/typeDefinition"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceWorkspaceFolders) = String
"workspace/workspaceFolders"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceConfiguration) = String
"workspace/configuration"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDocumentColor) = String
"textDocument/documentColor"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentColorPresentation) = String
"textDocument/colorPresentation"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentFoldingRange) = String
"textDocument/foldingRange"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDeclaration) = String
"textDocument/declaration"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentSelectionRange) = String
"textDocument/selectionRange"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WindowWorkDoneProgressCreate) = String
"window/workDoneProgress/create"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentPrepareCallHierarchy) = String
"textDocument/prepareCallHierarchy"
someMethodToMethodString (SomeMethod SMethod m
SMethod_CallHierarchyIncomingCalls) = String
"callHierarchy/incomingCalls"
someMethodToMethodString (SomeMethod SMethod m
SMethod_CallHierarchyOutgoingCalls) = String
"callHierarchy/outgoingCalls"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentSemanticTokensFull) = String
"textDocument/semanticTokens/full"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentSemanticTokensFullDelta) = String
"textDocument/semanticTokens/full/delta"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentSemanticTokensRange) = String
"textDocument/semanticTokens/range"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceSemanticTokensRefresh) = String
"workspace/semanticTokens/refresh"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WindowShowDocument) = String
"window/showDocument"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentLinkedEditingRange) = String
"textDocument/linkedEditingRange"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceWillCreateFiles) = String
"workspace/willCreateFiles"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceWillRenameFiles) = String
"workspace/willRenameFiles"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceWillDeleteFiles) = String
"workspace/willDeleteFiles"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentMoniker) = String
"textDocument/moniker"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentPrepareTypeHierarchy) = String
"textDocument/prepareTypeHierarchy"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TypeHierarchySupertypes) = String
"typeHierarchy/supertypes"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TypeHierarchySubtypes) = String
"typeHierarchy/subtypes"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentInlineValue) = String
"textDocument/inlineValue"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceInlineValueRefresh) = String
"workspace/inlineValue/refresh"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentInlayHint) = String
"textDocument/inlayHint"
someMethodToMethodString (SomeMethod SMethod m
SMethod_InlayHintResolve) = String
"inlayHint/resolve"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceInlayHintRefresh) = String
"workspace/inlayHint/refresh"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDiagnostic) = String
"textDocument/diagnostic"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceDiagnostic) = String
"workspace/diagnostic"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceDiagnosticRefresh) = String
"workspace/diagnostic/refresh"
someMethodToMethodString (SomeMethod SMethod m
SMethod_ClientRegisterCapability) = String
"client/registerCapability"
someMethodToMethodString (SomeMethod SMethod m
SMethod_ClientUnregisterCapability) = String
"client/unregisterCapability"
someMethodToMethodString (SomeMethod SMethod m
SMethod_Initialize) = String
"initialize"
someMethodToMethodString (SomeMethod SMethod m
SMethod_Shutdown) = String
"shutdown"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WindowShowMessageRequest) = String
"window/showMessageRequest"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentWillSaveWaitUntil) = String
"textDocument/willSaveWaitUntil"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentCompletion) = String
"textDocument/completion"
someMethodToMethodString (SomeMethod SMethod m
SMethod_CompletionItemResolve) = String
"completionItem/resolve"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentHover) = String
"textDocument/hover"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentSignatureHelp) = String
"textDocument/signatureHelp"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDefinition) = String
"textDocument/definition"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentReferences) = String
"textDocument/references"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDocumentHighlight) = String
"textDocument/documentHighlight"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDocumentSymbol) = String
"textDocument/documentSymbol"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentCodeAction) = String
"textDocument/codeAction"
someMethodToMethodString (SomeMethod SMethod m
SMethod_CodeActionResolve) = String
"codeAction/resolve"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceSymbol) = String
"workspace/symbol"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceSymbolResolve) = String
"workspaceSymbol/resolve"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentCodeLens) = String
"textDocument/codeLens"
someMethodToMethodString (SomeMethod SMethod m
SMethod_CodeLensResolve) = String
"codeLens/resolve"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceCodeLensRefresh) = String
"workspace/codeLens/refresh"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDocumentLink) = String
"textDocument/documentLink"
someMethodToMethodString (SomeMethod SMethod m
SMethod_DocumentLinkResolve) = String
"documentLink/resolve"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentFormatting) = String
"textDocument/formatting"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentRangeFormatting) = String
"textDocument/rangeFormatting"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentOnTypeFormatting) = String
"textDocument/onTypeFormatting"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentRename) = String
"textDocument/rename"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentPrepareRename) = String
"textDocument/prepareRename"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceExecuteCommand) = String
"workspace/executeCommand"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceApplyEdit) = String
"workspace/applyEdit"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceDidChangeWorkspaceFolders) = String
"workspace/didChangeWorkspaceFolders"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WindowWorkDoneProgressCancel) = String
"window/workDoneProgress/cancel"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceDidCreateFiles) = String
"workspace/didCreateFiles"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceDidRenameFiles) = String
"workspace/didRenameFiles"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceDidDeleteFiles) = String
"workspace/didDeleteFiles"
someMethodToMethodString (SomeMethod SMethod m
SMethod_NotebookDocumentDidOpen) = String
"notebookDocument/didOpen"
someMethodToMethodString (SomeMethod SMethod m
SMethod_NotebookDocumentDidChange) = String
"notebookDocument/didChange"
someMethodToMethodString (SomeMethod SMethod m
SMethod_NotebookDocumentDidSave) = String
"notebookDocument/didSave"
someMethodToMethodString (SomeMethod SMethod m
SMethod_NotebookDocumentDidClose) = String
"notebookDocument/didClose"
someMethodToMethodString (SomeMethod SMethod m
SMethod_Initialized) = String
"initialized"
someMethodToMethodString (SomeMethod SMethod m
SMethod_Exit) = String
"exit"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceDidChangeConfiguration) = String
"workspace/didChangeConfiguration"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WindowShowMessage) = String
"window/showMessage"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WindowLogMessage) = String
"window/logMessage"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TelemetryEvent) = String
"telemetry/event"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDidOpen) = String
"textDocument/didOpen"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDidChange) = String
"textDocument/didChange"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDidClose) = String
"textDocument/didClose"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentDidSave) = String
"textDocument/didSave"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentWillSave) = String
"textDocument/willSave"
someMethodToMethodString (SomeMethod SMethod m
SMethod_WorkspaceDidChangeWatchedFiles) = String
"workspace/didChangeWatchedFiles"
someMethodToMethodString (SomeMethod SMethod m
SMethod_TextDocumentPublishDiagnostics) = String
"textDocument/publishDiagnostics"
someMethodToMethodString (SomeMethod SMethod m
SMethod_SetTrace) = String
"$/setTrace"
someMethodToMethodString (SomeMethod SMethod m
SMethod_LogTrace) = String
"$/logTrace"
someMethodToMethodString (SomeMethod SMethod m
SMethod_CancelRequest) = String
"$/cancelRequest"
someMethodToMethodString (SomeMethod SMethod m
SMethod_Progress) = String
"$/progress"
someMethodToMethodString (SomeMethod (SMethod_CustomMethod Proxy s
v)) = forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
GHC.TypeLits.symbolVal Proxy s
v

-- | Turn a LSP method string into a 'SomeMethod'.
methodStringToSomeMethod :: String -> SomeMethod
methodStringToSomeMethod :: String -> SomeMethod
methodStringToSomeMethod String
"textDocument/implementation" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentImplementation
SMethod_TextDocumentImplementation
methodStringToSomeMethod String
"textDocument/typeDefinition" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentTypeDefinition
SMethod_TextDocumentTypeDefinition
methodStringToSomeMethod String
"workspace/workspaceFolders" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceWorkspaceFolders
SMethod_WorkspaceWorkspaceFolders
methodStringToSomeMethod String
"workspace/configuration" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceConfiguration
SMethod_WorkspaceConfiguration
methodStringToSomeMethod String
"textDocument/documentColor" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDocumentColor
SMethod_TextDocumentDocumentColor
methodStringToSomeMethod String
"textDocument/colorPresentation" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentColorPresentation
SMethod_TextDocumentColorPresentation
methodStringToSomeMethod String
"textDocument/foldingRange" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentFoldingRange
SMethod_TextDocumentFoldingRange
methodStringToSomeMethod String
"textDocument/declaration" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDeclaration
SMethod_TextDocumentDeclaration
methodStringToSomeMethod String
"textDocument/selectionRange" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentSelectionRange
SMethod_TextDocumentSelectionRange
methodStringToSomeMethod String
"window/workDoneProgress/create" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WindowWorkDoneProgressCreate
SMethod_WindowWorkDoneProgressCreate
methodStringToSomeMethod String
"textDocument/prepareCallHierarchy" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentPrepareCallHierarchy
SMethod_TextDocumentPrepareCallHierarchy
methodStringToSomeMethod String
"callHierarchy/incomingCalls" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_CallHierarchyIncomingCalls
SMethod_CallHierarchyIncomingCalls
methodStringToSomeMethod String
"callHierarchy/outgoingCalls" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_CallHierarchyOutgoingCalls
SMethod_CallHierarchyOutgoingCalls
methodStringToSomeMethod String
"textDocument/semanticTokens/full" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentSemanticTokensFull
SMethod_TextDocumentSemanticTokensFull
methodStringToSomeMethod String
"textDocument/semanticTokens/full/delta" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentSemanticTokensFullDelta
SMethod_TextDocumentSemanticTokensFullDelta
methodStringToSomeMethod String
"textDocument/semanticTokens/range" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentSemanticTokensRange
SMethod_TextDocumentSemanticTokensRange
methodStringToSomeMethod String
"workspace/semanticTokens/refresh" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceSemanticTokensRefresh
SMethod_WorkspaceSemanticTokensRefresh
methodStringToSomeMethod String
"window/showDocument" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WindowShowDocument
SMethod_WindowShowDocument
methodStringToSomeMethod String
"textDocument/linkedEditingRange" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentLinkedEditingRange
SMethod_TextDocumentLinkedEditingRange
methodStringToSomeMethod String
"workspace/willCreateFiles" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceWillCreateFiles
SMethod_WorkspaceWillCreateFiles
methodStringToSomeMethod String
"workspace/willRenameFiles" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceWillRenameFiles
SMethod_WorkspaceWillRenameFiles
methodStringToSomeMethod String
"workspace/willDeleteFiles" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceWillDeleteFiles
SMethod_WorkspaceWillDeleteFiles
methodStringToSomeMethod String
"textDocument/moniker" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentMoniker
SMethod_TextDocumentMoniker
methodStringToSomeMethod String
"textDocument/prepareTypeHierarchy" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentPrepareTypeHierarchy
SMethod_TextDocumentPrepareTypeHierarchy
methodStringToSomeMethod String
"typeHierarchy/supertypes" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TypeHierarchySupertypes
SMethod_TypeHierarchySupertypes
methodStringToSomeMethod String
"typeHierarchy/subtypes" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TypeHierarchySubtypes
SMethod_TypeHierarchySubtypes
methodStringToSomeMethod String
"textDocument/inlineValue" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentInlineValue
SMethod_TextDocumentInlineValue
methodStringToSomeMethod String
"workspace/inlineValue/refresh" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceInlineValueRefresh
SMethod_WorkspaceInlineValueRefresh
methodStringToSomeMethod String
"textDocument/inlayHint" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentInlayHint
SMethod_TextDocumentInlayHint
methodStringToSomeMethod String
"inlayHint/resolve" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_InlayHintResolve
SMethod_InlayHintResolve
methodStringToSomeMethod String
"workspace/inlayHint/refresh" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceInlayHintRefresh
SMethod_WorkspaceInlayHintRefresh
methodStringToSomeMethod String
"textDocument/diagnostic" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDiagnostic
SMethod_TextDocumentDiagnostic
methodStringToSomeMethod String
"workspace/diagnostic" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceDiagnostic
SMethod_WorkspaceDiagnostic
methodStringToSomeMethod String
"workspace/diagnostic/refresh" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceDiagnosticRefresh
SMethod_WorkspaceDiagnosticRefresh
methodStringToSomeMethod String
"client/registerCapability" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_ClientRegisterCapability
SMethod_ClientRegisterCapability
methodStringToSomeMethod String
"client/unregisterCapability" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_ClientUnregisterCapability
SMethod_ClientUnregisterCapability
methodStringToSomeMethod String
"initialize" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_Initialize
SMethod_Initialize
methodStringToSomeMethod String
"shutdown" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_Shutdown
SMethod_Shutdown
methodStringToSomeMethod String
"window/showMessageRequest" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WindowShowMessageRequest
SMethod_WindowShowMessageRequest
methodStringToSomeMethod String
"textDocument/willSaveWaitUntil" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentWillSaveWaitUntil
SMethod_TextDocumentWillSaveWaitUntil
methodStringToSomeMethod String
"textDocument/completion" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentCompletion
SMethod_TextDocumentCompletion
methodStringToSomeMethod String
"completionItem/resolve" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_CompletionItemResolve
SMethod_CompletionItemResolve
methodStringToSomeMethod String
"textDocument/hover" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentHover
SMethod_TextDocumentHover
methodStringToSomeMethod String
"textDocument/signatureHelp" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentSignatureHelp
SMethod_TextDocumentSignatureHelp
methodStringToSomeMethod String
"textDocument/definition" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDefinition
SMethod_TextDocumentDefinition
methodStringToSomeMethod String
"textDocument/references" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentReferences
SMethod_TextDocumentReferences
methodStringToSomeMethod String
"textDocument/documentHighlight" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDocumentHighlight
SMethod_TextDocumentDocumentHighlight
methodStringToSomeMethod String
"textDocument/documentSymbol" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDocumentSymbol
SMethod_TextDocumentDocumentSymbol
methodStringToSomeMethod String
"textDocument/codeAction" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentCodeAction
SMethod_TextDocumentCodeAction
methodStringToSomeMethod String
"codeAction/resolve" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_CodeActionResolve
SMethod_CodeActionResolve
methodStringToSomeMethod String
"workspace/symbol" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceSymbol
SMethod_WorkspaceSymbol
methodStringToSomeMethod String
"workspaceSymbol/resolve" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceSymbolResolve
SMethod_WorkspaceSymbolResolve
methodStringToSomeMethod String
"textDocument/codeLens" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentCodeLens
SMethod_TextDocumentCodeLens
methodStringToSomeMethod String
"codeLens/resolve" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_CodeLensResolve
SMethod_CodeLensResolve
methodStringToSomeMethod String
"workspace/codeLens/refresh" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceCodeLensRefresh
SMethod_WorkspaceCodeLensRefresh
methodStringToSomeMethod String
"textDocument/documentLink" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDocumentLink
SMethod_TextDocumentDocumentLink
methodStringToSomeMethod String
"documentLink/resolve" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_DocumentLinkResolve
SMethod_DocumentLinkResolve
methodStringToSomeMethod String
"textDocument/formatting" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentFormatting
SMethod_TextDocumentFormatting
methodStringToSomeMethod String
"textDocument/rangeFormatting" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentRangeFormatting
SMethod_TextDocumentRangeFormatting
methodStringToSomeMethod String
"textDocument/onTypeFormatting" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentOnTypeFormatting
SMethod_TextDocumentOnTypeFormatting
methodStringToSomeMethod String
"textDocument/rename" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentRename
SMethod_TextDocumentRename
methodStringToSomeMethod String
"textDocument/prepareRename" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentPrepareRename
SMethod_TextDocumentPrepareRename
methodStringToSomeMethod String
"workspace/executeCommand" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceExecuteCommand
SMethod_WorkspaceExecuteCommand
methodStringToSomeMethod String
"workspace/applyEdit" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceApplyEdit
SMethod_WorkspaceApplyEdit
methodStringToSomeMethod String
"workspace/didChangeWorkspaceFolders" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceDidChangeWorkspaceFolders
SMethod_WorkspaceDidChangeWorkspaceFolders
methodStringToSomeMethod String
"window/workDoneProgress/cancel" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WindowWorkDoneProgressCancel
SMethod_WindowWorkDoneProgressCancel
methodStringToSomeMethod String
"workspace/didCreateFiles" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceDidCreateFiles
SMethod_WorkspaceDidCreateFiles
methodStringToSomeMethod String
"workspace/didRenameFiles" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceDidRenameFiles
SMethod_WorkspaceDidRenameFiles
methodStringToSomeMethod String
"workspace/didDeleteFiles" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceDidDeleteFiles
SMethod_WorkspaceDidDeleteFiles
methodStringToSomeMethod String
"notebookDocument/didOpen" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_NotebookDocumentDidOpen
SMethod_NotebookDocumentDidOpen
methodStringToSomeMethod String
"notebookDocument/didChange" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_NotebookDocumentDidChange
SMethod_NotebookDocumentDidChange
methodStringToSomeMethod String
"notebookDocument/didSave" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_NotebookDocumentDidSave
SMethod_NotebookDocumentDidSave
methodStringToSomeMethod String
"notebookDocument/didClose" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_NotebookDocumentDidClose
SMethod_NotebookDocumentDidClose
methodStringToSomeMethod String
"initialized" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_Initialized
SMethod_Initialized
methodStringToSomeMethod String
"exit" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_Exit
SMethod_Exit
methodStringToSomeMethod String
"workspace/didChangeConfiguration" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceDidChangeConfiguration
SMethod_WorkspaceDidChangeConfiguration
methodStringToSomeMethod String
"window/showMessage" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WindowShowMessage
SMethod_WindowShowMessage
methodStringToSomeMethod String
"window/logMessage" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WindowLogMessage
SMethod_WindowLogMessage
methodStringToSomeMethod String
"telemetry/event" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TelemetryEvent
SMethod_TelemetryEvent
methodStringToSomeMethod String
"textDocument/didOpen" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDidOpen
SMethod_TextDocumentDidOpen
methodStringToSomeMethod String
"textDocument/didChange" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDidChange
SMethod_TextDocumentDidChange
methodStringToSomeMethod String
"textDocument/didClose" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDidClose
SMethod_TextDocumentDidClose
methodStringToSomeMethod String
"textDocument/didSave" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentDidSave
SMethod_TextDocumentDidSave
methodStringToSomeMethod String
"textDocument/willSave" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentWillSave
SMethod_TextDocumentWillSave
methodStringToSomeMethod String
"workspace/didChangeWatchedFiles" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_WorkspaceDidChangeWatchedFiles
SMethod_WorkspaceDidChangeWatchedFiles
methodStringToSomeMethod String
"textDocument/publishDiagnostics" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_TextDocumentPublishDiagnostics
SMethod_TextDocumentPublishDiagnostics
methodStringToSomeMethod String
"$/setTrace" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_SetTrace
SMethod_SetTrace
methodStringToSomeMethod String
"$/logTrace" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod SMethod 'Method_LogTrace
SMethod_LogTrace
methodStringToSomeMethod String
"$/cancelRequest" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod forall {f :: MessageDirection}. SMethod 'Method_CancelRequest
SMethod_CancelRequest
methodStringToSomeMethod String
"$/progress" = forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod forall {f :: MessageDirection}. SMethod 'Method_Progress
SMethod_Progress
methodStringToSomeMethod String
v = case String -> SomeSymbol
GHC.TypeLits.someSymbolVal String
v of { GHC.TypeLits.SomeSymbol Proxy n
p -> forall {s :: MessageDirection} {t :: MessageKind}
       (m :: Method s t).
SMethod m -> SomeMethod
SomeMethod (forall {f :: MessageDirection} {t :: MessageKind} (s :: Symbol).
KnownSymbol s =>
Proxy s -> SMethod ('Method_CustomMethod s)
SMethod_CustomMethod Proxy n
p) ; }

-- | Get a singleton witness for the message direction of a 'SMethod'.
messageDirection :: forall f t (m :: Method f t) . SMethod m -> MM.SMessageDirection f
messageDirection :: forall (f :: MessageDirection) (t :: MessageKind)
       (m :: Method f t).
SMethod m -> SMessageDirection f
messageDirection SMethod m
SMethod_TextDocumentImplementation = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentTypeDefinition = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceWorkspaceFolders = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_WorkspaceConfiguration = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_TextDocumentDocumentColor = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentColorPresentation = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentFoldingRange = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentDeclaration = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentSelectionRange = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WindowWorkDoneProgressCreate = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_TextDocumentPrepareCallHierarchy = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_CallHierarchyIncomingCalls = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_CallHierarchyOutgoingCalls = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentSemanticTokensFull = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentSemanticTokensFullDelta = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentSemanticTokensRange = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceSemanticTokensRefresh = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_WindowShowDocument = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_TextDocumentLinkedEditingRange = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceWillCreateFiles = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceWillRenameFiles = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceWillDeleteFiles = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentMoniker = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentPrepareTypeHierarchy = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TypeHierarchySupertypes = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TypeHierarchySubtypes = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentInlineValue = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceInlineValueRefresh = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_TextDocumentInlayHint = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_InlayHintResolve = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceInlayHintRefresh = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_TextDocumentDiagnostic = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceDiagnostic = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceDiagnosticRefresh = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_ClientRegisterCapability = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_ClientUnregisterCapability = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_Initialize = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_Shutdown = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WindowShowMessageRequest = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_TextDocumentWillSaveWaitUntil = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentCompletion = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_CompletionItemResolve = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentHover = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentSignatureHelp = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentDefinition = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentReferences = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentDocumentHighlight = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentDocumentSymbol = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentCodeAction = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_CodeActionResolve = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceSymbol = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceSymbolResolve = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentCodeLens = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_CodeLensResolve = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceCodeLensRefresh = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_TextDocumentDocumentLink = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_DocumentLinkResolve = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentFormatting = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentRangeFormatting = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentOnTypeFormatting = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentRename = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentPrepareRename = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceExecuteCommand = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceApplyEdit = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_WorkspaceDidChangeWorkspaceFolders = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WindowWorkDoneProgressCancel = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceDidCreateFiles = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceDidRenameFiles = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceDidDeleteFiles = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_NotebookDocumentDidOpen = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_NotebookDocumentDidChange = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_NotebookDocumentDidSave = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_NotebookDocumentDidClose = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_Initialized = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_Exit = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceDidChangeConfiguration = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WindowShowMessage = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_WindowLogMessage = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_TelemetryEvent = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_TextDocumentDidOpen = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentDidChange = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentDidClose = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentDidSave = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentWillSave = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_WorkspaceDidChangeWatchedFiles = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_TextDocumentPublishDiagnostics = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_SetTrace = SMessageDirection 'ClientToServer
MM.SClientToServer
messageDirection SMethod m
SMethod_LogTrace = SMessageDirection 'ServerToClient
MM.SServerToClient
messageDirection SMethod m
SMethod_CancelRequest = forall (f :: MessageDirection). SMessageDirection f
MM.SBothDirections
messageDirection SMethod m
SMethod_Progress = forall (f :: MessageDirection). SMessageDirection f
MM.SBothDirections
messageDirection (SMethod_CustomMethod Proxy s
_) = forall (f :: MessageDirection). SMessageDirection f
MM.SBothDirections

-- | Get a singleton witness for the message kind of a 'SMethod'.
messageKind :: forall f t (m :: Method f t) . SMethod m -> MM.SMessageKind t
messageKind :: forall (f :: MessageDirection) (t :: MessageKind)
       (m :: Method f t).
SMethod m -> SMessageKind t
messageKind SMethod m
SMethod_TextDocumentImplementation = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentTypeDefinition = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceWorkspaceFolders = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceConfiguration = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentDocumentColor = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentColorPresentation = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentFoldingRange = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentDeclaration = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentSelectionRange = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WindowWorkDoneProgressCreate = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentPrepareCallHierarchy = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_CallHierarchyIncomingCalls = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_CallHierarchyOutgoingCalls = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentSemanticTokensFull = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentSemanticTokensFullDelta = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentSemanticTokensRange = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceSemanticTokensRefresh = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WindowShowDocument = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentLinkedEditingRange = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceWillCreateFiles = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceWillRenameFiles = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceWillDeleteFiles = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentMoniker = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentPrepareTypeHierarchy = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TypeHierarchySupertypes = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TypeHierarchySubtypes = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentInlineValue = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceInlineValueRefresh = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentInlayHint = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_InlayHintResolve = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceInlayHintRefresh = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentDiagnostic = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceDiagnostic = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceDiagnosticRefresh = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_ClientRegisterCapability = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_ClientUnregisterCapability = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_Initialize = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_Shutdown = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WindowShowMessageRequest = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentWillSaveWaitUntil = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentCompletion = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_CompletionItemResolve = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentHover = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentSignatureHelp = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentDefinition = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentReferences = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentDocumentHighlight = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentDocumentSymbol = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentCodeAction = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_CodeActionResolve = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceSymbol = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceSymbolResolve = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentCodeLens = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_CodeLensResolve = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceCodeLensRefresh = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentDocumentLink = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_DocumentLinkResolve = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentFormatting = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentRangeFormatting = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentOnTypeFormatting = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentRename = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_TextDocumentPrepareRename = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceExecuteCommand = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceApplyEdit = SMessageKind 'Request
MM.SRequest
messageKind SMethod m
SMethod_WorkspaceDidChangeWorkspaceFolders = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_WindowWorkDoneProgressCancel = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_WorkspaceDidCreateFiles = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_WorkspaceDidRenameFiles = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_WorkspaceDidDeleteFiles = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_NotebookDocumentDidOpen = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_NotebookDocumentDidChange = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_NotebookDocumentDidSave = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_NotebookDocumentDidClose = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_Initialized = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_Exit = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_WorkspaceDidChangeConfiguration = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_WindowShowMessage = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_WindowLogMessage = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_TelemetryEvent = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_TextDocumentDidOpen = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_TextDocumentDidChange = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_TextDocumentDidClose = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_TextDocumentDidSave = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_TextDocumentWillSave = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_WorkspaceDidChangeWatchedFiles = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_TextDocumentPublishDiagnostics = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_SetTrace = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_LogTrace = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_CancelRequest = SMessageKind 'Notification
MM.SNotification
messageKind SMethod m
SMethod_Progress = SMessageKind 'Notification
MM.SNotification
messageKind (SMethod_CustomMethod Proxy s
_) = forall (f :: MessageKind). SMessageKind f
MM.SBothTypes