All Downloads are FREE. Search and download functionalities are using the official Maven repository.

generated.requests.scala Maven / Gradle / Ivy

There is a newer version: 0.0.22
Show newest version
/*
 * Copyright 2022 Neandertech
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package langoustine.lsp

import langoustine.*
import upickle.default.*
import json.{*, given}
import runtime.{*, given}
// format: off

object requests:
  sealed abstract class LSPRequest(val requestMethod: String):
    type In
    type Out
  
    given inputReader: Reader[In]
    given inputWriter: Writer[In]
    given outputWriter: Writer[Out]
    given outputReader: Reader[Out]
  
  sealed abstract class LSPNotification(val notificationMethod: String):
    type In
  
    given inputReader: Reader[In]
    given inputWriter: Writer[In]
  
  object $DOLLAR:
    object cancelRequest extends LSPNotification("$/cancelRequest") with codecs.notifications_$_cancelRequest:
      type In = structures.CancelParams
      
    
    object logTrace extends LSPNotification("$/logTrace") with codecs.notifications_$_logTrace:
      type In = structures.LogTraceParams
      
    
    object progress extends LSPNotification("$/progress") with codecs.notifications_$_progress:
      type In = structures.ProgressParams
      
    
    object setTrace extends LSPNotification("$/setTrace") with codecs.notifications_$_setTrace:
      type In = structures.SetTraceParams
      
    
  object callHierarchy:
    /**
     *  A request to resolve the incoming calls for a given `CallHierarchyItem`.
     *  
     *  since 3.16.0
     */
    object incomingCalls extends LSPRequest("callHierarchy/incomingCalls") with codecs.requests_callHierarchy_incomingCalls:
      type In = structures.CallHierarchyIncomingCallsParams
      type Out = Opt[Vector[structures.CallHierarchyIncomingCall]]
      
    
    /**
     *  A request to resolve the outgoing calls for a given `CallHierarchyItem`.
     *  
     *  since 3.16.0
     */
    object outgoingCalls extends LSPRequest("callHierarchy/outgoingCalls") with codecs.requests_callHierarchy_outgoingCalls:
      type In = structures.CallHierarchyOutgoingCallsParams
      type Out = Opt[Vector[structures.CallHierarchyOutgoingCall]]
      
    
  object client:
    /**
     *  The `client/registerCapability` request is sent from the server to the client to register a new capability
     *  handler on the client side.
     */
    object registerCapability extends LSPRequest("client/registerCapability") with codecs.requests_client_registerCapability:
      type In = structures.RegistrationParams
      type Out = Null
      
    
    /**
     *  The `client/unregisterCapability` request is sent from the server to the client to unregister a previously registered capability
     *  handler on the client side.
     */
    object unregisterCapability extends LSPRequest("client/unregisterCapability") with codecs.requests_client_unregisterCapability:
      type In = structures.UnregistrationParams
      type Out = Null
      
    
  object codeAction:
    /**
     *  Request to resolve additional information for a given code action.The request's
     *  parameter is of type [CodeAction](#CodeAction) the response
     *  is of type [CodeAction](#CodeAction) or a Thenable that resolves to such.
     */
    object resolve extends LSPRequest("codeAction/resolve") with codecs.requests_codeAction_resolve:
      type In = structures.CodeAction
      type Out = structures.CodeAction
      
    
  object codeLens:
    /**
     *  A request to resolve a command for a given code lens.
     */
    object resolve extends LSPRequest("codeLens/resolve") with codecs.requests_codeLens_resolve:
      type In = structures.CodeLens
      type Out = structures.CodeLens
      
    
  object completionItem:
    /**
     *  Request to resolve additional information for a given completion item.The request's
     *  parameter is of type [CompletionItem](#CompletionItem) the response
     *  is of type [CompletionItem](#CompletionItem) or a Thenable that resolves to such.
     */
    object resolve extends LSPRequest("completionItem/resolve") with codecs.requests_completionItem_resolve:
      type In = structures.CompletionItem
      type Out = structures.CompletionItem
      
    
  object documentLink:
    /**
     *  Request to resolve additional information for a given document link. The request's
     *  parameter is of type [DocumentLink](#DocumentLink) the response
     *  is of type [DocumentLink](#DocumentLink) or a Thenable that resolves to such.
     */
    object resolve extends LSPRequest("documentLink/resolve") with codecs.requests_documentLink_resolve:
      type In = structures.DocumentLink
      type Out = structures.DocumentLink
      
    
  /**
   *  The exit event is sent from the client to the server to
   *  ask the server to exit its process.
   */
  object exit extends LSPNotification("exit") with codecs.notifications_exit:
    type In = Unit
    
  
  /**
   *  The initialize request is sent from the client to the server.
   *  It is sent once as the request after starting up the server.
   *  The requests parameter is of type [InitializeParams](#InitializeParams)
   *  the response if of type [InitializeResult](#InitializeResult) of a Thenable that
   *  resolves to such.
   */
  object initialize extends LSPRequest("initialize") with codecs.requests_initialize:
    type In = structures.InitializeParams
    type Out = structures.InitializeResult
    
  
  /**
   *  The initialized notification is sent from the client to the
   *  server after the client is fully initialized and the server
   *  is allowed to send requests from the server to the client.
   */
  object initialized extends LSPNotification("initialized") with codecs.notifications_initialized:
    type In = structures.InitializedParams
    
  
  object inlayHint:
    /**
     *  A request to resolve additional properties for an inlay hint.
     *  The request's parameter is of type [InlayHint](#InlayHint), the response is
     *  of type [InlayHint](#InlayHint) or a Thenable that resolves to such.
     *  
     *  since 3.17.0
     */
    object resolve extends LSPRequest("inlayHint/resolve") with codecs.requests_inlayHint_resolve:
      type In = structures.InlayHint
      type Out = structures.InlayHint
      
    
  object notebookDocument:
    object didChange extends LSPNotification("notebookDocument/didChange") with codecs.notifications_notebookDocument_didChange:
      type In = structures.DidChangeNotebookDocumentParams
      
    
    /**
     *  A notification sent when a notebook closes.
     *  
     *  @since 3.17.0
     */
    object didClose extends LSPNotification("notebookDocument/didClose") with codecs.notifications_notebookDocument_didClose:
      type In = structures.DidCloseNotebookDocumentParams
      
    
    /**
     *  A notification sent when a notebook opens.
     *  
     *  @since 3.17.0
     */
    object didOpen extends LSPNotification("notebookDocument/didOpen") with codecs.notifications_notebookDocument_didOpen:
      type In = structures.DidOpenNotebookDocumentParams
      
    
    /**
     *  A notification sent when a notebook document is saved.
     *  
     *  @since 3.17.0
     */
    object didSave extends LSPNotification("notebookDocument/didSave") with codecs.notifications_notebookDocument_didSave:
      type In = structures.DidSaveNotebookDocumentParams
      
    
  /**
   *  A shutdown request is sent from the client to the server.
   *  It is sent once when the client decides to shutdown the
   *  server. The only notification that is sent after a shutdown request
   *  is the exit event.
   */
  object shutdown extends LSPRequest("shutdown") with codecs.requests_shutdown:
    type In = Unit
    type Out = Null
    
  
  object telemetry:
    /**
     *  The telemetry event notification is sent from the server to the client to ask
     *  the client to log telemetry data.
     */
    object event extends LSPNotification("telemetry/event") with codecs.notifications_telemetry_event:
      type In = ujson.Value
      
    
  object textDocument:
    /**
     *  A request to provide commands for the given text document and range.
     */
    object codeAction extends LSPRequest("textDocument/codeAction") with codecs.requests_textDocument_codeAction:
      type In = structures.CodeActionParams
      type Out = Opt[Vector[(structures.Command | structures.CodeAction)]]
      
    
    /**
     *  A request to provide code lens for the given text document.
     */
    object codeLens extends LSPRequest("textDocument/codeLens") with codecs.requests_textDocument_codeLens:
      type In = structures.CodeLensParams
      type Out = Opt[Vector[structures.CodeLens]]
      
    
    /**
     *  A request to list all presentation for a color. The request's
     *  parameter is of type [ColorPresentationParams](#ColorPresentationParams) the
     *  response is of type [ColorInformation[]](#ColorInformation) or a Thenable
     *  that resolves to such.
     */
    object colorPresentation extends LSPRequest("textDocument/colorPresentation") with codecs.requests_textDocument_colorPresentation:
      type In = structures.ColorPresentationParams
      type Out = Vector[structures.ColorPresentation]
      
    
    /**
     *  Request to request completion at a given text document position. The request's
     *  parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response
     *  is of type [CompletionItem[]](#CompletionItem) or [CompletionList](#CompletionList)
     *  or a Thenable that resolves to such.
     *  
     *  The request can delay the computation of the [`detail`](#CompletionItem.detail)
     *  and [`documentation`](#CompletionItem.documentation) properties to the `completionItem/resolve`
     *  request. However, properties that are needed for the initial sorting and filtering, like `sortText`,
     *  `filterText`, `insertText`, and `textEdit`, must not be changed during resolve.
     */
    object completion extends LSPRequest("textDocument/completion") with codecs.requests_textDocument_completion:
      type In = structures.CompletionParams
      type Out = Opt[(Vector[structures.CompletionItem] | structures.CompletionList)]
      
    
    /**
     *  A request to resolve the type definition locations of a symbol at a given text
     *  document position. The request's parameter is of type [TextDocumentPositionParams]
     *  (#TextDocumentPositionParams) the response is of type [Declaration](#Declaration)
     *  or a typed array of [DeclarationLink](#DeclarationLink) or a Thenable that resolves
     *  to such.
     */
    object declaration extends LSPRequest("textDocument/declaration") with codecs.requests_textDocument_declaration:
      type In = structures.DeclarationParams
      type Out = Opt[(aliases.Declaration | Vector[aliases.DeclarationLink])]
      
    
    /**
     *  A request to resolve the definition location of a symbol at a given text
     *  document position. The request's parameter is of type [TextDocumentPosition]
     *  (#TextDocumentPosition) the response is of either type [Definition](#Definition)
     *  or a typed array of [DefinitionLink](#DefinitionLink) or a Thenable that resolves
     *  to such.
     */
    object definition extends LSPRequest("textDocument/definition") with codecs.requests_textDocument_definition:
      type In = structures.DefinitionParams
      type Out = Opt[(aliases.Definition | Vector[aliases.DefinitionLink])]
      
    
    /**
     *  The document diagnostic request definition.
     *  
     *  since 3.17.0
     */
    object diagnostic extends LSPRequest("textDocument/diagnostic") with codecs.requests_textDocument_diagnostic:
      type In = structures.DocumentDiagnosticParams
      type Out = aliases.DocumentDiagnosticReport
      
    
    /**
     *  The document change notification is sent from the client to the server to signal
     *  changes to a text document.
     */
    object didChange extends LSPNotification("textDocument/didChange") with codecs.notifications_textDocument_didChange:
      type In = structures.DidChangeTextDocumentParams
      
    
    /**
     *  The document close notification is sent from the client to the server when
     *  the document got closed in the client. The document's truth now exists where
     *  the document's uri points to (e.g. if the document's uri is a file uri the
     *  truth now exists on disk). As with the open notification the close notification
     *  is about managing the document's content. Receiving a close notification
     *  doesn't mean that the document was open in an editor before. A close
     *  notification requires a previous open notification to be sent.
     */
    object didClose extends LSPNotification("textDocument/didClose") with codecs.notifications_textDocument_didClose:
      type In = structures.DidCloseTextDocumentParams
      
    
    /**
     *  The document open notification is sent from the client to the server to signal
     *  newly opened text documents. The document's truth is now managed by the client
     *  and the server must not try to read the document's truth using the document's
     *  uri. Open in this sense means it is managed by the client. It doesn't necessarily
     *  mean that its content is presented in an editor. An open notification must not
     *  be sent more than once without a corresponding close notification send before.
     *  This means open and close notification must be balanced and the max open count
     *  is one.
     */
    object didOpen extends LSPNotification("textDocument/didOpen") with codecs.notifications_textDocument_didOpen:
      type In = structures.DidOpenTextDocumentParams
      
    
    /**
     *  The document save notification is sent from the client to the server when
     *  the document got saved in the client.
     */
    object didSave extends LSPNotification("textDocument/didSave") with codecs.notifications_textDocument_didSave:
      type In = structures.DidSaveTextDocumentParams
      
    
    /**
     *  A request to list all color symbols found in a given text document. The request's
     *  parameter is of type [DocumentColorParams](#DocumentColorParams) the
     *  response is of type [ColorInformation[]](#ColorInformation) or a Thenable
     *  that resolves to such.
     */
    object documentColor extends LSPRequest("textDocument/documentColor") with codecs.requests_textDocument_documentColor:
      type In = structures.DocumentColorParams
      type Out = Vector[structures.ColorInformation]
      
    
    /**
     *  Request to resolve a [DocumentHighlight](#DocumentHighlight) for a given
     *  text document position. The request's parameter is of type [TextDocumentPosition]
     *  (#TextDocumentPosition) the request response is of type [DocumentHighlight[]]
     *  (#DocumentHighlight) or a Thenable that resolves to such.
     */
    object documentHighlight extends LSPRequest("textDocument/documentHighlight") with codecs.requests_textDocument_documentHighlight:
      type In = structures.DocumentHighlightParams
      type Out = Opt[Vector[structures.DocumentHighlight]]
      
    
    /**
     *  A request to provide document links
     */
    object documentLink extends LSPRequest("textDocument/documentLink") with codecs.requests_textDocument_documentLink:
      type In = structures.DocumentLinkParams
      type Out = Opt[Vector[structures.DocumentLink]]
      
    
    /**
     *  A request to list all symbols found in a given text document. The request's
     *  parameter is of type [TextDocumentIdentifier](#TextDocumentIdentifier) the
     *  response is of type [SymbolInformation[]](#SymbolInformation) or a Thenable
     *  that resolves to such.
     */
    object documentSymbol extends LSPRequest("textDocument/documentSymbol") with codecs.requests_textDocument_documentSymbol:
      type In = structures.DocumentSymbolParams
      type Out = Opt[(Vector[structures.SymbolInformation] | Vector[structures.DocumentSymbol])]
      
    
    /**
     *  A request to provide folding ranges in a document. The request's
     *  parameter is of type [FoldingRangeParams](#FoldingRangeParams), the
     *  response is of type [FoldingRangeList](#FoldingRangeList) or a Thenable
     *  that resolves to such.
     */
    object foldingRange extends LSPRequest("textDocument/foldingRange") with codecs.requests_textDocument_foldingRange:
      type In = structures.FoldingRangeParams
      type Out = Opt[Vector[structures.FoldingRange]]
      
    
    /**
     *  A request to to format a whole document.
     */
    object formatting extends LSPRequest("textDocument/formatting") with codecs.requests_textDocument_formatting:
      type In = structures.DocumentFormattingParams
      type Out = Opt[Vector[structures.TextEdit]]
      
    
    /**
     *  Request to request hover information at a given text document position. The request's
     *  parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response is of
     *  type [Hover](#Hover) or a Thenable that resolves to such.
     */
    object hover extends LSPRequest("textDocument/hover") with codecs.requests_textDocument_hover:
      type In = structures.HoverParams
      type Out = Opt[structures.Hover]
      
    
    /**
     *  A request to resolve the implementation locations of a symbol at a given text
     *  document position. The request's parameter is of type [TextDocumentPositionParams]
     *  (#TextDocumentPositionParams) the response is of type [Definition](#Definition) or a
     *  Thenable that resolves to such.
     */
    object implementation extends LSPRequest("textDocument/implementation") with codecs.requests_textDocument_implementation:
      type In = structures.ImplementationParams
      type Out = Opt[(aliases.Definition | Vector[aliases.DefinitionLink])]
      
    
    /**
     *  A request to provide inlay hints in a document. The request's parameter is of
     *  type [InlayHintsParams](#InlayHintsParams), the response is of type
     *  [InlayHint[]](#InlayHint[]) or a Thenable that resolves to such.
     *  
     *  since 3.17.0
     */
    object inlayHint extends LSPRequest("textDocument/inlayHint") with codecs.requests_textDocument_inlayHint:
      type In = structures.InlayHintParams
      type Out = Opt[Vector[structures.InlayHint]]
      
    
    /**
     *  A request to provide inline values in a document. The request's parameter is of
     *  type [InlineValueParams](#InlineValueParams), the response is of type
     *  [InlineValue[]](#InlineValue[]) or a Thenable that resolves to such.
     *  
     *  since 3.17.0
     */
    object inlineValue extends LSPRequest("textDocument/inlineValue") with codecs.requests_textDocument_inlineValue:
      type In = structures.InlineValueParams
      type Out = Opt[Vector[aliases.InlineValue]]
      
    
    /**
     *  A request to provide ranges that can be edited together.
     *  
     *  since 3.16.0
     */
    object linkedEditingRange extends LSPRequest("textDocument/linkedEditingRange") with codecs.requests_textDocument_linkedEditingRange:
      type In = structures.LinkedEditingRangeParams
      type Out = Opt[structures.LinkedEditingRanges]
      
    
    /**
     *  A request to get the moniker of a symbol at a given text document position.
     *  The request parameter is of type [TextDocumentPositionParams](#TextDocumentPositionParams).
     *  The response is of type [Moniker[]](#Moniker[]) or `null`.
     */
    object moniker extends LSPRequest("textDocument/moniker") with codecs.requests_textDocument_moniker:
      type In = structures.MonikerParams
      type Out = Opt[Vector[structures.Moniker]]
      
    
    /**
     *  A request to format a document on type.
     */
    object onTypeFormatting extends LSPRequest("textDocument/onTypeFormatting") with codecs.requests_textDocument_onTypeFormatting:
      type In = structures.DocumentOnTypeFormattingParams
      type Out = Opt[Vector[structures.TextEdit]]
      
    
    /**
     *  A request to result a `CallHierarchyItem` in a document at a given position.
     *  Can be used as an input to an incoming or outgoing call hierarchy.
     *  
     *  since 3.16.0
     */
    object prepareCallHierarchy extends LSPRequest("textDocument/prepareCallHierarchy") with codecs.requests_textDocument_prepareCallHierarchy:
      type In = structures.CallHierarchyPrepareParams
      type Out = Opt[Vector[structures.CallHierarchyItem]]
      
    
    /**
     *  A request to test and perform the setup necessary for a rename.
     *  
     *  since 3.16 - support for default behavior
     */
    object prepareRename extends LSPRequest("textDocument/prepareRename") with codecs.requests_textDocument_prepareRename:
      type In = structures.PrepareRenameParams
      type Out = Opt[aliases.PrepareRenameResult]
      
    
    /**
     *  A request to result a `TypeHierarchyItem` in a document at a given position.
     *  Can be used as an input to a subtypes or supertypes type hierarchy.
     *  
     *  since 3.17.0
     */
    object prepareTypeHierarchy extends LSPRequest("textDocument/prepareTypeHierarchy") with codecs.requests_textDocument_prepareTypeHierarchy:
      type In = structures.TypeHierarchyPrepareParams
      type Out = Opt[Vector[structures.TypeHierarchyItem]]
      
    
    /**
     *  Diagnostics notification are sent from the server to the client to signal
     *  results of validation runs.
     */
    object publishDiagnostics extends LSPNotification("textDocument/publishDiagnostics") with codecs.notifications_textDocument_publishDiagnostics:
      type In = structures.PublishDiagnosticsParams
      
    
    /**
     *  A request to to format a range in a document.
     */
    object rangeFormatting extends LSPRequest("textDocument/rangeFormatting") with codecs.requests_textDocument_rangeFormatting:
      type In = structures.DocumentRangeFormattingParams
      type Out = Opt[Vector[structures.TextEdit]]
      
    
    /**
     *  A request to resolve project-wide references for the symbol denoted
     *  by the given text document position. The request's parameter is of
     *  type [ReferenceParams](#ReferenceParams) the response is of type
     *  [Location[]](#Location) or a Thenable that resolves to such.
     */
    object references extends LSPRequest("textDocument/references") with codecs.requests_textDocument_references:
      type In = structures.ReferenceParams
      type Out = Opt[Vector[structures.Location]]
      
    
    /**
     *  A request to rename a symbol.
     */
    object rename extends LSPRequest("textDocument/rename") with codecs.requests_textDocument_rename:
      type In = structures.RenameParams
      type Out = Opt[structures.WorkspaceEdit]
      
    
    /**
     *  A request to provide selection ranges in a document. The request's
     *  parameter is of type [SelectionRangeParams](#SelectionRangeParams), the
     *  response is of type [SelectionRange[]](#SelectionRange[]) or a Thenable
     *  that resolves to such.
     */
    object selectionRange extends LSPRequest("textDocument/selectionRange") with codecs.requests_textDocument_selectionRange:
      type In = structures.SelectionRangeParams
      type Out = Opt[Vector[structures.SelectionRange]]
      
    
    object semanticTokens:
      /**
       *  since 3.16.0
       */
      object full extends LSPRequest("textDocument/semanticTokens/full") with codecs.requests_textDocument_semanticTokens_full:
        type In = structures.SemanticTokensParams
        type Out = Opt[structures.SemanticTokens]
        
      
        /**
         *  since 3.16.0
         */
        object delta extends LSPRequest("textDocument/semanticTokens/full/delta") with codecs.requests_textDocument_semanticTokens_full_delta:
          type In = structures.SemanticTokensDeltaParams
          type Out = Opt[(structures.SemanticTokens | structures.SemanticTokensDelta)]
          
        
      /**
       *  since 3.16.0
       */
      object range extends LSPRequest("textDocument/semanticTokens/range") with codecs.requests_textDocument_semanticTokens_range:
        type In = structures.SemanticTokensRangeParams
        type Out = Opt[structures.SemanticTokens]
        
      
    object signatureHelp extends LSPRequest("textDocument/signatureHelp") with codecs.requests_textDocument_signatureHelp:
      type In = structures.SignatureHelpParams
      type Out = Opt[structures.SignatureHelp]
      
    
    /**
     *  A request to resolve the type definition locations of a symbol at a given text
     *  document position. The request's parameter is of type [TextDocumentPositionParams]
     *  (#TextDocumentPositionParams) the response is of type [Definition](#Definition) or a
     *  Thenable that resolves to such.
     */
    object typeDefinition extends LSPRequest("textDocument/typeDefinition") with codecs.requests_textDocument_typeDefinition:
      type In = structures.TypeDefinitionParams
      type Out = Opt[(aliases.Definition | Vector[aliases.DefinitionLink])]
      
    
    /**
     *  A document will save notification is sent from the client to the server before
     *  the document is actually saved.
     */
    object willSave extends LSPNotification("textDocument/willSave") with codecs.notifications_textDocument_willSave:
      type In = structures.WillSaveTextDocumentParams
      
    
    /**
     *  A document will save request is sent from the client to the server before
     *  the document is actually saved. The request can return an array of TextEdits
     *  which will be applied to the text document before it is saved. Please note that
     *  clients might drop results if computing the text edits took too long or if a
     *  server constantly fails on this request. This is done to keep the save fast and
     *  reliable.
     */
    object willSaveWaitUntil extends LSPRequest("textDocument/willSaveWaitUntil") with codecs.requests_textDocument_willSaveWaitUntil:
      type In = structures.WillSaveTextDocumentParams
      type Out = Opt[Vector[structures.TextEdit]]
      
    
  object typeHierarchy:
    /**
     *  A request to resolve the subtypes for a given `TypeHierarchyItem`.
     *  
     *  since 3.17.0
     */
    object subtypes extends LSPRequest("typeHierarchy/subtypes") with codecs.requests_typeHierarchy_subtypes:
      type In = structures.TypeHierarchySubtypesParams
      type Out = Opt[Vector[structures.TypeHierarchyItem]]
      
    
    /**
     *  A request to resolve the supertypes for a given `TypeHierarchyItem`.
     *  
     *  since 3.17.0
     */
    object supertypes extends LSPRequest("typeHierarchy/supertypes") with codecs.requests_typeHierarchy_supertypes:
      type In = structures.TypeHierarchySupertypesParams
      type Out = Opt[Vector[structures.TypeHierarchyItem]]
      
    
  object window:
    /**
     *  The log message notification is sent from the server to the client to ask
     *  the client to log a particular message.
     */
    object logMessage extends LSPNotification("window/logMessage") with codecs.notifications_window_logMessage:
      type In = structures.LogMessageParams
      
    
    /**
     *  A request to show a document. This request might open an
     *  external program depending on the value of the URI to open.
     *  For example a request to open `https://code.visualstudio.com/`
     *  will very likely open the URI in a WEB browser.
     *  
     *  since 3.16.0
     */
    object showDocument extends LSPRequest("window/showDocument") with codecs.requests_window_showDocument:
      type In = structures.ShowDocumentParams
      type Out = structures.ShowDocumentResult
      
    
    /**
     *  The show message notification is sent from a server to a client to ask
     *  the client to display a particular message in the user interface.
     */
    object showMessage extends LSPNotification("window/showMessage") with codecs.notifications_window_showMessage:
      type In = structures.ShowMessageParams
      
    
    /**
     *  The show message request is sent from the server to the client to show a message
     *  and a set of options actions to the user.
     */
    object showMessageRequest extends LSPRequest("window/showMessageRequest") with codecs.requests_window_showMessageRequest:
      type In = structures.ShowMessageRequestParams
      type Out = Opt[structures.MessageActionItem]
      
    
    object workDoneProgress:
      /**
       *  The `window/workDoneProgress/cancel` notification is sent from  the client to the server to cancel a progress
       *  initiated on the server side.
       */
      object cancel extends LSPNotification("window/workDoneProgress/cancel") with codecs.notifications_window_workDoneProgress_cancel:
        type In = structures.WorkDoneProgressCancelParams
        
      
      /**
       *  The `window/workDoneProgress/create` request is sent from the server to the client to initiate progress
       *  reporting from the server.
       */
      object create extends LSPRequest("window/workDoneProgress/create") with codecs.requests_window_workDoneProgress_create:
        type In = structures.WorkDoneProgressCreateParams
        type Out = Null
        
      
  object workspace:
    /**
     *  A request sent from the server to the client to modified certain resources.
     */
    object applyEdit extends LSPRequest("workspace/applyEdit") with codecs.requests_workspace_applyEdit:
      type In = structures.ApplyWorkspaceEditParams
      type Out = structures.ApplyWorkspaceEditResult
      
    
    object codeLens:
      /**
       *  A request to refresh all code actions
       *  
       *  since 3.16.0
       */
      object refresh extends LSPRequest("workspace/codeLens/refresh") with codecs.requests_workspace_codeLens_refresh:
        type In = Unit
        type Out = Null
        
      
    /**
     *  The 'workspace/configuration' request is sent from the server to the client to fetch a certain
     *  configuration setting.
     *  
     *  This pull model replaces the old push model were the client signaled configuration change via an
     *  event. If the server still needs to react to configuration changes (since the server caches the
     *  result of `workspace/configuration` requests) the server should register for an empty configuration
     *  change event and empty the cache if such an event is received.
     */
    object configuration extends LSPRequest("workspace/configuration") with codecs.requests_workspace_configuration:
      type In = WorkspaceConfigurationInput
      type Out = Vector[ujson.Value]
      
      /**
       *  @param items
       *  @param partialResultToken
       *    An optional token that a server can use to report partial results (e.g. streaming) to
       *    the client.
      
       */
      case class WorkspaceConfigurationInput(
        items: Vector[structures.ConfigurationItem],
        partialResultToken: Opt[aliases.ProgressToken] = Opt.empty
      )
      object WorkspaceConfigurationInput extends codecs.requests_workspace_configuration_WorkspaceConfigurationInput
    
    /**
     *  The workspace diagnostic request definition.
     *  
     *  since 3.17.0
     */
    object diagnostic extends LSPRequest("workspace/diagnostic") with codecs.requests_workspace_diagnostic:
      type In = structures.WorkspaceDiagnosticParams
      type Out = structures.WorkspaceDiagnosticReport
      
    
      /**
       *  The diagnostic refresh request definition.
       *  
       *  since 3.17.0
       */
      object refresh extends LSPRequest("workspace/diagnostic/refresh") with codecs.requests_workspace_diagnostic_refresh:
        type In = Unit
        type Out = Null
        
      
    /**
     *  The configuration change notification is sent from the client to the server
     *  when the client's configuration has changed. The notification contains
     *  the changed configuration as defined by the language client.
     */
    object didChangeConfiguration extends LSPNotification("workspace/didChangeConfiguration") with codecs.notifications_workspace_didChangeConfiguration:
      type In = structures.DidChangeConfigurationParams
      
    
    /**
     *  The watched files notification is sent from the client to the server when
     *  the client detects changes to file watched by the language client.
     */
    object didChangeWatchedFiles extends LSPNotification("workspace/didChangeWatchedFiles") with codecs.notifications_workspace_didChangeWatchedFiles:
      type In = structures.DidChangeWatchedFilesParams
      
    
    /**
     *  The `workspace/didChangeWorkspaceFolders` notification is sent from the client to the server when the workspace
     *  folder configuration changes.
     */
    object didChangeWorkspaceFolders extends LSPNotification("workspace/didChangeWorkspaceFolders") with codecs.notifications_workspace_didChangeWorkspaceFolders:
      type In = structures.DidChangeWorkspaceFoldersParams
      
    
    /**
     *  The did create files notification is sent from the client to the server when
     *  files were created from within the client.
     *  
     *  @since 3.16.0
     */
    object didCreateFiles extends LSPNotification("workspace/didCreateFiles") with codecs.notifications_workspace_didCreateFiles:
      type In = structures.CreateFilesParams
      
    
    /**
     *  The will delete files request is sent from the client to the server before files are actually
     *  deleted as long as the deletion is triggered from within the client.
     *  
     *  @since 3.16.0
     */
    object didDeleteFiles extends LSPNotification("workspace/didDeleteFiles") with codecs.notifications_workspace_didDeleteFiles:
      type In = structures.DeleteFilesParams
      
    
    /**
     *  The did rename files notification is sent from the client to the server when
     *  files were renamed from within the client.
     *  
     *  @since 3.16.0
     */
    object didRenameFiles extends LSPNotification("workspace/didRenameFiles") with codecs.notifications_workspace_didRenameFiles:
      type In = structures.RenameFilesParams
      
    
    /**
     *  A request send from the client to the server to execute a command. The request might return
     *  a workspace edit which the client will apply to the workspace.
     */
    object executeCommand extends LSPRequest("workspace/executeCommand") with codecs.requests_workspace_executeCommand:
      type In = structures.ExecuteCommandParams
      type Out = Opt[ujson.Value]
      
    
    object inlayHint:
      /**
       *  since 3.17.0
       */
      object refresh extends LSPRequest("workspace/inlayHint/refresh") with codecs.requests_workspace_inlayHint_refresh:
        type In = Unit
        type Out = Null
        
      
    object inlineValue:
      /**
       *  since 3.17.0
       */
      object refresh extends LSPRequest("workspace/inlineValue/refresh") with codecs.requests_workspace_inlineValue_refresh:
        type In = Unit
        type Out = Null
        
      
    object semanticTokens:
      /**
       *  since 3.16.0
       */
      object refresh extends LSPRequest("workspace/semanticTokens/refresh") with codecs.requests_workspace_semanticTokens_refresh:
        type In = Unit
        type Out = Null
        
      
    /**
     *  A request to list project-wide symbols matching the query string given
     *  by the [WorkspaceSymbolParams](#WorkspaceSymbolParams). The response is
     *  of type [SymbolInformation[]](#SymbolInformation) or a Thenable that
     *  resolves to such.
     *  
     *  since 3.17.0 - support for WorkspaceSymbol in the returned data. Clients
     *   need to advertise support for WorkspaceSymbols via the client capability
     *   `workspace.symbol.resolveSupport`.
     */
    object symbol extends LSPRequest("workspace/symbol") with codecs.requests_workspace_symbol:
      type In = structures.WorkspaceSymbolParams
      type Out = Opt[(Vector[structures.SymbolInformation] | Vector[structures.WorkspaceSymbol])]
      
    
    /**
     *  The will create files request is sent from the client to the server before files are actually
     *  created as long as the creation is triggered from within the client.
     *  
     *  since 3.16.0
     */
    object willCreateFiles extends LSPRequest("workspace/willCreateFiles") with codecs.requests_workspace_willCreateFiles:
      type In = structures.CreateFilesParams
      type Out = Opt[structures.WorkspaceEdit]
      
    
    /**
     *  The did delete files notification is sent from the client to the server when
     *  files were deleted from within the client.
     *  
     *  since 3.16.0
     */
    object willDeleteFiles extends LSPRequest("workspace/willDeleteFiles") with codecs.requests_workspace_willDeleteFiles:
      type In = structures.DeleteFilesParams
      type Out = Opt[structures.WorkspaceEdit]
      
    
    /**
     *  The will rename files request is sent from the client to the server before files are actually
     *  renamed as long as the rename is triggered from within the client.
     *  
     *  since 3.16.0
     */
    object willRenameFiles extends LSPRequest("workspace/willRenameFiles") with codecs.requests_workspace_willRenameFiles:
      type In = structures.RenameFilesParams
      type Out = Opt[structures.WorkspaceEdit]
      
    
    /**
     *  The `workspace/workspaceFolders` is sent from the server to the client to fetch the open workspace folders.
     */
    object workspaceFolders extends LSPRequest("workspace/workspaceFolders") with codecs.requests_workspace_workspaceFolders:
      type In = Unit
      type Out = Opt[Vector[structures.WorkspaceFolder]]
      
    
  object workspaceSymbol:
    /**
     *  A request to resolve the range inside the workspace
     *  symbol's location.
     *  
     *  since 3.17.0
     */
    object resolve extends LSPRequest("workspaceSymbol/resolve") with codecs.requests_workspaceSymbol_resolve:
      type In = structures.WorkspaceSymbol
      type Out = structures.WorkspaceSymbol
      
    




© 2015 - 2024 Weber Informatics LLC | Privacy Policy