Documentation ¶
Index ¶
- type AnnotatedTextEdit
- type ApplyWorkspaceEditParams
- type ApplyWorkspaceEditRequest
- type ApplyWorkspaceEditResponse
- type ApplyWorkspaceEditResult
- type CallHierarchyClientCapabilities
- type CallHierarchyIncomingCall
- type CallHierarchyIncomingCallsParams
- type CallHierarchyItem
- type CallHierarchyOptions
- type CallHierarchyOutgoingCall
- type CallHierarchyOutgoingCallsParams
- type CallHierarchyPrepareParams
- type CallHierarchyRegistrationOptions
- type ChangeAnnotation
- type ChangeAnnotationIdentifier
- type ClientCapabilities
- type ClientCapabilities_
- type CodeAction
- type CodeActionClientCapabilities
- type CodeActionContext
- type CodeActionKind
- type CodeActionOptions
- type CodeActionParams
- type CodeActionRegistrationOptions
- type CodeActionRequest
- type CodeActionResolveRequest
- type CodeDescription
- type CodeLens
- type CodeLensClientCapabilities
- type CodeLensOptions
- type CodeLensParams
- type CodeLensRefreshRequest
- type CodeLensRegistrationOptions
- type CodeLensRequest
- type CodeLensResolveRequest
- type CodeLensWorkspaceClientCapabilities
- type Color
- type ColorInformation
- type ColorPresentation
- type ColorPresentationParams
- type Command
- type CompletionClientCapabilities
- type CompletionContext
- type CompletionItem
- type CompletionItemKind
- type CompletionItemLabelDetails
- type CompletionItemTag
- type CompletionList
- type CompletionOptions
- type CompletionParams
- type CompletionRegistrationOptions
- type CompletionRequest
- type CompletionResolveRequest
- type CompletionTriggerKind
- type ConfigurationClientCapabilities
- type ConfigurationItem
- type ConfigurationParams
- type CreateFile
- type CreateFileOptions
- type CreateFilesParams
- type DeclarationClientCapabilities
- type DeclarationLink
- type DeclarationOptions
- type DeclarationParams
- type DeclarationRegistrationOptions
- type DefinitionClientCapabilities
- type DefinitionLink
- type DefinitionOptions
- type DefinitionParams
- type DefinitionRegistrationOptions
- type DefinitionRequest
- type DeleteFile
- type DeleteFileOptions
- type DeleteFilesParams
- type Diagnostic
- type DiagnosticClientCapabilities
- type DiagnosticOptions
- type DiagnosticRegistrationOptions
- type DiagnosticRelatedInformation
- type DiagnosticServerCancellationData
- type DiagnosticSeverity
- type DiagnosticTag
- type DidChangeConfigurationClientCapabilities
- type DidChangeConfigurationNotification
- type DidChangeConfigurationParams
- type DidChangeConfigurationRegistrationOptions
- type DidChangeTextDocumentNotification
- type DidChangeTextDocumentParams
- type DidChangeWatchedFilesClientCapabilities
- type DidChangeWatchedFilesNotification
- type DidChangeWatchedFilesParams
- type DidChangeWatchedFilesRegistrationOptions
- type DidChangeWorkspaceFoldersParams
- type DidCloseTextDocumentNotification
- type DidCloseTextDocumentParams
- type DidOpenTextDocumentNotification
- type DidOpenTextDocumentParams
- type DidSaveTextDocumentNotification
- type DidSaveTextDocumentParams
- type DocumentColorClientCapabilities
- type DocumentColorOptions
- type DocumentColorParams
- type DocumentColorRegistrationOptions
- type DocumentDiagnosticParams
- type DocumentDiagnosticReportKind
- type DocumentFormattingClientCapabilities
- type DocumentFormattingOptions
- type DocumentFormattingParams
- type DocumentFormattingRegistrationOptions
- type DocumentFormattingRequest
- type DocumentHighlight
- type DocumentHighlightClientCapabilities
- type DocumentHighlightKind
- type DocumentHighlightOptions
- type DocumentHighlightParams
- type DocumentHighlightRegistrationOptions
- type DocumentHighlightRequest
- type DocumentLink
- type DocumentLinkClientCapabilities
- type DocumentLinkOptions
- type DocumentLinkParams
- type DocumentLinkRegistrationOptions
- type DocumentLinkRequest
- type DocumentLinkResolveRequest
- type DocumentOnTypeFormattingClientCapabilities
- type DocumentOnTypeFormattingOptions
- type DocumentOnTypeFormattingParams
- type DocumentOnTypeFormattingRegistrationOptions
- type DocumentOnTypeFormattingRequest
- type DocumentRangeFormattingClientCapabilities
- type DocumentRangeFormattingOptions
- type DocumentRangeFormattingParams
- type DocumentRangeFormattingRegistrationOptions
- type DocumentRangeFormattingRequest
- type DocumentSymbol
- type DocumentSymbolClientCapabilities
- type DocumentSymbolOptions
- type DocumentSymbolParams
- type DocumentSymbolRegistrationOptions
- type DocumentSymbolRequest
- type DocumentUri
- type ExecuteCommandClientCapabilities
- type ExecuteCommandOptions
- type ExecuteCommandParams
- type ExecuteCommandRegistrationOptions
- type ExecuteCommandRequest
- type ExitNotification
- type FailureHandlingKind
- type FileChangeType
- type FileCreate
- type FileDelete
- type FileEvent
- type FileOperationClientCapabilities
- type FileOperationFilter
- type FileOperationOptions
- type FileOperationPattern
- type FileOperationPatternKind
- type FileOperationPatternOptions
- type FileOperationRegistrationOptions
- type FileRename
- type FileSystemWatcher
- type FoldingRange
- type FoldingRangeClientCapabilities
- type FoldingRangeKind
- type FoldingRangeOptions
- type FoldingRangeParams
- type FoldingRangeRegistrationOptions
- type FormattingOptions
- type FullDocumentDiagnosticReport
- type GeneralClientCapabilities
- type Hover
- type HoverClientCapabilities
- type HoverOptions
- type HoverParams
- type HoverRegistrationOptions
- type HoverRequest
- type ImplementationClientCapabilities
- type ImplementationOptions
- type ImplementationParams
- type ImplementationRegistrationOptions
- type InitializeError
- type InitializeErrorCode
- type InitializeParams
- type InitializeParams_
- type InitializeRequest
- type InitializeResult
- type InitializedNotification
- type InlineValueEvaluatableExpression
- type InlineValueText
- type InlineValueVariableLookup
- type InlineValuesClientCapabilities
- type InlineValuesContext
- type InlineValuesOptions
- type InlineValuesParams
- type InlineValuesRegistrationOptions
- type InlineValuesWorkspaceClientCapabilities
- type InsertReplaceEdit
- type InsertTextFormat
- type InsertTextMode
- type LSPErrorCodes
- type LinkedEditingRangeClientCapabilities
- type LinkedEditingRangeOptions
- type LinkedEditingRangeParams
- type LinkedEditingRangeRegistrationOptions
- type LinkedEditingRanges
- type Location
- type LocationLink
- type LogMessageNotification
- type LogMessageParams
- type MarkdownClientCapabilities
- type MarkupContent
- type MarkupKind
- type MessageActionItem
- type MessageType
- type Moniker
- type MonikerClientCapabilities
- type MonikerKind
- type MonikerOptions
- type MonikerParams
- type MonikerRegistrationOptions
- type MonikerRequest
- type NoParams
- type OptionalVersionedTextDocumentIdentifier
- type ParameterInformation
- type PartialResultParams
- type Position
- type PrepareRenameParams
- type PrepareRenameRequest
- type PrepareSupportDefaultBehavior
- type PreviousResultId
- type ProgressToken
- type PublishDiagnosticsClientCapabilities
- type PublishDiagnosticsNotification
- type PublishDiagnosticsParams
- type Range
- type ReferenceClientCapabilities
- type ReferenceContext
- type ReferenceOptions
- type ReferenceParams
- type ReferenceRegistrationOptions
- type ReferencesRequest
- type Registration
- type RegistrationParams
- type RegistrationRequest
- type RegularExpressionsClientCapabilities
- type RenameClientCapabilities
- type RenameFile
- type RenameFileOptions
- type RenameFilesParams
- type RenameOptions
- type RenameParams
- type RenameRegistrationOptions
- type RenameRequest
- type ResourceOperation
- type ResourceOperationKind
- type SaveOptions
- type SelectionRange
- type SelectionRangeClientCapabilities
- type SelectionRangeOptions
- type SelectionRangeParams
- type SelectionRangeRegistrationOptions
- type SemanticTokenModifiers
- type SemanticTokenTypes
- type SemanticTokens
- type SemanticTokensClientCapabilities
- type SemanticTokensDelta
- type SemanticTokensDeltaParams
- type SemanticTokensDeltaPartialResult
- type SemanticTokensEdit
- type SemanticTokensLegend
- type SemanticTokensOptions
- type SemanticTokensParams
- type SemanticTokensPartialResult
- type SemanticTokensRangeParams
- type SemanticTokensRegistrationOptions
- type SemanticTokensRegistrationType
- type SemanticTokensWorkspaceClientCapabilities
- type ServerCapabilities
- type ServerCapabilities_
- type ShowDocumentClientCapabilities
- type ShowDocumentParams
- type ShowDocumentResult
- type ShowMessageNotification
- type ShowMessageParams
- type ShowMessageRequest
- type ShowMessageRequestClientCapabilities
- type ShowMessageRequestParams
- type ShutdownRequest
- type SignatureHelp
- type SignatureHelpClientCapabilities
- type SignatureHelpContext
- type SignatureHelpOptions
- type SignatureHelpParams
- type SignatureHelpRegistrationOptions
- type SignatureHelpRequest
- type SignatureHelpTriggerKind
- type SignatureInformation
- type StaticRegistrationOptions
- type SymbolInformation
- type SymbolKind
- type SymbolTag
- type TelemetryEventNotification
- type TextDocument
- type TextDocumentChangeRegistrationOptions
- type TextDocumentClientCapabilities
- type TextDocumentContentChangeEvent
- type TextDocumentEdit
- type TextDocumentIdentifier
- type TextDocumentItem
- type TextDocumentPositionParams
- type TextDocumentRegistrationOptions
- type TextDocumentSaveReason
- type TextDocumentSaveRegistrationOptions
- type TextDocumentSyncClientCapabilities
- type TextDocumentSyncKind
- type TextDocumentSyncOptions
- type TextEdit
- type TokenFormat
- type TypeDefinitionClientCapabilities
- type TypeDefinitionOptions
- type TypeDefinitionParams
- type TypeDefinitionRegistrationOptions
- type TypeHierarchyClientCapabilities
- type TypeHierarchyItem
- type TypeHierarchyOptions
- type TypeHierarchyPrepareParams
- type TypeHierarchyRegistrationOptions
- type TypeHierarchySubtypesParams
- type TypeHierarchySupertypesParams
- type URI
- type UnchangedDocumentDiagnosticReport
- type UniquenessLevel
- type Unregistration
- type UnregistrationParams
- type UnregistrationRequest
- type VersionedTextDocumentIdentifier
- type WatchKind
- type WillSaveTextDocumentNotification
- type WillSaveTextDocumentParams
- type WillSaveTextDocumentWaitUntilRequest
- type WindowClientCapabilities
- type WorkDoneProgressBegin
- type WorkDoneProgressCancelParams
- type WorkDoneProgressCreateParams
- type WorkDoneProgressEnd
- type WorkDoneProgressOptions
- type WorkDoneProgressParams
- type WorkDoneProgressReport
- type WorkspaceClientCapabilities
- type WorkspaceDiagnosticParams
- type WorkspaceDiagnosticReport
- type WorkspaceDiagnosticReportPartialResult
- type WorkspaceDocumentDiagnosticReport
- type WorkspaceEdit
- type WorkspaceEditClientCapabilities
- type WorkspaceFolder
- type WorkspaceFoldersChangeEvent
- type WorkspaceFoldersInitializeParams
- type WorkspaceFoldersServerCapabilities
- type WorkspaceFullDocumentDiagnosticReport
- type WorkspaceSymbolClientCapabilities
- type WorkspaceSymbolOptions
- type WorkspaceSymbolParams
- type WorkspaceSymbolRegistrationOptions
- type WorkspaceSymbolRequest
- type WorkspaceUnchangedDocumentDiagnosticReport
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnnotatedTextEdit ¶
type AnnotatedTextEdit struct { TextEdit // The actual identifier of the change annotation AnnotationId ChangeAnnotationIdentifier `json:"annotationId,omitempty"` }
*
- A special text edit with an additional change annotation. *
- @since 3.16.0.
type ApplyWorkspaceEditParams ¶
type ApplyWorkspaceEditParams struct { // An optional label of the workspace edit. This label is // presented in the user interface for example on an undo // stack to undo the workspace edit. Label *string `json:"label,omitempty"` // The edits to apply. Edit WorkspaceEdit `json:"edit,omitempty"` }
*
- The parameters passed via a apply workspace edit request.
type ApplyWorkspaceEditRequest ¶
type ApplyWorkspaceEditRequest string
*
- A request sent from the server to the client to modified certain resources.
const (
ApplyWorkspaceEditRequestType ApplyWorkspaceEditRequest = "new ProtocolRequestType<ApplyWorkspaceEditParams, ApplyWorkspaceEditResult, never, void, void>('workspace/applyEdit')"
)
type ApplyWorkspaceEditResponse ¶
type ApplyWorkspaceEditResponse ApplyWorkspaceEditResult
*
- @deprecated Use ApplyWorkspaceEditResult instead.
type ApplyWorkspaceEditResult ¶
type ApplyWorkspaceEditResult struct { // Indicates whether the edit was applied or not. Applied bool `json:"applied,omitempty"` // An optional textual description for why the edit was not applied. // This may be used by the server for diagnostic logging or to provide // a suitable error for a request that triggered the edit. FailureReason *string `json:"failureReason,omitempty"` // Depending on the client's failure handling strategy `failedChange` might // contain the index of the change that failed. This property is only available // if the client signals a `failureHandlingStrategy` in its client capabilities. FailedChange *uint `json:"failedChange,omitempty"` }
*
- The result returned from the apply workspace edit request. *
- @since 3.17 renamed from ApplyWorkspaceEditResponse
type CallHierarchyClientCapabilities ¶
type CallHierarchyClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` // return value for the corresponding server capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- @since 3.16.0
type CallHierarchyIncomingCall ¶
type CallHierarchyIncomingCall struct { // The item that makes the call. From CallHierarchyItem `json:"from,omitempty"` // The ranges at which the calls appear. This is relative to the caller // denoted by [`this.from`](#CallHierarchyIncomingCall.from). FromRanges []Range `json:"fromRanges,omitempty"` }
*
- Represents an incoming call, e.g. a caller of a method or constructor. *
- @since 3.16.0
type CallHierarchyIncomingCallsParams ¶
type CallHierarchyIncomingCallsParams struct { WorkDoneProgressParams PartialResultParams Item CallHierarchyItem `json:"item,omitempty"` }
*
- The parameter of a `callHierarchy/incomingCalls` request. *
- @since 3.16.0
type CallHierarchyItem ¶
type CallHierarchyItem struct { // The name of this item. Name string `json:"name,omitempty"` // The kind of this item. Kind SymbolKind `json:"kind,omitempty"` // Tags for this item. Tags *[]SymbolTag `json:"tags,omitempty"` // More detail for this item, e.g. the signature of a function. Detail *string `json:"detail,omitempty"` // The resource identifier of this item. Uri DocumentUri `json:"uri,omitempty"` // The range enclosing this symbol not including leadingtrailing whitespace but everything else, e.g. comments and code. Range Range `json:"range,omitempty"` // The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function. // Must be contained by the [`range`](#CallHierarchyItem.range). SelectionRange Range `json:"selectionRange,omitempty"` // A data entry field that is preserved between a call hierarchy prepare and // incoming calls or outgoing calls requests. Data interface{} `json:"data,omitempty"` }
*
- Represents programming constructs like functions or constructors in the context
- of call hierarchy. *
- @since 3.16.0
type CallHierarchyOptions ¶
type CallHierarchyOptions struct {
WorkDoneProgressOptions
}
*
- Call hierarchy options used during static registration. *
- @since 3.16.0
type CallHierarchyOutgoingCall ¶
type CallHierarchyOutgoingCall struct { // The item that is called. To CallHierarchyItem `json:"to,omitempty"` // The range at which this item is called. This is the range relative to the caller, e.g the item // passed to [`provideCallHierarchyOutgoingCalls`](#CallHierarchyItemProvider.provideCallHierarchyOutgoingCalls) // and not [`this.to`](#CallHierarchyOutgoingCall.to). FromRanges []Range `json:"fromRanges,omitempty"` }
*
- Represents an outgoing call, e.g. calling a getter from a method or a method from a constructor etc. *
- @since 3.16.0
type CallHierarchyOutgoingCallsParams ¶
type CallHierarchyOutgoingCallsParams struct { WorkDoneProgressParams PartialResultParams Item CallHierarchyItem `json:"item,omitempty"` }
*
- The parameter of a `callHierarchy/outgoingCalls` request. *
- @since 3.16.0
type CallHierarchyPrepareParams ¶
type CallHierarchyPrepareParams struct { TextDocumentPositionParams WorkDoneProgressParams }
*
- The parameter of a `textDocument/prepareCallHierarchy` request. *
- @since 3.16.0
type CallHierarchyRegistrationOptions ¶
type CallHierarchyRegistrationOptions struct { TextDocumentRegistrationOptions CallHierarchyOptions StaticRegistrationOptions }
*
- Call hierarchy options used during static or dynamic registration. *
- @since 3.16.0
type ChangeAnnotation ¶
type ChangeAnnotation struct { // A human-readable string describing the actual change. The string // is rendered prominent in the user interface. Label string `json:"label,omitempty"` // A flag which indicates that user confirmation is needed // before applying the change. NeedsConfirmation *bool `json:"needsConfirmation,omitempty"` // A human-readable string which is rendered less prominent in // the user interface. Description *string `json:"description,omitempty"` }
*
- Additional information that describes document changes. *
- @since 3.16.0
type ChangeAnnotationIdentifier ¶
type ChangeAnnotationIdentifier string
*
- An identifier to refer to a change annotation stored with a workspace edit.
type ClientCapabilities ¶
type ClientCapabilities struct {
ClientCapabilities_
}
type ClientCapabilities_ ¶
type ClientCapabilities_ struct { // Workspace specific client capabilities. Workspace *WorkspaceClientCapabilities `json:"workspace,omitempty"` // Text document specific client capabilities. TextDocument *TextDocumentClientCapabilities `json:"textDocument,omitempty"` // Window specific client capabilities. Window *WindowClientCapabilities `json:"window,omitempty"` // General client capabilities. // // @since 3.16.0 General *GeneralClientCapabilities `json:"general,omitempty"` // Experimental client capabilities. Experimental interface{} `json:"experimental,omitempty"` }
*
- Defines the capabilities provided by the client.
type CodeAction ¶
type CodeAction struct { // A short, human-readable, title for this code action. Title string `json:"title,omitempty"` // The kind of the code action. // // Used to filter code actions. Kind *CodeActionKind `json:"kind,omitempty"` // The diagnostics that this code action resolves. Diagnostics *[]Diagnostic `json:"diagnostics,omitempty"` // Marks this as a preferred action. Preferred actions are used by the `auto fix` command and can be targeted // by keybindings. // // A quick fix should be marked preferred if it properly addresses the underlying error. // A refactoring should be marked preferred if it is the most reasonable choice of actions to take. // // @since 3.15.0 IsPreferred *bool `json:"isPreferred,omitempty"` // Marks that the code action cannot currently be applied. // // Clients should follow the following guidelines regarding disabled code actions: // // - Disabled code actions are not shown in automatic [lightbulb](https:code.visualstudio.comdocseditoreditingevolved#_code-action) // code action menu. // // - Disabled actions are shown as faded out in the code action menu when the user request a more specific type // of code action, such as refactorings. // // - If the user has a [keybinding](https:code.visualstudio.comdocseditorrefactoring#_keybindings-for-code-actions) // that auto applies a code action and only a disabled code actions are returned, the client should show the user an // error message with `reason` in the editor. // // @since 3.16.0 Disabled *struct { // Human readable description of why the code action is currently disabled. // // This is displayed in the code actions UI. Reason string `json:"reason,omitempty"` } `json:"disabled,omitempty"` // The workspace edit this code action performs. Edit *WorkspaceEdit `json:"edit,omitempty"` // A command this code action executes. If a code action // provides a edit and a command, first the edit is // executed and then the command. Command *Command `json:"command,omitempty"` // A data entry field that is preserved on a code action between // a `textDocumentcodeAction` and a `codeActionresolve` request. // // @since 3.16.0 Data interface{} `json:"data,omitempty"` }
*
- A code action represents a change that can be performed in code, e.g. to fix a problem or
- to refactor code. *
- A CodeAction must set either `edit` and/or a `command`. If both are supplied, the `edit` is applied first, then the `command` is executed.
type CodeActionClientCapabilities ¶
type CodeActionClientCapabilities struct { // Whether code action supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // The client support code action literals of type `CodeAction` as a valid // response of the `textDocumentcodeAction` request. If the property is not // set the request can only return `Command` literals. // // @since 3.8.0 CodeActionLiteralSupport *struct { // The code action kind is support with the following value // set. CodeActionKind struct { // The code action kind values the client supports. When this // property exists the client also guarantees that it will // handle values outside its set gracefully and falls back // to a default value when unknown. ValueSet []CodeActionKind `json:"valueSet,omitempty"` } `json:"codeActionKind,omitempty"` } `json:"codeActionLiteralSupport,omitempty"` // Whether code action supports the `isPreferred` property. // // @since 3.15.0 IsPreferredSupport *bool `json:"isPreferredSupport,omitempty"` // Whether code action supports the `disabled` property. // // @since 3.16.0 DisabledSupport *bool `json:"disabledSupport,omitempty"` // Whether code action supports the `data` property which is // preserved between a `textDocumentcodeAction` and a // `codeActionresolve` request. // // @since 3.16.0 DataSupport *bool `json:"dataSupport,omitempty"` // Whether the client support resolving additional code action // properties via a separate `codeActionresolve` request. // // @since 3.16.0 ResolveSupport *struct { // The properties that a client can resolve lazily. Properties []string `json:"properties,omitempty"` } `json:"resolveSupport,omitempty"` // Whether th client honors the change annotations in // text edits and resource operations returned via the // `CodeAction#edit` property by for example presenting // the workspace edit in the user interface and asking // for confirmation. // // @since 3.16.0 HonorsChangeAnnotations *bool `json:"honorsChangeAnnotations,omitempty"` }
*
- The Client Capabilities of a CodeActionRequest(#CodeActionRequest).
type CodeActionContext ¶
type CodeActionContext struct { // An array of diagnostics known on the client side overlapping the range provided to the // `textDocumentcodeAction` request. They are provided so that the server knows which // errors are currently presented to the user for the given range. There is no guarantee // that these accurately reflect the error state of the resource. The primary parameter // to compute code actions is the provided range. Diagnostics []Diagnostic `json:"diagnostics,omitempty"` // Requested kind of actions to return. // // Actions not of this kind are filtered out by the client before being shown. So servers // can omit computing them. Only *[]CodeActionKind `json:"only,omitempty"` }
*
- Contains additional diagnostic information about the context in which
- a [code action](#CodeActionProvider.provideCodeActions) is run.
type CodeActionKind ¶
type CodeActionKind string
*
- A set of predefined code action kinds
const ( /** * Empty kind. */ CodeActionKindEmpty CodeActionKind = "" /** * Base kind for quickfix actions: 'quickfix' */ CodeActionKindQuickFix CodeActionKind = "quickfix" /** * Base kind for refactoring actions: 'refactor' */ CodeActionKindRefactor CodeActionKind = "refactor" /** * Base kind for refactoring extraction actions: 'refactor.extract' * * Example extract actions: * * - Extract method * - Extract function * - Extract variable * - Extract interface from class * - ... */ CodeActionKindRefactorExtract CodeActionKind = "refactor.extract" /** * Base kind for refactoring inline actions: 'refactor.inline' * * Example inline actions: * * - Inline function * - Inline variable * - Inline constant * - ... */ CodeActionKindRefactorInline CodeActionKind = "refactor.inline" /** * Base kind for refactoring rewrite actions: 'refactor.rewrite' * * Example rewrite actions: * * - Convert JavaScript function to class * - Add or remove parameter * - Encapsulate field * - Make method static * - Move method to base class * - ... */ CodeActionKindRefactorRewrite CodeActionKind = "refactor.rewrite" /** * Base kind for source actions: `source` * * Source code actions apply to the entire file. */ CodeActionKindSource CodeActionKind = "source" /** * Base kind for an organize imports source action: `source.organizeImports` */ CodeActionKindSourceOrganizeImports CodeActionKind = "source.organizeImports" /** * Base kind for auto-fix source actions: `source.fixAll`. * * Fix all actions automatically fix errors that have a clear fix that do not require user input. * They should not suppress errors or perform unsafe fixes such as generating new types or classes. * * @since 3.15.0 */ CodeActionKindSourceFixAll CodeActionKind = "source.fixAll" )
type CodeActionOptions ¶
type CodeActionOptions struct { WorkDoneProgressOptions // CodeActionKinds that this server may return. // // The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server // may list out every specific kind they provide. CodeActionKinds *[]CodeActionKind `json:"codeActionKinds,omitempty"` // The server provides support to resolve additional // information for a code action. // // @since 3.16.0 ResolveProvider *bool `json:"resolveProvider,omitempty"` }
*
- Provider options for a CodeActionRequest(#CodeActionRequest).
type CodeActionParams ¶
type CodeActionParams struct { WorkDoneProgressParams PartialResultParams // The document in which the command was invoked. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The range for which the command was invoked. Range Range `json:"range,omitempty"` // Context carrying additional information. Context CodeActionContext `json:"context,omitempty"` }
*
- The parameters of a CodeActionRequest(#CodeActionRequest).
type CodeActionRegistrationOptions ¶
type CodeActionRegistrationOptions struct { TextDocumentRegistrationOptions CodeActionOptions }
*
- Registration options for a CodeActionRequest(#CodeActionRequest).
type CodeActionRequest ¶
type CodeActionRequest string
*
- A request to provide commands for the given text document and range.
const ( CodeActionRequestMethod CodeActionRequest = "textDocument/codeAction" CodeActionRequestType CodeActionRequest = "" /* 145-byte string literal not displayed */ )
type CodeActionResolveRequest ¶
type CodeActionResolveRequest string
*
- 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.
const ( CodeActionResolveRequestMethod CodeActionResolveRequest = "codeAction/resolve" CodeActionResolveRequestType CodeActionResolveRequest = "new ProtocolRequestType<CodeAction, CodeAction, never, void, void>(method)" )
type CodeDescription ¶
type CodeDescription struct { // An URI to open with more information about the diagnostic error. Href URI `json:"href,omitempty"` }
*
- Structure to capture a description for an error code. *
- @since 3.16.0
type CodeLens ¶
type CodeLens struct { // The range in which this code lens is valid. Should only span a single line. Range Range `json:"range,omitempty"` // The command this code lens represents. Command *Command `json:"command,omitempty"` // A data entry field that is preserved on a code lens item between // a [CodeLensRequest](#CodeLensRequest) and a [CodeLensResolveRequest] // (#CodeLensResolveRequest) Data interface{} `json:"data,omitempty"` }
*
- A code lens represents a [command](#Command) that should be shown along with
- source text, like the number of references, a way to run tests, etc. *
- A code lens is _unresolved_ when no command is associated to it. For performance
- reasons the creation of a code lens and resolving should be done to two stages.
type CodeLensClientCapabilities ¶
type CodeLensClientCapabilities struct { // Whether code lens supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- The client capabilities of a CodeLensRequest(#CodeLensRequest).
type CodeLensOptions ¶
type CodeLensOptions struct { WorkDoneProgressOptions // Code lens has a resolve provider as well. ResolveProvider *bool `json:"resolveProvider,omitempty"` }
*
- Code Lens provider options of a CodeLensRequest(#CodeLensRequest).
type CodeLensParams ¶
type CodeLensParams struct { WorkDoneProgressParams PartialResultParams // The document to request code lens for. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` }
*
- The parameters of a CodeLensRequest(#CodeLensRequest).
type CodeLensRefreshRequest ¶
type CodeLensRefreshRequest string
*
- A request to refresh all code actions *
- @since 3.16.0
const ( CodeLensRefreshRequestMethod CodeLensRefreshRequest = "`workspace/codeLens/refresh`" CodeLensRefreshRequestType CodeLensRefreshRequest = "new ProtocolRequestType0<void, void, void, void>(method)" )
type CodeLensRegistrationOptions ¶
type CodeLensRegistrationOptions struct { TextDocumentRegistrationOptions CodeLensOptions }
*
- Registration options for a CodeLensRequest(#CodeLensRequest).
type CodeLensRequest ¶
type CodeLensRequest string
*
- A request to provide code lens for the given text document.
const ( CodeLensRequestMethod CodeLensRequest = "textDocument/codeLens" CodeLensRequestType CodeLensRequest = "new ProtocolRequestType<CodeLensParams, CodeLens[] | null, CodeLens[], void, CodeLensRegistrationOptions>(method)" )
type CodeLensResolveRequest ¶
type CodeLensResolveRequest string
*
- A request to resolve a command for a given code lens.
const ( CodeLensResolveRequestMethod CodeLensResolveRequest = "codeLens/resolve" CodeLensResolveRequestType CodeLensResolveRequest = "new ProtocolRequestType<CodeLens, CodeLens, never, void, void>(method)" )
type CodeLensWorkspaceClientCapabilities ¶
type CodeLensWorkspaceClientCapabilities struct { // Whether the client implementation supports a refresh request sent from the // server to the client. // // Note that this event is global and will force the client to refresh all // code lenses currently shown. It should be used with absolute care and is // useful for situation where a server for example detect a project wide // change that requires such a calculation. RefreshSupport *bool `json:"refreshSupport,omitempty"` }
*
- @since 3.16.0
type Color ¶
type Color struct { // The red component of this color in the range [0-1]. Red float32 `json:"red,omitempty"` // The green component of this color in the range [0-1]. Green float32 `json:"green,omitempty"` // The blue component of this color in the range [0-1]. Blue float32 `json:"blue,omitempty"` // The alpha component of this color in the range [0-1]. Alpha float32 `json:"alpha,omitempty"` }
*
- Represents a color in RGBA space.
type ColorInformation ¶
type ColorInformation struct { // The range in the document where this color appears. Range Range `json:"range,omitempty"` // The actual color value for this color range. Color Color `json:"color,omitempty"` }
*
- Represents a color range from a document.
type ColorPresentation ¶
type ColorPresentation struct { // The label of this color presentation. It will be shown on the color // picker header. By default this is also the text that is inserted when selecting // this color presentation. Label string `json:"label,omitempty"` // An [edit](#TextEdit) which is applied to a document when selecting // this presentation for the color. When `falsy` the [label](#ColorPresentation.label) // is used. TextEdit *TextEdit `json:"textEdit,omitempty"` // An optional array of additional [text edits](#TextEdit) that are applied when // selecting this color presentation. Edits must not overlap with the main [edit](#ColorPresentation.textEdit) nor with themselves. AdditionalTextEdits *[]TextEdit `json:"additionalTextEdits,omitempty"` }
type ColorPresentationParams ¶
type ColorPresentationParams struct { WorkDoneProgressParams PartialResultParams // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The color to request presentations for. Color Color `json:"color,omitempty"` // The range where the color would be inserted. Serves as a context. Range Range `json:"range,omitempty"` }
*
- Parameters for a [ColorPresentationRequest](#ColorPresentationRequest).
type Command ¶
type Command struct { // Title of the command, like `save`. Title string `json:"title,omitempty"` // The identifier of the actual command handler. Command string `json:"command,omitempty"` // Arguments that the command handler should be // invoked with. Arguments *[]interface{} `json:"arguments,omitempty"` }
*
- Represents a reference to a command. Provides a title which
- will be used to represent a command in the UI and, optionally,
- an array of arguments which will be passed to the command handler
- function when invoked.
type CompletionClientCapabilities ¶
type CompletionClientCapabilities struct { // Whether completion supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // The client supports the following `CompletionItem` specific // capabilities. CompletionItem interface{} `json:"completionItem,omitempty"` //i, n, t, e, r, f, a, c, e, {, }, , , /, /, CompletionItemKind *struct { // The completion item kind values the client supports. When this // property exists the client also guarantees that it will // handle values outside its set gracefully and falls back // to a default value when unknown. // // If this property is not present the client only supports // the completion items kinds from `Text` to `Reference` as defined in // the initial version of the protocol. ValueSet *[]CompletionItemKind `json:"valueSet,omitempty"` } `json:"completionItemKind,omitempty"` // Defines how the client handles whitespace and indentation // when accepting a completion item that uses multi line // text in either `insertText` or `textEdit`. // // @since 3.17.0 InsertTextMode *InsertTextMode `json:"insertTextMode,omitempty"` // The client supports to send additional context information for a // `textDocumentcompletion` request. ContextSupport *bool `json:"contextSupport,omitempty"` }
*
- Completion client capabilities
type CompletionContext ¶
type CompletionContext struct { // How the completion was triggered. TriggerKind CompletionTriggerKind `json:"triggerKind,omitempty"` // The trigger character (a single character) that has trigger code complete. // Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter` TriggerCharacter *string `json:"triggerCharacter,omitempty"` }
*
- Contains additional information about the context in which a completion request is triggered.
type CompletionItem ¶
type CompletionItem struct { // The label of this completion item. // // The label property is also by default the text that // is inserted when selecting this completion. // // If label details are provided the label itself should // be an unqualified name of the completion item. Label string `json:"label,omitempty"` // Additional details for the label // // @since 3.17.0 - proposed state LabelDetails *CompletionItemLabelDetails `json:"labelDetails,omitempty"` // The kind of this completion item. Based of the kind // an icon is chosen by the editor. Kind *CompletionItemKind `json:"kind,omitempty"` // Tags for this completion item. // // @since 3.15.0 Tags *[]CompletionItemTag `json:"tags,omitempty"` // A human-readable string with additional information // about this item, like type or symbol information. Detail *string `json:"detail,omitempty"` // A human-readable string that represents a doc-comment. Documentation interface{} `json:"documentation,omitempty"` // string, MarkupContent, // Indicates if this item is deprecated. // @deprecated Use `tags` instead. Deprecated *bool `json:"deprecated,omitempty"` // Select this item when showing. // // Note that only one completion item can be selected and that the // tool client decides which item that is. The rule is that the first // item of those that match best is selected. Preselect *bool `json:"preselect,omitempty"` // A string that should be used when comparing this item // with other items. When `falsy` the [label](#CompletionItem.label) // is used. SortText *string `json:"sortText,omitempty"` // A string that should be used when filtering a set of // completion items. When `falsy` the [label](#CompletionItem.label) // is used. FilterText *string `json:"filterText,omitempty"` // A string that should be inserted into a document when selecting // this completion. When `falsy` the [label](#CompletionItem.label) // is used. // // The `insertText` is subject to interpretation by the client side. // Some tools might not take the string literally. For example // VS Code when code complete is requested in this example `con<cursor position>` // and a completion item with an `insertText` of `console` is provided it // will only insert `sole`. Therefore it is recommended to use `textEdit` instead // since it avoids additional client side interpretation. InsertText *string `json:"insertText,omitempty"` // The format of the insert text. The format applies to both the `insertText` property // and the `newText` property of a provided `textEdit`. If omitted defaults to // `InsertTextFormat.PlainText`. // // Please note that the insertTextFormat doesn't apply to `additionalTextEdits`. InsertTextFormat *InsertTextFormat `json:"insertTextFormat,omitempty"` // How whitespace and indentation is handled during completion // item insertion. If ignored the clients default value depends on // the `textDocument.completion.insertTextMode` client capability. // // @since 3.16.0 InsertTextMode *InsertTextMode `json:"insertTextMode,omitempty"` // An [edit](#TextEdit) which is applied to a document when selecting // this completion. When an edit is provided the value of // [insertText](#CompletionItem.insertText) is ignored. // // Most editors support two different operation when accepting a completion item. One is to insert a // completion text and the other is to replace an existing text with a completion text. Since this can // usually not predetermined by a server it can report both ranges. Clients need to signal support for // `InsertReplaceEdits` via the `textDocument.completion.insertReplaceSupport` client capability // property. // // Note 1: The text edit's range as well as both ranges from a insert replace edit must be a // [single line] and they must contain the position at which completion has been requested. // Note 2: If an `InsertReplaceEdit` is returned the edit's insert range must be a prefix of // the edit's replace range, that means it must be contained and starting at the same position. // // @since 3.16.0 additional type `InsertReplaceEdit` TextEdit interface{} `json:"textEdit,omitempty"` // TextEdit, InsertReplaceEdit, // An optional array of additional [text edits](#TextEdit) that are applied when // selecting this completion. Edits must not overlap (including the same insert position) // with the main [edit](#CompletionItem.textEdit) nor with themselves. // // Additional text edits should be used to change text unrelated to the current cursor position // (for example adding an import statement at the top of the file if the completion item will // insert an unqualified type). AdditionalTextEdits *[]TextEdit `json:"additionalTextEdits,omitempty"` // An optional set of characters that when pressed while this completion is active will accept it first and // then type that character. Note that all commit characters should have `length=1` and that superfluous // characters will be ignored. CommitCharacters *[]string `json:"commitCharacters,omitempty"` // An optional [command](#Command) that is executed after inserting this completion. Note that // additional modifications to the current document should be described with the // [additionalTextEdits](#CompletionItem.additionalTextEdits)-property. Command *Command `json:"command,omitempty"` // A data entry field that is preserved on a completion item between a // [CompletionRequest](#CompletionRequest) and a [CompletionResolveRequest](#CompletionResolveRequest). Data interface{} `json:"data,omitempty"` }
*
- A completion item represents a text snippet that is
- proposed to complete text that is being typed.
type CompletionItemKind ¶
type CompletionItemKind int
*
- The kind of a completion entry.
const ( CompletionItemKindText CompletionItemKind = 1 CompletionItemKindMethod CompletionItemKind = 2 CompletionItemKindFunction CompletionItemKind = 3 CompletionItemKindConstructor CompletionItemKind = 4 CompletionItemKindField CompletionItemKind = 5 CompletionItemKindVariable CompletionItemKind = 6 CompletionItemKindClass CompletionItemKind = 7 CompletionItemKindInterface CompletionItemKind = 8 CompletionItemKindModule CompletionItemKind = 9 CompletionItemKindProperty CompletionItemKind = 10 CompletionItemKindUnit CompletionItemKind = 11 CompletionItemKindValue CompletionItemKind = 12 CompletionItemKindEnum CompletionItemKind = 13 CompletionItemKindKeyword CompletionItemKind = 14 CompletionItemKindSnippet CompletionItemKind = 15 CompletionItemKindColor CompletionItemKind = 16 CompletionItemKindFile CompletionItemKind = 17 CompletionItemKindReference CompletionItemKind = 18 CompletionItemKindFolder CompletionItemKind = 19 CompletionItemKindEnumMember CompletionItemKind = 20 CompletionItemKindConstant CompletionItemKind = 21 CompletionItemKindStruct CompletionItemKind = 22 CompletionItemKindEvent CompletionItemKind = 23 CompletionItemKindOperator CompletionItemKind = 24 CompletionItemKindTypeParameter CompletionItemKind = 25 )
func (CompletionItemKind) String ¶
func (i CompletionItemKind) String() string
type CompletionItemLabelDetails ¶
type CompletionItemLabelDetails struct { // An optional string which is rendered less prominently directly after {@link CompletionItem.label label}, // without any spacing. Should be used for function signatures or type annotations. Detail *string `json:"detail,omitempty"` // An optional string which is rendered less prominently after {@link CompletionItem.detail}. Should be used // for fully qualified names or file path. Description *string `json:"description,omitempty"` }
*
- Additional details for a completion item label. *
- @since 3.17.0 - proposed state
type CompletionItemTag ¶
type CompletionItemTag int
*
- Completion item tags are extra annotations that tweak the rendering of a completion
- item. *
- @since 3.15.0
const ( /** * Render a completion as obsolete, usually using a strike-out. */ CompletionItemTagDeprecated CompletionItemTag = 1 )
func (CompletionItemTag) String ¶
func (i CompletionItemTag) String() string
type CompletionList ¶
type CompletionList struct { // This list it not complete. Further typing results in recomputing this list. IsIncomplete bool `json:"isIncomplete,omitempty"` // The completion items. Items []CompletionItem `json:"items,omitempty"` }
*
- Represents a collection of [completion items](#CompletionItem) to be presented
- in the editor.
type CompletionOptions ¶
type CompletionOptions struct { WorkDoneProgressOptions // Most tools trigger completion request automatically without explicitly requesting // it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user // starts to type an identifier. For example if the user types `c` in a JavaScript file // code complete will automatically pop up present `console` besides others as a // completion item. Characters that make up identifiers don't need to be listed here. // // If code complete should automatically be trigger on characters not being valid inside // an identifier (for example `.` in JavaScript) list them in `triggerCharacters`. TriggerCharacters *[]string `json:"triggerCharacters,omitempty"` // The list of all possible characters that commit a completion. This field can be used // if clients don't support individual commit characters per completion item. See // `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport` // // If a server provides both `allCommitCharacters` and commit characters on an individual // completion item the ones on the completion item win. // // @since 3.2.0 AllCommitCharacters *[]string `json:"allCommitCharacters,omitempty"` // The server provides support to resolve additional // information for a completion item. ResolveProvider *bool `json:"resolveProvider,omitempty"` // The server supports the following `CompletionItem` specific // capabilities. // // @since 3.17.0 - proposed state CompletionItem *struct { // The server has support for completion item label // details (see also `CompletionItemLabelDetails`) when // receiving a completion item in a resolve call. // // @since 3.17.0 - proposed state LabelDetailsSupport *bool `json:"labelDetailsSupport,omitempty"` } `json:"completionItem,omitempty"` }
*
- Completion options.
type CompletionParams ¶
type CompletionParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams // The completion context. This is only available it the client specifies // to send this using the client capability `textDocument.completion.contextSupport === true` Context *CompletionContext `json:"context,omitempty"` }
*
- Completion parameters
type CompletionRegistrationOptions ¶
type CompletionRegistrationOptions struct { TextDocumentRegistrationOptions CompletionOptions }
*
- Registration options for a CompletionRequest(#CompletionRequest).
type CompletionRequest ¶
type CompletionRequest string
*
- 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.
const ( CompletionRequestMethod CompletionRequest = "textDocument/completion" CompletionRequestType CompletionRequest = "" /* 146-byte string literal not displayed */ )
type CompletionResolveRequest ¶
type CompletionResolveRequest string
*
- 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.
const ( CompletionResolveRequestMethod CompletionResolveRequest = "completionItem/resolve" CompletionResolveRequestType CompletionResolveRequest = "new ProtocolRequestType<CompletionItem, CompletionItem, never, void, void>(method)" )
type CompletionTriggerKind ¶
type CompletionTriggerKind int
*
- How a completion was triggered
const ( /** * Completion was triggered by typing an identifier (24x7 code * complete), manual invocation (e.g Ctrl+Space) or via API. */ CompletionTriggerKindInvoked CompletionTriggerKind = 1 /** * Completion was triggered by a trigger character specified by * the `triggerCharacters` properties of the `CompletionRegistrationOptions`. */ CompletionTriggerKindTriggerCharacter CompletionTriggerKind = 2 /** * Completion was re-triggered as current completion list is incomplete */ CompletionTriggerKindTriggerForIncompleteCompletions CompletionTriggerKind = 3 )
func (CompletionTriggerKind) String ¶
func (i CompletionTriggerKind) String() string
type ConfigurationClientCapabilities ¶
type ConfigurationClientCapabilities struct { // The workspace client capabilities Workspace *struct { // The client supports `workspace/configuration` requests. // // @since 3.6.0 Configuration *bool `json:"configuration,omitempty"` } `json:"workspace,omitempty"` }
---- Get Configuration request ----
type ConfigurationItem ¶
type ConfigurationParams ¶
type ConfigurationParams struct {
Items []ConfigurationItem `json:"items,omitempty"`
}
*
- The parameters of a configuration request.
type CreateFile ¶
type CreateFile struct { ResourceOperation // A create Kind interface{} `json:"kind,omitempty"` // 'create' // The resource to create. Uri DocumentUri `json:"uri,omitempty"` // Additional options Options *CreateFileOptions `json:"options,omitempty"` }
*
- Create file operation.
type CreateFileOptions ¶
type CreateFileOptions struct { // Overwrite existing file. Overwrite wins over `ignoreIfExists` Overwrite *bool `json:"overwrite,omitempty"` // Ignore if exists. IgnoreIfExists *bool `json:"ignoreIfExists,omitempty"` }
*
- Options to create a file.
type CreateFilesParams ¶
type CreateFilesParams struct { // An array of all filesfolders created in this operation. Files []FileCreate `json:"files,omitempty"` }
*
- The parameters sent in file create requests/notifications. *
- @since 3.16.0
type DeclarationClientCapabilities ¶
type DeclarationClientCapabilities struct { // Whether declaration supports dynamic registration. If this is set to `true` // the client supports the new `DeclarationRegistrationOptions` return value // for the corresponding server capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // The client supports additional metadata in the form of declaration links. LinkSupport *bool `json:"linkSupport,omitempty"` }
*
- @since 3.14.0
type DeclarationLink ¶
type DeclarationLink LocationLink
*
- Information about where a symbol is declared. *
- Provides additional metadata over normal [location](#Location) declarations, including the range of
- the declaring symbol. *
- Servers should prefer returning `DeclarationLink` over `Declaration` if supported
- by the client.
type DeclarationOptions ¶
type DeclarationOptions struct {
WorkDoneProgressOptions
}
type DeclarationParams ¶
type DeclarationParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams }
type DeclarationRegistrationOptions ¶
type DeclarationRegistrationOptions struct { DeclarationOptions TextDocumentRegistrationOptions StaticRegistrationOptions }
type DefinitionClientCapabilities ¶
type DefinitionClientCapabilities struct { // Whether definition supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // The client supports additional metadata in the form of definition links. // // @since 3.14.0 LinkSupport *bool `json:"linkSupport,omitempty"` }
*
- Client Capabilities for a DefinitionRequest(#DefinitionRequest).
type DefinitionLink ¶
type DefinitionLink LocationLink
*
- Information about where a symbol is defined. *
- Provides additional metadata over normal [location](#Location) definitions, including the range of
- the defining symbol
type DefinitionOptions ¶
type DefinitionOptions struct {
WorkDoneProgressOptions
}
*
- Server Capabilities for a DefinitionRequest(#DefinitionRequest).
type DefinitionParams ¶
type DefinitionParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams }
*
- Parameters for a DefinitionRequest(#DefinitionRequest).
type DefinitionRegistrationOptions ¶
type DefinitionRegistrationOptions struct { TextDocumentRegistrationOptions DefinitionOptions }
*
- Registration options for a DefinitionRequest(#DefinitionRequest).
type DefinitionRequest ¶
type DefinitionRequest string
*
- 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.
const ( DefinitionRequestMethod DefinitionRequest = "textDocument/definition" DefinitionRequestType DefinitionRequest = "" /* 155-byte string literal not displayed */ )
type DeleteFile ¶
type DeleteFile struct { ResourceOperation // A delete Kind interface{} `json:"kind,omitempty"` // 'delete' // The file to delete. Uri DocumentUri `json:"uri,omitempty"` // Delete options. Options *DeleteFileOptions `json:"options,omitempty"` }
*
- Delete file operation
type DeleteFileOptions ¶
type DeleteFileOptions struct { // Delete the content recursively if a folder is denoted. Recursive *bool `json:"recursive,omitempty"` // Ignore the operation if the file doesn't exist. IgnoreIfNotExists *bool `json:"ignoreIfNotExists,omitempty"` }
*
- Delete file options
type DeleteFilesParams ¶
type DeleteFilesParams struct { // An array of all filesfolders deleted in this operation. Files []FileDelete `json:"files,omitempty"` }
*
- The parameters sent in file delete requests/notifications. *
- @since 3.16.0
type Diagnostic ¶
type Diagnostic struct { // The range at which the message applies Range Range `json:"range,omitempty"` // The diagnostic's severity. Can be omitted. If omitted it is up to the // client to interpret diagnostics as error, warning, info or hint. Severity *DiagnosticSeverity `json:"severity,omitempty"` // The diagnostic's code, which usually appear in the user interface. Code interface{} `json:"code,omitempty"` // int, string, // An optional property to describe the error code. // Requires the code field (above) to be presentnot null. // // @since 3.16.0 CodeDescription *CodeDescription `json:"codeDescription,omitempty"` // A human-readable string describing the source of this // diagnostic, e.g. 'typescript' or 'super lint'. It usually // appears in the user interface. Source *string `json:"source,omitempty"` // The diagnostic's message. It usually appears in the user interface Message string `json:"message,omitempty"` // Additional metadata about the diagnostic. // // @since 3.15.0 Tags *[]DiagnosticTag `json:"tags,omitempty"` // An array of related diagnostic information, e.g. when symbol-names within // a scope collide all definitions can be marked via this property. RelatedInformation *[]DiagnosticRelatedInformation `json:"relatedInformation,omitempty"` // A data entry field that is preserved between a `textDocumentpublishDiagnostics` // notification and `textDocumentcodeAction` request. // // @since 3.16.0 Data interface{} `json:"data,omitempty"` }
*
- Represents a diagnostic, such as a compiler error or warning. Diagnostic objects
- are only valid in the scope of a resource.
type DiagnosticClientCapabilities ¶
type DiagnosticClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` // return value for the corresponding server capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // Whether the clients supports related documents for document diagnostic pulls. RelatedDocumentSupport *bool `json:"relatedDocumentSupport,omitempty"` }
*
- @since 3.17.0 - proposed state
type DiagnosticOptions ¶
type DiagnosticOptions struct { WorkDoneProgressOptions // An optional identifier under which the diagnostics are // managed by the client. Identifier *string `json:"identifier,omitempty"` // Whether the language has inter file dependencies meaning that // editing code in one file can result in a different diagnostic // set in another file. Inter file dependencies are common for // most programming languages and typically uncommon for linters. InterFileDependencies bool `json:"interFileDependencies,omitempty"` // The server provides support for workspace diagnostics as well. WorkspaceDiagnostics bool `json:"workspaceDiagnostics,omitempty"` }
*
- Diagnostic options. *
- @since 3.17.0 - proposed state
type DiagnosticRegistrationOptions ¶
type DiagnosticRegistrationOptions struct { TextDocumentRegistrationOptions DiagnosticOptions StaticRegistrationOptions }
*
- Diagnostic registration options. *
- @since 3.17.0 - proposed state
type DiagnosticRelatedInformation ¶
type DiagnosticRelatedInformation struct { // The location of this related diagnostic information. Location Location `json:"location,omitempty"` // The message of this related diagnostic information. Message string `json:"message,omitempty"` }
*
- Represents a related message and source code location for a diagnostic. This should be
- used to point to code locations that cause or related to a diagnostics, e.g when duplicating
- a symbol in a scope.
type DiagnosticServerCancellationData ¶
type DiagnosticServerCancellationData struct {
RetriggerRequest bool `json:"retriggerRequest,omitempty"`
}
*
- Cancellation data returned from a diagnostic request. *
- @since 3.17.0 - proposed state
type DiagnosticSeverity ¶
type DiagnosticSeverity int
*
- The diagnostic's severity.
const ( /** * Reports an error. */ DiagnosticSeverityError DiagnosticSeverity = 1 /** * Reports a warning. */ DiagnosticSeverityWarning DiagnosticSeverity = 2 /** * Reports an information. */ DiagnosticSeverityInformation DiagnosticSeverity = 3 /** * Reports a hint. */ DiagnosticSeverityHint DiagnosticSeverity = 4 )
func (DiagnosticSeverity) String ¶
func (i DiagnosticSeverity) String() string
type DiagnosticTag ¶
type DiagnosticTag int
*
- The diagnostic tags. *
- @since 3.15.0
const ( /** * Unused or unnecessary code. * * Clients are allowed to render diagnostics with this tag faded out instead of having * an error squiggle. */ DiagnosticTagUnnecessary DiagnosticTag = 1 /** * Deprecated or obsolete code. * * Clients are allowed to rendered diagnostics with this tag strike through. */ DiagnosticTagDeprecated DiagnosticTag = 2 )
func (DiagnosticTag) String ¶
func (i DiagnosticTag) String() string
type DidChangeConfigurationClientCapabilities ¶
type DidChangeConfigurationClientCapabilities struct { // Did change configuration notification supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
---- Configuration notification ----
type DidChangeConfigurationNotification ¶
type DidChangeConfigurationNotification string
*
- 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.
const (
DidChangeConfigurationNotificationType DidChangeConfigurationNotification = "" /* 137-byte string literal not displayed */
)
type DidChangeConfigurationParams ¶
type DidChangeConfigurationParams struct {
// The actual changed settings
Settings interface{} `json:"settings,omitempty"`
}
*
- The parameters of a change configuration notification.
type DidChangeConfigurationRegistrationOptions ¶
type DidChangeConfigurationRegistrationOptions struct {
Section interface{} `json:"section,omitempty"` // string, []string,
}
type DidChangeTextDocumentNotification ¶
type DidChangeTextDocumentNotification string
*
- The document change notification is sent from the client to the server to signal
- changes to a text document.
const ( DidChangeTextDocumentNotificationMethod DidChangeTextDocumentNotification = "textDocument/didChange" DidChangeTextDocumentNotificationType DidChangeTextDocumentNotification = "new ProtocolNotificationType<DidChangeTextDocumentParams, TextDocumentChangeRegistrationOptions>(method)" )
type DidChangeTextDocumentParams ¶
type DidChangeTextDocumentParams struct { // The document that did change. The version number points // to the version after all provided content changes have // been applied. TextDocument VersionedTextDocumentIdentifier `json:"textDocument,omitempty"` // The actual content changes. The content changes describe single state changes // to the document. So if there are two content changes c1 (at array index 0) and // c2 (at array index 1) for a document in state S then c1 moves the document from // S to S' and c2 from S' to S”. So c1 is computed on the state S and c2 is computed // on the state S'. // // To mirror the content of a document using change events use the following approach: // - start with the same initial content // - apply the 'textDocumentdidChange' notifications in the order you receive them. // - apply the `TextDocumentContentChangeEvent`s in a single notification in the order // you receive them. ContentChanges []TextDocumentContentChangeEvent `json:"contentChanges,omitempty"` }
*
- The change text document notification's parameters.
type DidChangeWatchedFilesClientCapabilities ¶
type DidChangeWatchedFilesClientCapabilities struct { // Did change watched files notification supports dynamic registration. Please note // that the current protocol doesn't support static configuration for file changes // from the server side. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
---- File eventing ----
type DidChangeWatchedFilesNotification ¶
type DidChangeWatchedFilesNotification string
*
- The watched files notification is sent from the client to the server when
- the client detects changes to file watched by the language client.
const (
DidChangeWatchedFilesNotificationType DidChangeWatchedFilesNotification = "" /* 134-byte string literal not displayed */
)
type DidChangeWatchedFilesParams ¶
type DidChangeWatchedFilesParams struct { // The actual file events. Changes []FileEvent `json:"changes,omitempty"` }
*
- The watched files change notification's parameters.
type DidChangeWatchedFilesRegistrationOptions ¶
type DidChangeWatchedFilesRegistrationOptions struct { // The watchers to register. Watchers []FileSystemWatcher `json:"watchers,omitempty"` }
*
- Describe options to be used when registered for text document change events.
type DidChangeWorkspaceFoldersParams ¶
type DidChangeWorkspaceFoldersParams struct { // The actual workspace folder change event. Event WorkspaceFoldersChangeEvent `json:"event,omitempty"` }
*
- The parameters of a `workspace/didChangeWorkspaceFolders` notification.
type DidCloseTextDocumentNotification ¶
type DidCloseTextDocumentNotification string
*
- 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.
const ( DidCloseTextDocumentNotificationMethod DidCloseTextDocumentNotification = "textDocument/didClose" DidCloseTextDocumentNotificationType DidCloseTextDocumentNotification = "new ProtocolNotificationType<DidCloseTextDocumentParams, TextDocumentRegistrationOptions>(method)" )
type DidCloseTextDocumentParams ¶
type DidCloseTextDocumentParams struct { // The document that was closed. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` }
*
- The parameters send in a close text document notification
type DidOpenTextDocumentNotification ¶
type DidOpenTextDocumentNotification string
*
- 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.
const ( DidOpenTextDocumentNotificationMethod DidOpenTextDocumentNotification = "textDocument/didOpen" DidOpenTextDocumentNotificationType DidOpenTextDocumentNotification = "new ProtocolNotificationType<DidOpenTextDocumentParams, TextDocumentRegistrationOptions>(method)" )
type DidOpenTextDocumentParams ¶
type DidOpenTextDocumentParams struct { // The document that was opened. TextDocument TextDocumentItem `json:"textDocument,omitempty"` }
*
- The parameters send in a open text document notification
type DidSaveTextDocumentNotification ¶
type DidSaveTextDocumentNotification string
*
- The document save notification is sent from the client to the server when
- the document got saved in the client.
const ( DidSaveTextDocumentNotificationMethod DidSaveTextDocumentNotification = "textDocument/didSave" DidSaveTextDocumentNotificationType DidSaveTextDocumentNotification = "new ProtocolNotificationType<DidSaveTextDocumentParams, TextDocumentSaveRegistrationOptions>(method)" )
type DidSaveTextDocumentParams ¶
type DidSaveTextDocumentParams struct { // The document that was closed. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // Optional the content when saved. Depends on the includeText value // when the save notification was requested. Text *string `json:"text,omitempty"` }
*
- The parameters send in a save text document notification
type DocumentColorClientCapabilities ¶
type DocumentColorClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `DocumentColorRegistrationOptions` return value // for the corresponding server capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
---- Client capability ----
type DocumentColorOptions ¶
type DocumentColorOptions struct {
WorkDoneProgressOptions
}
type DocumentColorParams ¶
type DocumentColorParams struct { WorkDoneProgressParams PartialResultParams // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` }
*
- Parameters for a [DocumentColorRequest](#DocumentColorRequest).
type DocumentColorRegistrationOptions ¶
type DocumentColorRegistrationOptions struct { TextDocumentRegistrationOptions StaticRegistrationOptions DocumentColorOptions }
type DocumentDiagnosticParams ¶
type DocumentDiagnosticParams struct { WorkDoneProgressParams PartialResultParams // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The additional identifier provided during registration. Identifier *string `json:"identifier,omitempty"` // The result id of a previous response if provided. PreviousResultId *string `json:"previousResultId,omitempty"` }
*
- Parameters of the document diagnostic request. *
- @since 3.17.0 - proposed state
type DocumentDiagnosticReportKind ¶
type DocumentDiagnosticReportKind string
*
- The document diagnostic report kinds. *
- @since 3.17.0 - proposed state
const ( /** * A diagnostic report with a full * set of problems. */ DocumentDiagnosticReportKindFull DocumentDiagnosticReportKind = "full" /** * A report indicating that the last * returned report is still accurate. */ DocumentDiagnosticReportKindUnChanged DocumentDiagnosticReportKind = "unChanged" )
type DocumentFormattingClientCapabilities ¶
type DocumentFormattingClientCapabilities struct { // Whether formatting supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- Client capabilities of a DocumentFormattingRequest(#DocumentFormattingRequest).
type DocumentFormattingOptions ¶
type DocumentFormattingOptions struct {
WorkDoneProgressOptions
}
*
- Provider options for a DocumentFormattingRequest(#DocumentFormattingRequest).
type DocumentFormattingParams ¶
type DocumentFormattingParams struct { WorkDoneProgressParams // The document to format. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The format options Options FormattingOptions `json:"options,omitempty"` }
*
- The parameters of a DocumentFormattingRequest(#DocumentFormattingRequest).
type DocumentFormattingRegistrationOptions ¶
type DocumentFormattingRegistrationOptions struct { TextDocumentRegistrationOptions DocumentFormattingOptions }
*
- Registration options for a DocumentFormattingRequest(#DocumentFormattingRequest).
type DocumentFormattingRequest ¶
type DocumentFormattingRequest string
*
- A request to to format a whole document.
const ( DocumentFormattingRequestMethod DocumentFormattingRequest = "textDocument/formatting" DocumentFormattingRequestType DocumentFormattingRequest = "" /* 128-byte string literal not displayed */ )
type DocumentHighlight ¶
type DocumentHighlight struct { // The range this highlight applies to. Range Range `json:"range,omitempty"` // The highlight kind, default is [text](#DocumentHighlightKind.Text). Kind *DocumentHighlightKind `json:"kind,omitempty"` }
*
- A document highlight is a range inside a text document which deserves
- special attention. Usually a document highlight is visualized by changing
- the background color of its range.
type DocumentHighlightClientCapabilities ¶
type DocumentHighlightClientCapabilities struct { // Whether document highlight supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- Client Capabilities for a DocumentHighlightRequest(#DocumentHighlightRequest).
type DocumentHighlightKind ¶
type DocumentHighlightKind int
*
- A document highlight kind.
const ( /** * A textual occurrence. */ DocumentHighlightKindText DocumentHighlightKind = 1 /** * Read-access of a symbol, like reading a variable. */ DocumentHighlightKindRead DocumentHighlightKind = 2 /** * Write-access of a symbol, like writing to a variable. */ DocumentHighlightKindWrite DocumentHighlightKind = 3 )
func (DocumentHighlightKind) String ¶
func (i DocumentHighlightKind) String() string
type DocumentHighlightOptions ¶
type DocumentHighlightOptions struct {
WorkDoneProgressOptions
}
*
- Provider options for a DocumentHighlightRequest(#DocumentHighlightRequest).
type DocumentHighlightParams ¶
type DocumentHighlightParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams }
*
- Parameters for a DocumentHighlightRequest(#DocumentHighlightRequest).
type DocumentHighlightRegistrationOptions ¶
type DocumentHighlightRegistrationOptions struct { TextDocumentRegistrationOptions DocumentHighlightOptions }
*
- Registration options for a DocumentHighlightRequest(#DocumentHighlightRequest).
type DocumentHighlightRequest ¶
type DocumentHighlightRequest string
*
- 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.
const ( DocumentHighlightRequestMethod DocumentHighlightRequest = "textDocument/documentHighlight" DocumentHighlightRequestType DocumentHighlightRequest = "" /* 149-byte string literal not displayed */ )
type DocumentLink ¶
type DocumentLink struct { // The range this link applies to. Range Range `json:"range,omitempty"` // The uri this link points to. Target *string `json:"target,omitempty"` // The tooltip text when you hover over this link. // // If a tooltip is provided, is will be displayed in a string that includes instructions on how to // trigger the link, such as `{0} (ctrl + click)`. The specific instructions vary depending on OS, // user settings, and localization. // // @since 3.15.0 Tooltip *string `json:"tooltip,omitempty"` // A data entry field that is preserved on a document link between a // DocumentLinkRequest and a DocumentLinkResolveRequest. Data interface{} `json:"data,omitempty"` }
*
- A document link is a range in a text document that links to an internal or external resource, like another
- text document or a web site.
type DocumentLinkClientCapabilities ¶
type DocumentLinkClientCapabilities struct { // Whether document link supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // Whether the client support the `tooltip` property on `DocumentLink`. // // @since 3.15.0 TooltipSupport *bool `json:"tooltipSupport,omitempty"` }
*
- The client capabilities of a DocumentLinkRequest(#DocumentLinkRequest).
type DocumentLinkOptions ¶
type DocumentLinkOptions struct { WorkDoneProgressOptions // Document links have a resolve provider as well. ResolveProvider *bool `json:"resolveProvider,omitempty"` }
*
- Provider options for a DocumentLinkRequest(#DocumentLinkRequest).
type DocumentLinkParams ¶
type DocumentLinkParams struct { WorkDoneProgressParams PartialResultParams // The document to provide document links for. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` }
*
- The parameters of a DocumentLinkRequest(#DocumentLinkRequest).
type DocumentLinkRegistrationOptions ¶
type DocumentLinkRegistrationOptions struct { TextDocumentRegistrationOptions DocumentLinkOptions }
*
- Registration options for a DocumentLinkRequest(#DocumentLinkRequest).
type DocumentLinkRequest ¶
type DocumentLinkRequest string
*
- A request to provide document links
const ( DocumentLinkRequestMethod DocumentLinkRequest = "textDocument/documentLink" DocumentLinkRequestType DocumentLinkRequest = "" /* 129-byte string literal not displayed */ )
type DocumentLinkResolveRequest ¶
type DocumentLinkResolveRequest string
*
- 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.
const ( DocumentLinkResolveRequestMethod DocumentLinkResolveRequest = "documentLink/resolve" DocumentLinkResolveRequestType DocumentLinkResolveRequest = "new ProtocolRequestType<DocumentLink, DocumentLink, never, void, void>(method)" )
type DocumentOnTypeFormattingClientCapabilities ¶
type DocumentOnTypeFormattingClientCapabilities struct { // Whether on type formatting supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- Client capabilities of a DocumentOnTypeFormattingRequest(#DocumentOnTypeFormattingRequest).
type DocumentOnTypeFormattingOptions ¶
type DocumentOnTypeFormattingOptions struct { // A character on which formatting should be triggered, like `}`. FirstTriggerCharacter string `json:"firstTriggerCharacter,omitempty"` // More trigger characters. MoreTriggerCharacter *[]string `json:"moreTriggerCharacter,omitempty"` }
*
- Provider options for a DocumentOnTypeFormattingRequest(#DocumentOnTypeFormattingRequest).
type DocumentOnTypeFormattingParams ¶
type DocumentOnTypeFormattingParams struct { // The document to format. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The position at which this request was send. Position Position `json:"position,omitempty"` // The character that has been typed. Ch string `json:"ch,omitempty"` // The format options. Options FormattingOptions `json:"options,omitempty"` }
*
- The parameters of a DocumentOnTypeFormattingRequest(#DocumentOnTypeFormattingRequest).
type DocumentOnTypeFormattingRegistrationOptions ¶
type DocumentOnTypeFormattingRegistrationOptions struct { TextDocumentRegistrationOptions DocumentOnTypeFormattingOptions }
*
- Registration options for a DocumentOnTypeFormattingRequest(#DocumentOnTypeFormattingRequest).
type DocumentOnTypeFormattingRequest ¶
type DocumentOnTypeFormattingRequest string
*
- A request to format a document on type.
const ( DocumentOnTypeFormattingRequestMethod DocumentOnTypeFormattingRequest = "textDocument/onTypeFormatting" DocumentOnTypeFormattingRequestType DocumentOnTypeFormattingRequest = "" /* 140-byte string literal not displayed */ )
type DocumentRangeFormattingClientCapabilities ¶
type DocumentRangeFormattingClientCapabilities struct { // Whether range formatting supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- Client capabilities of a DocumentRangeFormattingRequest(#DocumentRangeFormattingRequest).
type DocumentRangeFormattingOptions ¶
type DocumentRangeFormattingOptions struct {
WorkDoneProgressOptions
}
*
- Provider options for a DocumentRangeFormattingRequest(#DocumentRangeFormattingRequest).
type DocumentRangeFormattingParams ¶
type DocumentRangeFormattingParams struct { WorkDoneProgressParams // The document to format. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The range to format Range Range `json:"range,omitempty"` // The format options Options FormattingOptions `json:"options,omitempty"` }
*
- The parameters of a DocumentRangeFormattingRequest(#DocumentRangeFormattingRequest).
type DocumentRangeFormattingRegistrationOptions ¶
type DocumentRangeFormattingRegistrationOptions struct { TextDocumentRegistrationOptions DocumentRangeFormattingOptions }
*
- Registration options for a DocumentRangeFormattingRequest(#DocumentRangeFormattingRequest).
type DocumentRangeFormattingRequest ¶
type DocumentRangeFormattingRequest string
*
- A request to to format a range in a document.
const ( DocumentRangeFormattingRequestMethod DocumentRangeFormattingRequest = "textDocument/rangeFormatting" DocumentRangeFormattingRequestType DocumentRangeFormattingRequest = "" /* 138-byte string literal not displayed */ )
type DocumentSymbol ¶
type DocumentSymbol struct { // The name of this symbol. Will be displayed in the user interface and therefore must not be // an empty string or a string only consisting of white spaces. Name string `json:"name,omitempty"` // More detail for this symbol, e.g the signature of a function. Detail *string `json:"detail,omitempty"` // The kind of this symbol. Kind SymbolKind `json:"kind,omitempty"` // Tags for this document symbol. // // @since 3.16.0 Tags *[]SymbolTag `json:"tags,omitempty"` // Indicates if this symbol is deprecated. // // @deprecated Use tags instead Deprecated *bool `json:"deprecated,omitempty"` // The range enclosing this symbol not including leadingtrailing whitespace but everything else // like comments. This information is typically used to determine if the the clients cursor is // inside the symbol to reveal in the symbol in the UI. Range Range `json:"range,omitempty"` // The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. // Must be contained by the the `range`. SelectionRange Range `json:"selectionRange,omitempty"` // Children of this symbol, e.g. properties of a class. Children *[]DocumentSymbol `json:"children,omitempty"` }
*
- Represents programming constructs like variables, classes, interfaces etc.
- that appear in a document. Document symbols can be hierarchical and they
- have two ranges: one that encloses its definition and one that points to
- its most interesting range, e.g. the range of an identifier.
type DocumentSymbolClientCapabilities ¶
type DocumentSymbolClientCapabilities struct { // Whether document symbol supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // Specific capabilities for the `SymbolKind`. SymbolKind *struct { // The symbol kind values the client supports. When this // property exists the client also guarantees that it will // handle values outside its set gracefully and falls back // to a default value when unknown. // // If this property is not present the client only supports // the symbol kinds from `File` to `Array` as defined in // the initial version of the protocol. ValueSet *[]SymbolKind `json:"valueSet,omitempty"` } `json:"symbolKind,omitempty"` // The client support hierarchical document symbols. HierarchicalDocumentSymbolSupport *bool `json:"hierarchicalDocumentSymbolSupport,omitempty"` // The client supports tags on `SymbolInformation`. Tags are supported on // `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true. // Clients supporting tags have to handle unknown tags gracefully. // // @since 3.16.0 TagSupport *struct { // The tags supported by the client. ValueSet []SymbolTag `json:"valueSet,omitempty"` } `json:"tagSupport,omitempty"` // The client supports an additional label presented in the UI when // registering a document symbol provider. // // @since 3.16.0 LabelSupport *bool `json:"labelSupport,omitempty"` }
*
- Client Capabilities for a DocumentSymbolRequest(#DocumentSymbolRequest).
type DocumentSymbolOptions ¶
type DocumentSymbolOptions struct { WorkDoneProgressOptions // A human-readable string that is shown when multiple outlines trees // are shown for the same document. // // @since 3.16.0 Label *string `json:"label,omitempty"` }
*
- Provider options for a DocumentSymbolRequest(#DocumentSymbolRequest).
type DocumentSymbolParams ¶
type DocumentSymbolParams struct { WorkDoneProgressParams PartialResultParams // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` }
*
- Parameters for a DocumentSymbolRequest(#DocumentSymbolRequest).
type DocumentSymbolRegistrationOptions ¶
type DocumentSymbolRegistrationOptions struct { TextDocumentRegistrationOptions DocumentSymbolOptions }
*
- Registration options for a DocumentSymbolRequest(#DocumentSymbolRequest).
type DocumentSymbolRequest ¶
type DocumentSymbolRequest string
*
- 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.
const ( DocumentSymbolRequestMethod DocumentSymbolRequest = "textDocument/documentSymbol" DocumentSymbolRequestType DocumentSymbolRequest = "" /* 181-byte string literal not displayed */ )
type DocumentUri ¶
type DocumentUri string
*
- A tagging type for string properties that are actually document URIs.
type ExecuteCommandClientCapabilities ¶
type ExecuteCommandClientCapabilities struct { // Execute command supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- The client capabilities of a ExecuteCommandRequest(#ExecuteCommandRequest).
type ExecuteCommandOptions ¶
type ExecuteCommandOptions struct { WorkDoneProgressOptions // The commands to be executed on the server Commands []string `json:"commands,omitempty"` }
*
- The server capabilities of a ExecuteCommandRequest(#ExecuteCommandRequest).
type ExecuteCommandParams ¶
type ExecuteCommandParams struct { WorkDoneProgressParams // The identifier of the actual command handler. Command string `json:"command,omitempty"` // Arguments that the command should be invoked with. Arguments *[]interface{} `json:"arguments,omitempty"` }
*
- The parameters of a ExecuteCommandRequest(#ExecuteCommandRequest).
type ExecuteCommandRegistrationOptions ¶
type ExecuteCommandRegistrationOptions struct {
ExecuteCommandOptions
}
*
- Registration options for a ExecuteCommandRequest(#ExecuteCommandRequest).
type ExecuteCommandRequest ¶
type ExecuteCommandRequest string
*
- 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.
const (
ExecuteCommandRequestType ExecuteCommandRequest = "" /* 133-byte string literal not displayed */
)
type ExitNotification ¶
type ExitNotification string
*
- The exit event is sent from the client to the server to
- ask the server to exit its process.
const (
ExitNotificationType ExitNotification = "new ProtocolNotificationType0<void>('exit')"
)
type FailureHandlingKind ¶
type FailureHandlingKind string
const ( /** * Applying the workspace change is simply aborted if one of the changes provided * fails. All operations executed before the failing operation stay executed. */ FailureHandlingKindAbort FailureHandlingKind = "abort" /** * All operations are executed transactional. That means they either all * succeed or no changes at all are applied to the workspace. */ FailureHandlingKindTransactional FailureHandlingKind = "transactional" /** * If the workspace edit contains only textual file changes they are executed transactional. * If resource changes (create, rename or delete file) are part of the change the failure * handling strategy is abort. */ FailureHandlingKindTextOnlyTransactional FailureHandlingKind = "textOnlyTransactional" /** * The client tries to undo the operations already executed. But there is no * guarantee that this is succeeding. */ FailureHandlingKindUndo FailureHandlingKind = "undo" )
type FileChangeType ¶
type FileChangeType int
*
- The file event type
const ( /** * The file got created. */ FileChangeTypeCreated FileChangeType = 1 /** * The file got changed. */ FileChangeTypeChanged FileChangeType = 2 /** * The file got deleted. */ FileChangeTypeDeleted FileChangeType = 3 )
func (FileChangeType) String ¶
func (i FileChangeType) String() string
type FileCreate ¶
type FileCreate struct { // A file: URI for the location of the filefolder being created. Uri string `json:"uri,omitempty"` }
*
- Represents information on a file/folder create. *
- @since 3.16.0
type FileDelete ¶
type FileDelete struct { // A file: URI for the location of the filefolder being deleted. Uri string `json:"uri,omitempty"` }
*
- Represents information on a file/folder delete. *
- @since 3.16.0
type FileEvent ¶
type FileEvent struct { // The file's uri. Uri DocumentUri `json:"uri,omitempty"` // The change type. Type FileChangeType `json:"type,omitempty"` }
*
- An event describing a file change.
type FileOperationClientCapabilities ¶
type FileOperationClientCapabilities struct { // Whether the client supports dynamic registration for file requestsnotifications. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // The client has support for sending didCreateFiles notifications. DidCreate *bool `json:"didCreate,omitempty"` // The client has support for willCreateFiles requests. WillCreate *bool `json:"willCreate,omitempty"` // The client has support for sending didRenameFiles notifications. DidRename *bool `json:"didRename,omitempty"` // The client has support for willRenameFiles requests. WillRename *bool `json:"willRename,omitempty"` // The client has support for sending didDeleteFiles notifications. DidDelete *bool `json:"didDelete,omitempty"` // The client has support for willDeleteFiles requests. WillDelete *bool `json:"willDelete,omitempty"` }
*
- Capabilities relating to events from file operations by the user in the client. *
- These events do not come from the file system, they come from user operations
- like renaming a file in the UI. *
- @since 3.16.0
type FileOperationFilter ¶
type FileOperationFilter struct { // A Uri like `file` or `untitled`. Scheme *string `json:"scheme,omitempty"` // The actual file operation pattern. Pattern FileOperationPattern `json:"pattern,omitempty"` }
*
- A filter to describe in which file operation requests or notifications
- the server is interested in. *
- @since 3.16.0
type FileOperationOptions ¶
type FileOperationOptions struct { // The server is interested in didCreateFiles notifications. DidCreate *FileOperationRegistrationOptions `json:"didCreate,omitempty"` // The server is interested in willCreateFiles requests. WillCreate *FileOperationRegistrationOptions `json:"willCreate,omitempty"` // The server is interested in didRenameFiles notifications. DidRename *FileOperationRegistrationOptions `json:"didRename,omitempty"` // The server is interested in willRenameFiles requests. WillRename *FileOperationRegistrationOptions `json:"willRename,omitempty"` // The server is interested in didDeleteFiles file notifications. DidDelete *FileOperationRegistrationOptions `json:"didDelete,omitempty"` // The server is interested in willDeleteFiles file requests. WillDelete *FileOperationRegistrationOptions `json:"willDelete,omitempty"` }
*
- Options for notifications/requests for user operations on files. *
- @since 3.16.0
type FileOperationPattern ¶
type FileOperationPattern struct { // The glob pattern to match. Glob patterns can have the following syntax: // - “ to match one or more characters in a path segment // - `?` to match on one character in a path segment // - “ to match any number of path segments, including none // - `{}` to group sub patterns into an OR expression. (e.g. `.{ts,js}` matches all TypeScript and JavaScript files) // - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …) // - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`) Glob string `json:"glob,omitempty"` // Whether to match files or folders with this pattern. // // Matches both if undefined. Matches *FileOperationPatternKind `json:"matches,omitempty"` // Additional options used during matching. Options *FileOperationPatternOptions `json:"options,omitempty"` }
*
- A pattern to describe in which file operation requests or notifications
- the server is interested in. *
- @since 3.16.0
type FileOperationPatternKind ¶
type FileOperationPatternKind string
*
- A pattern kind describing if a glob pattern matches a file a folder or
- both. *
- @since 3.16.0
const ( /** * The pattern matches a file only. */ FileOperationPatternKindFile FileOperationPatternKind = "file" /** * The pattern matches a folder only. */ FileOperationPatternKindFolder FileOperationPatternKind = "folder" )
type FileOperationPatternOptions ¶
type FileOperationPatternOptions struct { // The pattern should be matched ignoring casing. IgnoreCase *bool `json:"ignoreCase,omitempty"` }
*
- Matching options for the file operation pattern. *
- @since 3.16.0
type FileOperationRegistrationOptions ¶
type FileOperationRegistrationOptions struct { // The actual filters. Filters []FileOperationFilter `json:"filters,omitempty"` }
*
- The options to register for file operations. *
- @since 3.16.0
type FileRename ¶
type FileRename struct { // A file: URI for the original location of the filefolder being renamed. OldUri string `json:"oldUri,omitempty"` // A file: URI for the new location of the filefolder being renamed. NewUri string `json:"newUri,omitempty"` }
*
- Represents information on a file/folder rename. *
- @since 3.16.0
type FileSystemWatcher ¶
type FileSystemWatcher struct { // The glob pattern to watch. Glob patterns can have the following syntax: // - “ to match one or more characters in a path segment // - `?` to match on one character in a path segment // - “ to match any number of path segments, including none // - `{}` to group conditions (e.g. `.{ts,js}` matches all TypeScript and JavaScript files) // - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …) // - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`) GlobPattern string `json:"globPattern,omitempty"` // The kind of events of interest. If omitted it defaults // to WatchKind.Create | WatchKind.Change | WatchKind.Delete // which is 7. Kind *uint `json:"kind,omitempty"` }
type FoldingRange ¶
type FoldingRange struct { // The zero-based start line of the range to fold. The folded area starts after the line's last character. // To be valid, the end must be zero or larger and smaller than the number of lines in the document. StartLine uint `json:"startLine,omitempty"` // The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line. StartCharacter *uint `json:"startCharacter,omitempty"` // The zero-based end line of the range to fold. The folded area ends with the line's last character. // To be valid, the end must be zero or larger and smaller than the number of lines in the document. EndLine uint `json:"endLine,omitempty"` // The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line. EndCharacter *uint `json:"endCharacter,omitempty"` // Describes the kind of the folding range such as `comment' or 'region'. The kind // is used to categorize folding ranges and used by commands like 'Fold all comments'. See // [FoldingRangeKind](#FoldingRangeKind) for an enumeration of standardized kinds. Kind *string `json:"kind,omitempty"` }
*
- Represents a folding range. To be valid, start and end line must be bigger than zero and smaller
- than the number of lines in the document. Clients are free to ignore invalid ranges.
type FoldingRangeClientCapabilities ¶
type FoldingRangeClientCapabilities struct { // Whether implementation supports dynamic registration for folding range providers. If this is set to `true` // the client supports the new `FoldingRangeRegistrationOptions` return value for the corresponding server // capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // The maximum number of folding ranges that the client prefers to receive per document. The value serves as a // hint, servers are free to follow the limit. RangeLimit *uint `json:"rangeLimit,omitempty"` // If set, the client signals that it only supports folding complete lines. If set, client will // ignore specified `startCharacter` and `endCharacter` properties in a FoldingRange. LineFoldingOnly *bool `json:"lineFoldingOnly,omitempty"` }
---- capabilities
type FoldingRangeKind ¶
type FoldingRangeKind string
*
- Enum of known range kinds
const ( /** * Folding range for a comment */ FoldingRangeKindComment FoldingRangeKind = "comment" /** * Folding range for a imports or includes */ FoldingRangeKindImports FoldingRangeKind = "imports" /** * Folding range for a region (e.g. `#region`) */ FoldingRangeKindRegion FoldingRangeKind = "region" )
type FoldingRangeOptions ¶
type FoldingRangeOptions struct {
WorkDoneProgressOptions
}
type FoldingRangeParams ¶
type FoldingRangeParams struct { WorkDoneProgressParams PartialResultParams // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` }
*
- Parameters for a [FoldingRangeRequest](#FoldingRangeRequest).
type FoldingRangeRegistrationOptions ¶
type FoldingRangeRegistrationOptions struct { TextDocumentRegistrationOptions FoldingRangeOptions StaticRegistrationOptions }
type FormattingOptions ¶
type FormattingOptions struct { // Size of a tab in spaces. TabSize uint `json:"tabSize,omitempty"` // Prefer spaces over tabs. InsertSpaces bool `json:"insertSpaces,omitempty"` // Trim trailing whitespaces on a line. // // @since 3.15.0 TrimTrailingWhitespace *bool `json:"trimTrailingWhitespace,omitempty"` // Insert a newline character at the end of the file if one does not exist. // // @since 3.15.0 InsertFinalNewline *bool `json:"insertFinalNewline,omitempty"` // Trim all newlines after the final newline at the end of the file. // // @since 3.15.0 TrimFinalNewlines *bool `json:"trimFinalNewlines,omitempty"` // Signature for further properties. Key interface{} `json:"key,omitempty"` // bool, int, string, undefined, }
*
- Value-object describing what options formatting should use.
type FullDocumentDiagnosticReport ¶
type FullDocumentDiagnosticReport struct { Kind interface{} `json:"kind,omitempty"` // DocumentDiagnosticReportKind.full ResultId *string `json:"resultId,omitempty"` Items []interface{} `json:"items,omitempty"` }
type GeneralClientCapabilities ¶
type GeneralClientCapabilities struct { // Client capability that signals how the client // handles stale requests (e.g. a request // for which the client will not process the response // anymore since the information is outdated). // // @since 3.17.0 StaleRequestSupport interface{} `json:"staleRequestSupport,omitempty"` // cancel, retryOnContentModified, // Client capabilities specific to regular expressions. // // @since 3.16.0 RegularExpressions *RegularExpressionsClientCapabilities `json:"regularExpressions,omitempty"` // Client capabilities specific to the client's markdown parser. // // @since 3.16.0 Markdown *MarkdownClientCapabilities `json:"markdown,omitempty"` }
*
- General client capabilities. *
- @since 3.16.0
type Hover ¶
type Hover struct { // The hover's content Contents interface{} `json:"contents,omitempty"` // MarkupContent, MarkedString, []MarkedString, // An optional range Range *Range `json:"range,omitempty"` }
*
- The result of a hover request.
type HoverClientCapabilities ¶
type HoverClientCapabilities struct { // Whether hover supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // Client supports the follow content formats for the content // property. The order describes the preferred format of the client. ContentFormat *[]MarkupKind `json:"contentFormat,omitempty"` }
---- Hover Support -------------------------------
type HoverParams ¶
type HoverParams struct { TextDocumentPositionParams WorkDoneProgressParams }
*
- Parameters for a HoverRequest(#HoverRequest).
type HoverRegistrationOptions ¶
type HoverRegistrationOptions struct { TextDocumentRegistrationOptions HoverOptions }
*
- Registration options for a HoverRequest(#HoverRequest).
type HoverRequest ¶
type HoverRequest string
*
- 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.
const ( HoverRequestMethod HoverRequest = "textDocument/hover" HoverRequestType HoverRequest = "new ProtocolRequestType<HoverParams, Hover | null, never, void, HoverRegistrationOptions>(method)" )
type ImplementationClientCapabilities ¶
type ImplementationClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `ImplementationRegistrationOptions` return value // for the corresponding server capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // The client supports additional metadata in the form of definition links. // // @since 3.14.0 LinkSupport *bool `json:"linkSupport,omitempty"` }
*
- @since 3.6.0
type ImplementationOptions ¶
type ImplementationOptions struct {
WorkDoneProgressOptions
}
type ImplementationParams ¶
type ImplementationParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams }
type ImplementationRegistrationOptions ¶
type ImplementationRegistrationOptions struct { TextDocumentRegistrationOptions ImplementationOptions StaticRegistrationOptions }
type InitializeError ¶
type InitializeError struct { // Indicates whether the client execute the following retry logic: // (1) show the message provided by the ResponseError to the user // (2) user selects retry or cancel // (3) if user selected retry the initialize method is sent again. Retry bool `json:"retry,omitempty"` }
*
- The data type of the ResponseError if the
- initialize request fails.
type InitializeErrorCode ¶
type InitializeErrorCode int
*
- Known error codes for an `InitializeError`;
const ( /** * If the protocol version provided by the client can't be handled by the server. * @deprecated This initialize error got replaced by client capabilities. There is * no version handshake in version 3.0x */ InitializeErrorUnknownProtocolVersion InitializeErrorCode = 1 )
func (InitializeErrorCode) String ¶
func (i InitializeErrorCode) String() string
type InitializeParams ¶
type InitializeParams struct { InitializeParams_ WorkspaceFoldersInitializeParams }
type InitializeParams_ ¶
type InitializeParams_ struct { WorkDoneProgressParams // The process Id of the parent process that started // the server. ProcessId interface{} `json:"processId,omitempty"` // int, null, // Information about the client // // @since 3.15.0 ClientInfo interface{} `json:"clientInfo,omitempty"` // name, version, // The locale the client is currently showing the user interface // in. This must not necessarily be the locale of the operating // system. // // Uses IETF language tags as the value's syntax // (See https:en.wikipedia.orgwikiIETF_language_tag) // // @since 3.16.0 Locale *string `json:"locale,omitempty"` // The rootPath of the workspace. Is null // if no folder is open. // // @deprecated in favour of rootUri. RootPath interface{} `json:"rootPath,omitempty"` // string, null, // The rootUri of the workspace. Is null if no // folder is open. If both `rootPath` and `rootUri` are set // `rootUri` wins. // // @deprecated in favour of workspaceFolders. RootUri interface{} `json:"rootUri,omitempty"` // DocumentUri, null, // The capabilities provided by the client (editor or tool) Capabilities ClientCapabilities `json:"capabilities,omitempty"` // User provided initialization options. InitializationOptions interface{} `json:"initializationOptions,omitempty"` // The initial trace setting. If omitted trace is disabled ('off'). Trace interface{} `json:"trace,omitempty"` // interface{} // 'off', interface{} // 'messages', interface{} // 'compact', interface{} // 'verbose', }
*
- The initialize parameters
type InitializeRequest ¶
type InitializeRequest string
*
- 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.
const (
InitializeRequestType InitializeRequest = "" /* 128-byte string literal not displayed */
)
type InitializeResult ¶
type InitializeResult struct { // The capabilities the language server provides. Capabilities ServerCapabilities `json:"capabilities,omitempty"` // Information about the server. // // @since 3.15.0 ServerInfo *struct { Name string `json:"name,omitempty"` Version *string `json:"version,omitempty"` } `json:"serverInfo,omitempty"` // name, version, // Custom initialization results. Custom interface{} `json:"custom,omitempty"` }
*
- The result returned from an initialize request.
type InitializedNotification ¶
type InitializedNotification string
*
- 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.
const (
InitializedNotificationType InitializedNotification = "new ProtocolNotificationType<InitializedParams, void>('initialized')"
)
type InlineValueEvaluatableExpression ¶
type InlineValueEvaluatableExpression struct { // The document range for which the inline value applies. // The range is used to extract the evaluatable expression from the underlying document. Range Range `json:"range,omitempty"` // If specified the expression overrides the extracted expression. Expression *string `json:"expression,omitempty"` }
*
- Provide an inline value through an expression evaluation.
- If only a range is specified, the expression will be extracted from the underlying document.
- An optional expression can be used to override the extracted expression. *
- @since 3.17.0 - proposed state
type InlineValueText ¶
type InlineValueText struct { // The document range for which the inline value applies. Range Range `json:"range,omitempty"` // The text of the inline value. Text string `json:"text,omitempty"` }
*
- Provide inline value as text. *
- @since 3.17.0 - proposed state
type InlineValueVariableLookup ¶
type InlineValueVariableLookup struct { // The document range for which the inline value applies. // The range is used to extract the variable name from the underlying document. Range Range `json:"range,omitempty"` // If specified the name of the variable to look up. VariableName *string `json:"variableName,omitempty"` // How to perform the lookup. CaseSensitiveLookup bool `json:"caseSensitiveLookup,omitempty"` }
*
- Provide inline value through a variable lookup.
- If only a range is specified, the variable name will be extracted from the underlying document.
- An optional variable name can be used to override the extracted name. *
- @since 3.17.0 - proposed state
type InlineValuesClientCapabilities ¶
type InlineValuesClientCapabilities struct { // Whether implementation supports dynamic registration for inline value providers. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- Client capabilities specific to inline values. *
- @since 3.17.0 - proposed state
type InlineValuesContext ¶
type InlineValuesContext struct { // The document range where execution has stopped. // Typically the end position of the range denotes the line where the inline values are shown. StoppedLocation Range `json:"stoppedLocation,omitempty"` }
*
- @since 3.17.0 - proposed state
type InlineValuesOptions ¶
type InlineValuesOptions struct {
WorkDoneProgressOptions
}
*
- Inline values options used during static registration. *
- @since 3.17.0 - proposed state
type InlineValuesParams ¶
type InlineValuesParams struct { WorkDoneProgressParams // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The visible document range for which inline values should be computed. ViewPort Range `json:"viewPort,omitempty"` // Additional information about the context in which inline values were // requested. Context InlineValuesContext `json:"context,omitempty"` }
*
- A parameter literal used in inline values requests. *
- @since 3.17.0 - proposed state
type InlineValuesRegistrationOptions ¶
type InlineValuesRegistrationOptions struct { InlineValuesOptions TextDocumentRegistrationOptions StaticRegistrationOptions }
*
- Inline value options used during static or dynamic registration. *
- @since 3.17.0 - proposed state
type InlineValuesWorkspaceClientCapabilities ¶
type InlineValuesWorkspaceClientCapabilities struct { // Whether the client implementation supports a refresh request sent from the // server to the client. // // Note that this event is global and will force the client to refresh all // inline values currently shown. It should be used with absolute care and is // useful for situation where a server for example detect a project wide // change that requires such a calculation. RefreshSupport *bool `json:"refreshSupport,omitempty"` }
*
- Client workspace capabilities specific to inline values. *
- @since 3.17.0 - proposed state
type InsertReplaceEdit ¶
type InsertReplaceEdit struct { // The string to be inserted. NewText string `json:"newText,omitempty"` // The range if the insert is requested Insert Range `json:"insert,omitempty"` // The range if the replace is requested. Replace Range `json:"replace,omitempty"` }
*
- A special text edit to provide an insert and a replace operation. *
- @since 3.16.0
type InsertTextFormat ¶
type InsertTextFormat int
*
- Defines whether the insert text in a completion item should be interpreted as
- plain text or a snippet.
const ( /** * The primary text to be inserted is treated as a plain string. */ InsertTextFormatPlainText InsertTextFormat = 1 /** * The primary text to be inserted is treated as a snippet. * * A snippet can define tab stops and placeholders with `$1`, `$2` * and `${3:foo}`. `$0` defines the final tab stop, it defaults to * the end of the snippet. Placeholders with equal identifiers are linked, * that is typing in one will update others too. * * See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax */ InsertTextFormatSnippet InsertTextFormat = 2 )
func (InsertTextFormat) String ¶
func (i InsertTextFormat) String() string
type InsertTextMode ¶
type InsertTextMode int
*
- How whitespace and indentation is handled during completion
- item insertion. *
- @since 3.16.0
const ( /** * The insertion or replace strings is taken as it is. If the * value is multi line the lines below the cursor will be * inserted using the indentation defined in the string value. * The client will not apply any kind of adjustments to the * string. */ InsertTextModeAsIs InsertTextMode = 1 /** * The editor adjusts leading whitespace of new lines so that * they match the indentation up to the cursor of the line for * which the item is accepted. * * Consider a line like this: <2tabs><cursor><3tabs>foo. Accepting a * multi line completion item is indented using 2 tabs and all * following lines inserted will be indented using 2 tabs as well. */ InsertTextModeAdjustIndentation InsertTextMode = 2 )
func (InsertTextMode) String ¶
func (i InsertTextMode) String() string
type LSPErrorCodes ¶
type LSPErrorCodes int
const ( /** * This is the start range of LSP reserved error codes. * It doesn't denote a real error code. * * @since 3.16.0 */ LSPErrorCodesLspReservedErrorRangeStart LSPErrorCodes = -32899 /** * A request failed but it was syntactically correct, e.g the * method name was known and the parameters were valid. The error * message should contain human readable information about why * the request failed. * * @since 3.17.0 */ LSPErrorCodesRequestFailed LSPErrorCodes = -32803 /** * The server cancelled the request. This error code should * only be used for requests that explicitly support being * server cancellable. * * @since 3.17.0 */ LSPErrorCodesServerCancelled LSPErrorCodes = -32802 /** * The server detected that the content of a document got * modified outside normal conditions. A server should * NOT send this error code if it detects a content change * in it unprocessed messages. The result even computed * on an older state might still be useful for the client. * * If a client decides that a result is not of any use anymore * the client should cancel the request. */ LSPErrorCodesContentModified LSPErrorCodes = -32801 /** * The client has canceled a request and a server as detected * the cancel. */ LSPErrorCodesRequestCancelled LSPErrorCodes = -32800 /** * This is the end range of LSP reserved error codes. * It doesn't denote a real error code. * * @since 3.16.0 */ LSPErrorCodesLspReservedErrorRangeEnd LSPErrorCodes = -32800 )
func (LSPErrorCodes) String ¶
func (i LSPErrorCodes) String() string
type LinkedEditingRangeClientCapabilities ¶
type LinkedEditingRangeClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` // return value for the corresponding server capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- Client capabilities for the linked editing range request. *
- @since 3.16.0
type LinkedEditingRangeOptions ¶
type LinkedEditingRangeOptions struct {
WorkDoneProgressOptions
}
type LinkedEditingRangeParams ¶
type LinkedEditingRangeParams struct { TextDocumentPositionParams WorkDoneProgressParams }
type LinkedEditingRangeRegistrationOptions ¶
type LinkedEditingRangeRegistrationOptions struct { TextDocumentRegistrationOptions LinkedEditingRangeOptions StaticRegistrationOptions }
type LinkedEditingRanges ¶
type LinkedEditingRanges struct { // A list of ranges that can be edited together. The ranges must have // identical length and contain identical text content. The ranges cannot overlap. Ranges []Range `json:"ranges,omitempty"` // An optional word pattern (regular expression) that describes valid contents for // the given ranges. If no pattern is provided, the client configuration's word // pattern will be used. WordPattern *string `json:"wordPattern,omitempty"` }
*
- The result of a linked editing range request. *
- @since 3.16.0
type Location ¶
type Location struct { Uri DocumentUri `json:"uri,omitempty"` Range Range `json:"range,omitempty"` }
*
- Represents a location inside a resource, such as a line
- inside a text file.
type LocationLink ¶
type LocationLink struct { // Span of the origin of this link. // // Used as the underlined span for mouse definition hover. Defaults to the word range at // the definition position. OriginSelectionRange *Range `json:"originSelectionRange,omitempty"` // The target resource identifier of this link. TargetUri DocumentUri `json:"targetUri,omitempty"` // The full target range of this link. If the target for example is a symbol then target range is the // range enclosing this symbol not including leadingtrailing whitespace but everything else // like comments. This information is typically used to highlight the range in the editor. TargetRange Range `json:"targetRange,omitempty"` // The range that should be selected and revealed when this link is being followed, e.g the name of a function. // Must be contained by the the `targetRange`. See also `DocumentSymbol#range` TargetSelectionRange Range `json:"targetSelectionRange,omitempty"` }
*
- Represents the connection of two locations. Provides additional metadata over normal [locations](#Location),
- including an origin range.
type LogMessageNotification ¶
type LogMessageNotification string
*
- The logs message notification is sent from the server to the client to ask
- the client to logs a particular message.
const (
LogMessageNotificationType LogMessageNotification = "new ProtocolNotificationType<LogMessageParams, void>('window/logMessage')"
)
type LogMessageParams ¶
type LogMessageParams struct { // The message type. See {@link MessageType} Type MessageType `json:"type,omitempty"` // The actual message Message string `json:"message,omitempty"` }
*
- The logs message parameters.
type MarkdownClientCapabilities ¶
type MarkdownClientCapabilities struct { // The name of the parser. Parser string `json:"parser,omitempty"` // The version of the parser. Version *string `json:"version,omitempty"` }
*
- Client capabilities specific to the used markdown parser. *
- @since 3.16.0
type MarkupContent ¶
type MarkupContent struct { // The type of the Markup Kind MarkupKind `json:"kind,omitempty"` // The content itself Value string `json:"value,omitempty"` }
*
- A `MarkupContent` literal represents a string value which content is interpreted base on its
- kind flag. Currently the protocol supports `plaintext` and `markdown` as markup kinds. *
- If the kind is `markdown` then the value can contain fenced code blocks like in GitHub issues.
- See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting *
- Here is an example how such a string can be constructed using JavaScript / TypeScript:
- ```ts
- let markdown: MarkdownContent = {
- kind: MarkupKind.Markdown,
- value: [
- '# Header',
- 'Some text',
- '```typescript',
- 'someCode();',
- '```'
- ].join('\n')
- };
- ``` *
- *Please Note* that clients might sanitize the return markdown. A client could decide to
- remove HTML from the markdown to avoid script execution.
type MarkupKind ¶
type MarkupKind string
*
- Describes the content type that a client supports in various
- result literals like `Hover`, `ParameterInfo` or `CompletionItem`. *
- Please note that `MarkupKinds` must not start with a `$`. This kinds
- are reserved for internal usage.
const ( /** * Plain text is supported as a content format */ MarkupKindPlainText MarkupKind = "plaintext" /** * Markdown is supported as a content format */ MarkupKindMarkdown MarkupKind = "markdown" )
type MessageActionItem ¶
type MessageActionItem struct { // A short title like 'Retry', 'Open Log' etc. Title string `json:"title,omitempty"` // Additional attributes that the client preserves and // sends back to the server. This depends on the client // capability window.messageActionItem.additionalPropertiesSupport Key interface{} `json:"key,omitempty"` // string, bool, int, interface{}, }
type MessageType ¶
type MessageType int
*
- The message type
const ( /** * An error message. */ MessageTypeError MessageType = 1 /** * A warning message. */ MessageTypeWarning MessageType = 2 /** * An information message. */ MessageTypeInfo MessageType = 3 /** * A logs message. */ MessageTypeLog MessageType = 4 )
func (MessageType) String ¶
func (i MessageType) String() string
type Moniker ¶
type Moniker struct { // The scheme of the moniker. For example tsc or .Net Scheme string `json:"scheme,omitempty"` // The identifier of the moniker. The value is opaque in LSIF however // schema owners are allowed to define the structure if they want. Identifier string `json:"identifier,omitempty"` // The scope in which the moniker is unique Unique UniquenessLevel `json:"unique,omitempty"` // The moniker kind if known. Kind *MonikerKind `json:"kind,omitempty"` }
*
- Moniker definition to match LSIF 0.5 moniker definition. *
- @since 3.16.0
type MonikerClientCapabilities ¶
type MonikerClientCapabilities struct { // Whether moniker supports dynamic registration. If this is set to `true` // the client supports the new `MonikerRegistrationOptions` return value // for the corresponding server capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- Client capabilities specific to the moniker request. *
- @since 3.16.0
type MonikerKind ¶
type MonikerKind string
*
- The moniker kind. *
- @since 3.16.0
const ( /** * The moniker represent a symbol that is imported into a project */ MonikerKindImport MonikerKind = "import" /** * The moniker represents a symbol that is exported from a project */ MonikerKindExport MonikerKind = "export" /** * The moniker represents a symbol that is local to a project (e.g. a local * variable of a function, a class not visible outside the project, ...) */ MonikerKindLocal MonikerKind = "local" )
type MonikerOptions ¶
type MonikerOptions struct {
WorkDoneProgressOptions
}
type MonikerParams ¶
type MonikerParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams }
type MonikerRegistrationOptions ¶
type MonikerRegistrationOptions struct { TextDocumentRegistrationOptions MonikerOptions }
type MonikerRequest ¶
type MonikerRequest string
*
- 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`.
const ( MonikerRequestMethod MonikerRequest = "textDocument/moniker" MonikerRequestType MonikerRequest = "new ProtocolRequestType<MonikerParams, Moniker[] | null, Moniker[], void, MonikerRegistrationOptions>(method)" )
type OptionalVersionedTextDocumentIdentifier ¶
type OptionalVersionedTextDocumentIdentifier struct { TextDocumentIdentifier // The version number of this document. If a versioned text document identifier // is sent from the server to the client and the file is not open in the editor // (the server has not received an open notification before) the server can send // `null` to indicate that the version is unknown and the content on disk is the // truth (as specified with document content ownership). Version interface{} `json:"version,omitempty"` // int, null, }
*
- A text document identifier to optionally denote a specific version of a text document.
type ParameterInformation ¶
type ParameterInformation struct { /** * The label of this parameter information. * * Either a string or an inclusive start and exclusive end offsets within its containing * signature label. (see SignatureInformation.label). The offsets are based on a UTF-16 * string representation as `Position` and `Range` does. * * *Note*: a label of type string should be a substring of its containing signature label. * Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`. */ Label interface{} `json:"label,omitempty"` // string | [int, int] /** * The human-readable doc-comment of this signature. Will be shown * in the UI but can be omitted. */ Documentation interface{} `json:"documentation,omitempty"` // string | MarkupContent }
*
- Represents a parameter of a callable-signature. A parameter can
- have a label and a doc-comment.
type PartialResultParams ¶
type PartialResultParams struct { // An optional token that a server can use to report partial results (e.g. streaming) to // the client. PartialResultToken *ProgressToken `json:"partialResultToken,omitempty"` }
type Position ¶
type Position struct { // Line position in a document (zero-based). Line uint `json:"line"` // Character offset on a line in a document (zero-based). Assuming that the line is // represented as a string, the `character` value represents the gap between the // `character` and `character + 1`. // // If the character value is greater than the line length it defaults back to the // line length. Character uint `json:"character"` }
*
- Position in a text document expressed as zero-based line and character offset.
- The offsets are based on a UTF-16 string representation. So a string of the form
- `a𐐀b` the character offset of the character `a` is 0, the character offset of `𐐀`
- is 1 and the character offset of b is 3 since `𐐀` is represented using two code
- units in UTF-16. *
- Positions are line end character agnostic. So you can not specify a position that
- denotes `\r|\n` or `\n|` where `|` represents the character offset.
type PrepareRenameParams ¶
type PrepareRenameParams struct { TextDocumentPositionParams WorkDoneProgressParams }
type PrepareRenameRequest ¶
type PrepareRenameRequest string
*
- A request to test and perform the setup necessary for a rename. *
- @since 3.16 - support for default behavior
const ( PrepareRenameRequestMethod PrepareRenameRequest = "textDocument/prepareRename" PrepareRenameRequestType PrepareRenameRequest = "" /* 156-byte string literal not displayed */ )
type PrepareSupportDefaultBehavior ¶
type PrepareSupportDefaultBehavior int
---- Rename ----------------------------------------------
const ( /** * The client's default behavior is to select the identifier * according the to language's syntax rule. */ PrepareSupportDefaultBehaviorIdentifier PrepareSupportDefaultBehavior = 1 )
func (PrepareSupportDefaultBehavior) String ¶
func (i PrepareSupportDefaultBehavior) String() string
type PreviousResultId ¶
type ProgressToken ¶
type ProgressToken interface{} // number | string
type PublishDiagnosticsClientCapabilities ¶
type PublishDiagnosticsClientCapabilities struct { // Whether the clients accepts diagnostics with related information. RelatedInformation *bool `json:"relatedInformation,omitempty"` // Client supports the tag property to provide meta data about a diagnostic. // Clients supporting tags have to handle unknown tags gracefully. // // @since 3.15.0 TagSupport *struct { // The tags supported by the client. ValueSet []DiagnosticTag `json:"valueSet,omitempty"` } `json:"tagSupport,omitempty"` // Whether the client interprets the version property of the // `textDocumentpublishDiagnostics` notification`s parameter. // // @since 3.15.0 VersionSupport *bool `json:"versionSupport,omitempty"` // Client supports a codeDescription property // // @since 3.16.0 CodeDescriptionSupport *bool `json:"codeDescriptionSupport,omitempty"` // Whether code action supports the `data` property which is // preserved between a `textDocumentpublishDiagnostics` and // `textDocumentcodeAction` request. // // @since 3.16.0 DataSupport *bool `json:"dataSupport,omitempty"` }
*
- The publish diagnostic client capabilities.
type PublishDiagnosticsNotification ¶
type PublishDiagnosticsNotification string
*
- Diagnostics notification are sent from the server to the client to signal
- results of validation runs.
const (
PublishDiagnosticsNotificationType PublishDiagnosticsNotification = "new ProtocolNotificationType<PublishDiagnosticsParams, void>('textDocument/publishDiagnostics')"
)
type PublishDiagnosticsParams ¶
type PublishDiagnosticsParams struct { // The URI for which diagnostic information is reported. Uri DocumentUri `json:"uri,omitempty"` // Optional the version number of the document the diagnostics are published for. // // @since 3.15.0 Version *int `json:"version,omitempty"` // An array of diagnostic information items. Diagnostics []Diagnostic `json:"diagnostics"` }
*
- The publish diagnostic notification's parameters.
type Range ¶
type Range struct { // The range's start position Start Position `json:"start,omitempty"` // The range's end position. End Position `json:"end,omitempty"` }
*
- A range in a text document expressed as (zero-based) start and end positions. *
- If you want to specify a range that contains a line including the line ending
- character(s) then use an end position denoting the start of the next line.
- For example:
- ```ts
- {
- start: { line: 5, character: 23 }
- end : { line 6, character : 0 }
- }
- ```
type ReferenceClientCapabilities ¶
type ReferenceClientCapabilities struct { // Whether references supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- Client Capabilities for a ReferencesRequest(#ReferencesRequest).
type ReferenceContext ¶
type ReferenceContext struct { // Include the declaration of the current symbol. IncludeDeclaration bool `json:"includeDeclaration,omitempty"` }
*
- Value-object that contains additional information when
- requesting references.
type ReferenceOptions ¶
type ReferenceOptions struct {
WorkDoneProgressOptions
}
*
- Reference options.
type ReferenceParams ¶
type ReferenceParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams Context ReferenceContext `json:"context,omitempty"` }
*
- Parameters for a ReferencesRequest(#ReferencesRequest).
type ReferenceRegistrationOptions ¶
type ReferenceRegistrationOptions struct { TextDocumentRegistrationOptions ReferenceOptions }
*
- Registration options for a ReferencesRequest(#ReferencesRequest).
type ReferencesRequest ¶
type ReferencesRequest string
*
- 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.
const ( ReferencesRequestMethod ReferencesRequest = "textDocument/references" ReferencesRequestType ReferencesRequest = "new ProtocolRequestType<ReferenceParams, Location[] | null, Location[], void, ReferenceRegistrationOptions>(method)" )
type Registration ¶
type Registration struct { // The id used to register the request. The id can be used to deregister // the request again. Id string `json:"id,omitempty"` // The method to register for. Method string `json:"method,omitempty"` // Options necessary for the registration. RegisterOptions interface{} `json:"registerOptions,omitempty"` }
*
- General parameters to to register for an notification or to register a provider.
type RegistrationParams ¶
type RegistrationParams struct {
Registrations []Registration `json:"registrations,omitempty"`
}
type RegistrationRequest ¶
type RegistrationRequest string
*
- The `client/registerCapability` request is sent from the server to the client to register a new capability
- handler on the client side.
const (
RegistrationRequestType RegistrationRequest = "new ProtocolRequestType<RegistrationParams, void, never, void, void>('client/registerCapability')"
)
type RegularExpressionsClientCapabilities ¶
type RegularExpressionsClientCapabilities struct { // The engine's name. Engine string `json:"engine,omitempty"` // The engine's version. Version *string `json:"version,omitempty"` }
*
- Client capabilities specific to regular expressions. *
- @since 3.16.0
type RenameClientCapabilities ¶
type RenameClientCapabilities struct { // Whether rename supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // Client supports testing for validity of rename operations // before execution. // // @since 3.12.0 PrepareSupport *bool `json:"prepareSupport,omitempty"` // Client supports the default behavior result. // // The value indicates the default behavior used by the // client. // // @since 3.16.0 PrepareSupportDefaultBehavior *PrepareSupportDefaultBehavior `json:"prepareSupportDefaultBehavior,omitempty"` // Whether th client honors the change annotations in // text edits and resource operations returned via the // rename request's workspace edit by for example presenting // the workspace edit in the user interface and asking // for confirmation. // // @since 3.16.0 HonorsChangeAnnotations *bool `json:"honorsChangeAnnotations,omitempty"` }
type RenameFile ¶
type RenameFile struct { ResourceOperation // A rename Kind interface{} `json:"kind,omitempty"` // 'rename' // The old (existing) location. OldUri DocumentUri `json:"oldUri,omitempty"` // The new location. NewUri DocumentUri `json:"newUri,omitempty"` // Rename options. Options *RenameFileOptions `json:"options,omitempty"` }
*
- Rename file operation
type RenameFileOptions ¶
type RenameFileOptions struct { // Overwrite target if existing. Overwrite wins over `ignoreIfExists` Overwrite *bool `json:"overwrite,omitempty"` // Ignores if target exists. IgnoreIfExists *bool `json:"ignoreIfExists,omitempty"` }
*
- Rename file options
type RenameFilesParams ¶
type RenameFilesParams struct { // An array of all filesfolders renamed in this operation. When a folder is renamed, only // the folder will be included, and not its children. Files []FileRename `json:"files,omitempty"` }
*
- The parameters sent in file rename requests/notifications. *
- @since 3.16.0
type RenameOptions ¶
type RenameOptions struct { WorkDoneProgressOptions // Renames should be checked and tested before being executed. // // @since version 3.12.0 PrepareProvider *bool `json:"prepareProvider,omitempty"` }
*
- Provider options for a RenameRequest(#RenameRequest).
type RenameParams ¶
type RenameParams struct { WorkDoneProgressParams // The document to rename. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The position at which this request was sent. Position Position `json:"position,omitempty"` // The new name of the symbol. If the given name is not valid the // request must return a [ResponseError](#ResponseError) with an // appropriate message set. NewName string `json:"newName,omitempty"` }
*
- The parameters of a RenameRequest(#RenameRequest).
type RenameRegistrationOptions ¶
type RenameRegistrationOptions struct { TextDocumentRegistrationOptions RenameOptions }
*
- Registration options for a RenameRequest(#RenameRequest).
type RenameRequest ¶
type RenameRequest string
*
- A request to rename a symbol.
const ( RenameRequestMethod RenameRequest = "textDocument/rename" RenameRequestType RenameRequest = "new ProtocolRequestType<RenameParams, WorkspaceEdit | null, never, void, RenameRegistrationOptions>(method)" )
type ResourceOperation ¶
type ResourceOperation struct { // The resource operation kind. Kind string `json:"kind,omitempty"` // An optional annotation identifier describing the operation. // // @since 3.16.0 AnnotationId *ChangeAnnotationIdentifier `json:"annotationId,omitempty"` }
*
- A generic resource operation.
type ResourceOperationKind ¶
type ResourceOperationKind string
const ( /** * Supports creating new files and folders. */ ResourceOperationKindCreate ResourceOperationKind = "create" /** * Supports renaming existing files and folders. */ ResourceOperationKindRename ResourceOperationKind = "rename" /** * Supports deleting existing files and folders. */ ResourceOperationKindDelete ResourceOperationKind = "delete" )
type SaveOptions ¶
type SaveOptions struct { // The client is supposed to include the content on save. IncludeText *bool `json:"includeText,omitempty"` }
*
- Save options.
type SelectionRange ¶
type SelectionRange struct { // The [range](#Range) of this selection range. Range Range `json:"range,omitempty"` // The parent selection range containing this range. Therefore `parent.range` must contain `this.range`. Parent *SelectionRange `json:"parent,omitempty"` }
*
- A selection range represents a part of a selection hierarchy. A selection range
- may have a parent selection range that contains it.
type SelectionRangeClientCapabilities ¶
type SelectionRangeClientCapabilities struct { // Whether implementation supports dynamic registration for selection range providers. If this is set to `true` // the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server // capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
---- capabilities
type SelectionRangeOptions ¶
type SelectionRangeOptions struct {
WorkDoneProgressOptions
}
type SelectionRangeParams ¶
type SelectionRangeParams struct { WorkDoneProgressParams PartialResultParams // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The positions inside the text document. Positions []Position `json:"positions,omitempty"` }
*
- A parameter literal used in selection range requests.
type SelectionRangeRegistrationOptions ¶
type SelectionRangeRegistrationOptions struct { SelectionRangeOptions TextDocumentRegistrationOptions StaticRegistrationOptions }
type SemanticTokenModifiers ¶
type SemanticTokenModifiers string
*
- A set of predefined token modifiers. This set is not fixed
- an clients can specify additional token types via the
- corresponding client capabilities. *
- @since 3.16.0
const ( SemanticTokenModifiersDeclaration SemanticTokenModifiers = "declaration" SemanticTokenModifiersDefinition SemanticTokenModifiers = "definition" SemanticTokenModifiersReadonly SemanticTokenModifiers = "readonly" SemanticTokenModifiersStatic SemanticTokenModifiers = "static" SemanticTokenModifiersDeprecated SemanticTokenModifiers = "deprecated" SemanticTokenModifiersAbstract SemanticTokenModifiers = "abstract" SemanticTokenModifiersAsync SemanticTokenModifiers = "async" SemanticTokenModifiersModification SemanticTokenModifiers = "modification" SemanticTokenModifiersDocumentation SemanticTokenModifiers = "documentation" SemanticTokenModifiersDefaultLibrary SemanticTokenModifiers = "defaultLibrary" )
type SemanticTokenTypes ¶
type SemanticTokenTypes string
*
- A set of predefined token types. This set is not fixed
- an clients can specify additional token types via the
- corresponding client capabilities. *
- @since 3.16.0
const ( SemanticTokenTypesNamespace SemanticTokenTypes = "namespace" /** * Represents a generic type. Acts as a fallback for types which can't be mapped to * a specific type like class or enum. */ SemanticTokenTypesType SemanticTokenTypes = "type" SemanticTokenTypesClass SemanticTokenTypes = "class" SemanticTokenTypesEnum SemanticTokenTypes = "enum" SemanticTokenTypesInterface SemanticTokenTypes = "interface" SemanticTokenTypesStruct SemanticTokenTypes = "struct" SemanticTokenTypesTypeParameter SemanticTokenTypes = "typeParameter" SemanticTokenTypesParameter SemanticTokenTypes = "parameter" SemanticTokenTypesVariable SemanticTokenTypes = "variable" SemanticTokenTypesProperty SemanticTokenTypes = "property" SemanticTokenTypesEnumMember SemanticTokenTypes = "enumMember" SemanticTokenTypesEvent SemanticTokenTypes = "event" SemanticTokenTypesFunction SemanticTokenTypes = "function" SemanticTokenTypesMethod SemanticTokenTypes = "method" SemanticTokenTypesMacro SemanticTokenTypes = "macro" SemanticTokenTypesKeyword SemanticTokenTypes = "keyword" SemanticTokenTypesModifier SemanticTokenTypes = "modifier" SemanticTokenTypesComment SemanticTokenTypes = "comment" SemanticTokenTypesString SemanticTokenTypes = "string" SemanticTokenTypesNumber SemanticTokenTypes = "number" SemanticTokenTypesRegexp SemanticTokenTypes = "regexp" SemanticTokenTypesOperator SemanticTokenTypes = "operator" /** * @since 3.17.0 */ SemanticTokenTypesDecorator SemanticTokenTypes = "decorator" )
type SemanticTokens ¶
type SemanticTokens struct { // An optional result id. If provided and clients support delta updating // the client will include the result id in the next semantic token request. // A server can then instead of computing all semantic tokens again simply // send a delta. ResultId *string `json:"resultId,omitempty"` // The actual tokens. Data []uint `json:"data,omitempty"` }
*
- @since 3.16.0
type SemanticTokensClientCapabilities ¶
type SemanticTokensClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` // return value for the corresponding server capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // Which requests the client supports and might send to the server // depending on the server's capability. Please note that clients might not // show semantic tokens or degrade some of the user experience if a range // or full request is advertised by the client but not provided by the // server. If for example the client capability `requests.full` and // `request.range` are both set to true but the server only provides a // range provider the client might not render a minimap correctly or might // even decide to not show any semantic tokens at all. Requests interface{} `json:"requests,omitempty"` // range, full, // The token types that the client supports. TokenTypes []string `json:"tokenTypes,omitempty"` // The token modifiers that the client supports. TokenModifiers []string `json:"tokenModifiers,omitempty"` // The token formats the clients supports. Formats []TokenFormat `json:"formats,omitempty"` // Whether the client supports tokens that can overlap each other. OverlappingTokenSupport *bool `json:"overlappingTokenSupport,omitempty"` // Whether the client supports tokens that can span multiple lines. MultilineTokenSupport *bool `json:"multilineTokenSupport,omitempty"` // Whether the client allows the server to actively cancel a // semantic token request, e.g. supports returning // LSPErrorCodes.ServerCancelled. If a server does the client // needs to retrigger the request. // // @since 3.17.0 ServerCancelSupport *bool `json:"serverCancelSupport,omitempty"` }
*
- @since 3.16.0
type SemanticTokensDelta ¶
type SemanticTokensDelta struct { ResultId *string `json:"resultId,omitempty"` // The semantic token edits to transform a previous result into a new result. Edits []SemanticTokensEdit `json:"edits,omitempty"` }
*
- @since 3.16.0
type SemanticTokensDeltaParams ¶
type SemanticTokensDeltaParams struct { WorkDoneProgressParams PartialResultParams // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The result id of a previous response. The result Id can either point to a full response // or a delta response depending on what was received last. PreviousResultId string `json:"previousResultId,omitempty"` }
*
- @since 3.16.0
type SemanticTokensDeltaPartialResult ¶
type SemanticTokensDeltaPartialResult struct {
Edits []SemanticTokensEdit `json:"edits,omitempty"`
}
*
- @since 3.16.0
type SemanticTokensEdit ¶
type SemanticTokensEdit struct { // The start offset of the edit. Start uint `json:"start,omitempty"` // The count of elements to remove. DeleteCount uint `json:"deleteCount,omitempty"` // The elements to insert. Data *[]uint `json:"data,omitempty"` }
*
- @since 3.16.0
type SemanticTokensLegend ¶
type SemanticTokensLegend struct { // The token types a server uses. TokenTypes []string `json:"tokenTypes,omitempty"` // The token modifiers a server uses. TokenModifiers []string `json:"tokenModifiers,omitempty"` }
*
- @since 3.16.0
type SemanticTokensOptions ¶
type SemanticTokensOptions struct { WorkDoneProgressOptions // The legend used by the server Legend SemanticTokensLegend `json:"legend,omitempty"` // Server supports providing semantic tokens for a specific range // of a document. Range *bool `json:"range,omitempty"` // Server supports providing semantic tokens for a full document. Full *bool `json:"full,omitempty"` }
*
- @since 3.16.0
type SemanticTokensParams ¶
type SemanticTokensParams struct { WorkDoneProgressParams PartialResultParams // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` }
*
- @since 3.16.0
type SemanticTokensPartialResult ¶
type SemanticTokensPartialResult struct {
Data []uint `json:"data,omitempty"`
}
*
- @since 3.16.0
type SemanticTokensRangeParams ¶
type SemanticTokensRangeParams struct { WorkDoneProgressParams PartialResultParams // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The range the semantic tokens are requested for. Range Range `json:"range,omitempty"` }
*
- @since 3.16.0
type SemanticTokensRegistrationOptions ¶
type SemanticTokensRegistrationOptions struct { TextDocumentRegistrationOptions SemanticTokensOptions StaticRegistrationOptions }
*
- @since 3.16.0
type SemanticTokensRegistrationType ¶
type SemanticTokensRegistrationType string
const ( SemanticTokensRegistrationTypeMethod SemanticTokensRegistrationType = "textDocument/semanticTokens" SemanticTokensRegistrationTypeType SemanticTokensRegistrationType = "new RegistrationType<SemanticTokensRegistrationOptions>(method)" )
type SemanticTokensWorkspaceClientCapabilities ¶
type SemanticTokensWorkspaceClientCapabilities struct { // Whether the client implementation supports a refresh request sent from // the server to the client. // // Note that this event is global and will force the client to refresh all // semantic tokens currently shown. It should be used with absolute care // and is useful for situation where a server for example detects a project // wide change that requires such a calculation. RefreshSupport *bool `json:"refreshSupport,omitempty"` }
*
- @since 3.16.0
type ServerCapabilities ¶
type ServerCapabilities struct { ServerCapabilities_ WorkspaceFoldersServerCapabilities }
type ServerCapabilities_ ¶
type ServerCapabilities_ struct { // Defines how text documents are synced. Is either a detailed structure defining each notification or // for backwards compatibility the TextDocumentSyncKind number. TextDocumentSync interface{} `json:"textDocumentSync,omitempty"` // TextDocumentSyncOptions, TextDocumentSyncKind, // The server provides completion support. CompletionProvider *CompletionOptions `json:"completionProvider,omitempty"` // The server provides hover support. HoverProvider interface{} `json:"hoverProvider,omitempty"` // bool, HoverOptions, // The server provides signature help support. SignatureHelpProvider *SignatureHelpOptions `json:"signatureHelpProvider,omitempty"` // The server provides Goto Declaration support. DeclarationProvider interface{} `json:"declarationProvider,omitempty"` // bool, DeclarationOptions, DeclarationRegistrationOptions, // The server provides goto definition support. DefinitionProvider interface{} `json:"definitionProvider,omitempty"` // bool, DefinitionOptions, // The server provides Goto Type Definition support. TypeDefinitionProvider interface{} `json:"typeDefinitionProvider,omitempty"` // bool, TypeDefinitionOptions, TypeDefinitionRegistrationOptions, // The server provides Goto Implementation support. ImplementationProvider interface{} `json:"implementationProvider,omitempty"` // bool, ImplementationOptions, ImplementationRegistrationOptions, // The server provides find references support. ReferencesProvider interface{} `json:"referencesProvider,omitempty"` // bool, ReferenceOptions, // The server provides document highlight support. DocumentHighlightProvider interface{} `json:"documentHighlightProvider,omitempty"` // bool, DocumentHighlightOptions, // The server provides document symbol support. DocumentSymbolProvider interface{} `json:"documentSymbolProvider,omitempty"` // bool, DocumentSymbolOptions, // The server provides code actions. CodeActionOptions may only be // specified if the client states that it supports // `codeActionLiteralSupport` in its initial `initialize` request. CodeActionProvider interface{} `json:"codeActionProvider,omitempty"` // bool, CodeActionOptions, // The server provides code lens. CodeLensProvider *CodeLensOptions `json:"codeLensProvider,omitempty"` // The server provides document link support. DocumentLinkProvider *DocumentLinkOptions `json:"documentLinkProvider,omitempty"` // The server provides color provider support. ColorProvider interface{} `json:"colorProvider,omitempty"` // bool, DocumentColorOptions, DocumentColorRegistrationOptions, // The server provides workspace symbol support. WorkspaceSymbolProvider interface{} `json:"workspaceSymbolProvider,omitempty"` // bool, WorkspaceSymbolOptions, // The server provides document formatting. DocumentFormattingProvider interface{} `json:"documentFormattingProvider,omitempty"` // bool, DocumentFormattingOptions, // The server provides document range formatting. DocumentRangeFormattingProvider interface{} `json:"documentRangeFormattingProvider,omitempty"` // bool, DocumentRangeFormattingOptions, // The server provides document formatting on typing. DocumentOnTypeFormattingProvider *DocumentOnTypeFormattingOptions `json:"documentOnTypeFormattingProvider,omitempty"` // The server provides rename support. RenameOptions may only be // specified if the client states that it supports // `prepareSupport` in its initial `initialize` request. RenameProvider interface{} `json:"renameProvider,omitempty"` // bool, RenameOptions, // The server provides folding provider support. FoldingRangeProvider interface{} `json:"foldingRangeProvider,omitempty"` // bool, FoldingRangeOptions, FoldingRangeRegistrationOptions, // The server provides selection range support. SelectionRangeProvider interface{} `json:"selectionRangeProvider,omitempty"` // bool, SelectionRangeOptions, SelectionRangeRegistrationOptions, // The server provides execute command support. ExecuteCommandProvider *ExecuteCommandOptions `json:"executeCommandProvider,omitempty"` // The server provides call hierarchy support. // // @since 3.16.0 CallHierarchyProvider interface{} `json:"callHierarchyProvider,omitempty"` // bool, CallHierarchyOptions, CallHierarchyRegistrationOptions, // The server provides linked editing range support. // // @since 3.16.0 LinkedEditingRangeProvider interface{} `json:"linkedEditingRangeProvider,omitempty"` // bool, LinkedEditingRangeOptions, LinkedEditingRangeRegistrationOptions, // The server provides semantic tokens support. // // @since 3.16.0 SemanticTokensProvider interface{} `json:"semanticTokensProvider,omitempty"` // SemanticTokensOptions, SemanticTokensRegistrationOptions, // Window specific server capabilities. Workspace *struct { // The server is interested in notificationsrequests for operations on files. // // @since 3.16.0 FileOperations *FileOperationOptions `json:"fileOperations,omitempty"` /** * The server supports workspace folder. * * @since 3.6.0 */ WorkspaceFolders interface{} `json:"workspaceFolders,omitempty"` // WorkspaceFoldersServerCapabilities } `json:"workspace,omitempty"` // The server provides moniker support. // // @since 3.16.0 MonikerProvider interface{} `json:"monikerProvider,omitempty"` // bool, MonikerOptions, MonikerRegistrationOptions, // Experimental server capabilities. Experimental interface{} `json:"experimental,omitempty"` }
type ShowDocumentClientCapabilities ¶
type ShowDocumentClientCapabilities struct { // The client has support for the show document // request. Support bool `json:"support,omitempty"` }
*
- Client capabilities for the show document request. *
- @since 3.16.0
type ShowDocumentParams ¶
type ShowDocumentParams struct { // The document uri to show. Uri URI `json:"uri,omitempty"` // Indicates to show the resource in an external program. // To show for example `https:code.visualstudio.com` // in the default WEB browser set `external` to `true`. External *bool `json:"external,omitempty"` // An optional property to indicate whether the editor // showing the document should take focus or not. // Clients might ignore this property if an external // program in started. TakeFocus *bool `json:"takeFocus,omitempty"` // An optional selection range if the document is a text // document. Clients might ignore the property if an // external program is started or the file is not a text // file. Selection *Range `json:"selection,omitempty"` }
*
- Params to show a document. *
- @since 3.16.0
type ShowDocumentResult ¶
type ShowDocumentResult struct { // A boolean indicating if the show was successful. Success bool `json:"success,omitempty"` }
*
- The result of an show document request. *
- @since 3.16.0
type ShowMessageNotification ¶
type ShowMessageNotification string
*
- 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.
const (
ShowMessageNotificationType ShowMessageNotification = "new ProtocolNotificationType<ShowMessageParams, void>('window/showMessage')"
)
type ShowMessageParams ¶
type ShowMessageParams struct { // The message type. See {@link MessageType} Type MessageType `json:"type,omitempty"` // The actual message Message string `json:"message,omitempty"` }
*
- The parameters of a notification message.
type ShowMessageRequest ¶
type ShowMessageRequest string
*
- 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.
const (
ShowMessageRequestType ShowMessageRequest = "new ProtocolRequestType<ShowMessageRequestParams, MessageActionItem | null, never, void, void>('window/showMessageRequest')"
)
type ShowMessageRequestClientCapabilities ¶
type ShowMessageRequestClientCapabilities struct { // Capabilities specific to the `MessageActionItem` type. MessageActionItem *struct { // Whether the client supports additional attributes which // are preserved and send back to the server in the // request's response. AdditionalPropertiesSupport *bool `json:"additionalPropertiesSupport,omitempty"` } `json:"messageActionItem,omitempty"` }
*
- Show message request client capabilities
type ShowMessageRequestParams ¶
type ShowMessageRequestParams struct { // The message type. See {@link MessageType} Type MessageType `json:"type,omitempty"` // The actual message Message string `json:"message,omitempty"` // The message action items to present. Actions *[]MessageActionItem `json:"actions,omitempty"` }
type ShutdownRequest ¶
type ShutdownRequest string
*
- 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.
const (
ShutdownRequestType ShutdownRequest = "new ProtocolRequestType0<void, never, void, void>('shutdown')"
)
type SignatureHelp ¶
type SignatureHelp struct { // One or more signatures. Signatures []SignatureInformation `json:"signatures,omitempty"` // The active signature. If omitted or the value lies outside the // range of `signatures` the value defaults to zero or is ignored if // the `SignatureHelp` has no signatures. // // Whenever possible implementors should make an active decision about // the active signature and shouldn't rely on a default value. // // In future version of the protocol this property might become // mandatory to better express this. ActiveSignature *uint `json:"activeSignature,omitempty"` // The active parameter of the active signature. If omitted or the value // lies outside the range of `signatures[activeSignature].parameters` // defaults to 0 if the active signature has parameters. If // the active signature has no parameters it is ignored. // In future version of the protocol this property might become // mandatory to better express the active parameter if the // active signature does have any. ActiveParameter *uint `json:"activeParameter,omitempty"` }
*
- Signature help represents the signature of something
- callable. There can be multiple signature but only one
- active and only one active parameter.
type SignatureHelpClientCapabilities ¶
type SignatureHelpClientCapabilities struct { // Whether signature help supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // The client supports the following `SignatureInformation` // specific properties. SignatureInformation interface{} `json:"signatureInformation,omitempty"` // documentationFormat, parameterInformation, activeParameterSupport, // The client supports to send additional context information for a // `textDocumentsignatureHelp` request. A client that opts into // contextSupport will also support the `retriggerCharacters` on // `SignatureHelpOptions`. // // @since 3.15.0 ContextSupport *bool `json:"contextSupport,omitempty"` }
*
- Client Capabilities for a SignatureHelpRequest(#SignatureHelpRequest).
type SignatureHelpContext ¶
type SignatureHelpContext struct { // Action that caused signature help to be triggered. TriggerKind SignatureHelpTriggerKind `json:"triggerKind,omitempty"` // Character that caused signature help to be triggered. // // This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter` TriggerCharacter *string `json:"triggerCharacter,omitempty"` // `true` if signature help was already showing when it was triggered. // // Retrigger occurs when the signature help is already active and can be caused by actions such as // typing a trigger character, a cursor move, or document content changes. IsRetrigger bool `json:"isRetrigger,omitempty"` // The currently active `SignatureHelp`. // // The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on // the user navigating through available signatures. ActiveSignatureHelp *SignatureHelp `json:"activeSignatureHelp,omitempty"` }
*
- Additional information about the context in which a signature help request was triggered. *
- @since 3.15.0
type SignatureHelpOptions ¶
type SignatureHelpOptions struct { WorkDoneProgressOptions // List of characters that trigger signature help. TriggerCharacters *[]string `json:"triggerCharacters,omitempty"` // List of characters that re-trigger signature help. // // These trigger characters are only active when signature help is already showing. All trigger characters // are also counted as re-trigger characters. // // @since 3.15.0 RetriggerCharacters *[]string `json:"retriggerCharacters,omitempty"` }
*
- Server Capabilities for a SignatureHelpRequest(#SignatureHelpRequest).
type SignatureHelpParams ¶
type SignatureHelpParams struct { TextDocumentPositionParams WorkDoneProgressParams // The signature help context. This is only available if the client specifies // to send this using the client capability `textDocument.signatureHelp.contextSupport === true` // // @since 3.15.0 Context *SignatureHelpContext `json:"context,omitempty"` }
*
- Parameters for a SignatureHelpRequest(#SignatureHelpRequest).
type SignatureHelpRegistrationOptions ¶
type SignatureHelpRegistrationOptions struct { TextDocumentRegistrationOptions SignatureHelpOptions }
*
- Registration options for a SignatureHelpRequest(#SignatureHelpRequest).
type SignatureHelpRequest ¶
type SignatureHelpRequest string
const ( SignatureHelpRequestMethod SignatureHelpRequest = "textDocument/signatureHelp" SignatureHelpRequestType SignatureHelpRequest = "new ProtocolRequestType<SignatureHelpParams, SignatureHelp | null, never, void, SignatureHelpRegistrationOptions>(method)" )
type SignatureHelpTriggerKind ¶
type SignatureHelpTriggerKind int
*
- How a signature help was triggered. *
- @since 3.15.0
const ( /** * Signature help was invoked manually by the user or by a command. */ SignatureHelpTriggerKindInvoked SignatureHelpTriggerKind = 1 /** * Signature help was triggered by a trigger character. */ SignatureHelpTriggerKindTriggerCharacter SignatureHelpTriggerKind = 2 /** * Signature help was triggered by the cursor moving or by the document content changing. */ SignatureHelpTriggerKindContentChange SignatureHelpTriggerKind = 3 )
func (SignatureHelpTriggerKind) String ¶
func (i SignatureHelpTriggerKind) String() string
type SignatureInformation ¶
type SignatureInformation struct { // The label of this signature. Will be shown in // the UI. Label string `json:"label,omitempty"` // The human-readable doc-comment of this signature. Will be shown // in the UI but can be omitted. Documentation interface{} `json:"documentation,omitempty"` // string, MarkupContent, // The parameters of this signature. Parameters *[]ParameterInformation `json:"parameters,omitempty"` // The index of the active parameter. // // If provided, this is used in place of `SignatureHelp.activeParameter`. // // @since 3.16.0 ActiveParameter *uint `json:"activeParameter,omitempty"` }
*
- Represents the signature of something callable. A signature
- can have a label, like a function-name, a doc-comment, and
- a set of parameters.
type StaticRegistrationOptions ¶
type StaticRegistrationOptions struct { // The id used to register the request. The id can be used to deregister // the request again. See also Registration#id. Id *string `json:"id,omitempty"` }
*
- Static registration options to be returned in the initialize
- request.
type SymbolInformation ¶
type SymbolInformation struct { // The name of this symbol. Name string `json:"name,omitempty"` // The kind of this symbol. Kind SymbolKind `json:"kind,omitempty"` // Tags for this completion item. // // @since 3.16.0 Tags *[]SymbolTag `json:"tags,omitempty"` // Indicates if this symbol is deprecated. // // @deprecated Use tags instead Deprecated *bool `json:"deprecated,omitempty"` // The location of this symbol. The location's range is used by a tool // to reveal the location in the editor. If the symbol is selected in the // tool the range's start information is used to position the cursor. So // the range usually spans more than the actual symbol's name and does // normally include thinks like visibility modifiers. // // The range doesn't have to denote a node range in the sense of a abstract // syntax tree. It can therefore not be used to re-construct a hierarchy of // the symbols. Location Location `json:"location,omitempty"` // The name of the symbol containing this symbol. This information is for // user interface purposes (e.g. to render a qualifier in the user interface // if necessary). It can't be used to re-infer a hierarchy for the document // symbols. ContainerName *string `json:"containerName,omitempty"` }
*
- Represents information about programming constructs like variables, classes,
- interfaces etc.
type SymbolKind ¶
type SymbolKind int
*
- A symbol kind.
const ( SymbolKindFile SymbolKind = 1 SymbolKindModule SymbolKind = 2 SymbolKindNamespace SymbolKind = 3 SymbolKindPackage SymbolKind = 4 SymbolKindClass SymbolKind = 5 SymbolKindMethod SymbolKind = 6 SymbolKindProperty SymbolKind = 7 SymbolKindField SymbolKind = 8 SymbolKindConstructor SymbolKind = 9 SymbolKindEnum SymbolKind = 10 SymbolKindInterface SymbolKind = 11 SymbolKindFunction SymbolKind = 12 SymbolKindVariable SymbolKind = 13 SymbolKindConstant SymbolKind = 14 SymbolKindString SymbolKind = 15 SymbolKindNumber SymbolKind = 16 SymbolKindBoolean SymbolKind = 17 SymbolKindArray SymbolKind = 18 SymbolKindObject SymbolKind = 19 SymbolKindKey SymbolKind = 20 SymbolKindNull SymbolKind = 21 SymbolKindEnumMember SymbolKind = 22 SymbolKindStruct SymbolKind = 23 SymbolKindEvent SymbolKind = 24 SymbolKindOperator SymbolKind = 25 SymbolKindTypeParameter SymbolKind = 26 )
func (SymbolKind) String ¶
func (i SymbolKind) String() string
type SymbolTag ¶
type SymbolTag int
*
- Symbol tags are extra annotations that tweak the rendering of a symbol.
- @since 3.16
const ( /** * Render a symbol as obsolete, usually using a strike-out. */ SymbolTagDeprecated SymbolTag = 1 )
type TelemetryEventNotification ¶
type TelemetryEventNotification string
*
- The telemetry event notification is sent from the server to the client to ask
- the client to logs telemetry data.
const (
TelemetryEventNotificationType TelemetryEventNotification = "new ProtocolNotificationType<any, void>('telemetry/event')"
)
type TextDocument ¶
type TextDocument struct { // The associated URI for this document. Most documents have the __file__-scheme, indicating that they // represent files on disk. However, some documents may have other schemes indicating that they are not // available on disk. // // @readonly Uri DocumentUri `json:"uri,omitempty"` // The identifier of the language associated with this document. // // @readonly LanguageId string `json:"languageId,omitempty"` // The version number of this document (it will increase after each // change, including undoredo). // // @readonly Version int `json:"version,omitempty"` // The number of lines in this document. // // @readonly LineCount uint `json:"lineCount,omitempty"` }
*
- A simple text document. Not to be implemented. The document keeps the content
- as string. *
- @deprecated Use the text document from the new vscode-languageserver-textdocument package.
type TextDocumentChangeRegistrationOptions ¶
type TextDocumentChangeRegistrationOptions struct { TextDocumentRegistrationOptions // How documents are synced to the server. SyncKind TextDocumentSyncKind `json:"syncKind,omitempty"` }
*
- Describe options to be used when registered for text document change events.
type TextDocumentClientCapabilities ¶
type TextDocumentClientCapabilities struct { // Defines which synchronization capabilities the client supports. Synchronization *TextDocumentSyncClientCapabilities `json:"synchronization,omitempty"` // Capabilities specific to the `textDocumentcompletion` Completion *CompletionClientCapabilities `json:"completion,omitempty"` // Capabilities specific to the `textDocumenthover` Hover *HoverClientCapabilities `json:"hover,omitempty"` // Capabilities specific to the `textDocumentsignatureHelp` SignatureHelp *SignatureHelpClientCapabilities `json:"signatureHelp,omitempty"` // Capabilities specific to the `textDocumentdeclaration` // // @since 3.14.0 Declaration *DeclarationClientCapabilities `json:"declaration,omitempty"` // Capabilities specific to the `textDocumentdefinition` Definition *DefinitionClientCapabilities `json:"definition,omitempty"` // Capabilities specific to the `textDocumenttypeDefinition` // // @since 3.6.0 TypeDefinition *TypeDefinitionClientCapabilities `json:"typeDefinition,omitempty"` // Capabilities specific to the `textDocumentimplementation` // // @since 3.6.0 Implementation *ImplementationClientCapabilities `json:"implementation,omitempty"` // Capabilities specific to the `textDocumentreferences` References *ReferenceClientCapabilities `json:"references,omitempty"` // Capabilities specific to the `textDocumentdocumentHighlight` DocumentHighlight *DocumentHighlightClientCapabilities `json:"documentHighlight,omitempty"` // Capabilities specific to the `textDocumentdocumentSymbol` DocumentSymbol *DocumentSymbolClientCapabilities `json:"documentSymbol,omitempty"` // Capabilities specific to the `textDocumentcodeAction` CodeAction *CodeActionClientCapabilities `json:"codeAction,omitempty"` // Capabilities specific to the `textDocumentcodeLens` CodeLens *CodeLensClientCapabilities `json:"codeLens,omitempty"` // Capabilities specific to the `textDocumentdocumentLink` DocumentLink *DocumentLinkClientCapabilities `json:"documentLink,omitempty"` // Capabilities specific to the `textDocumentdocumentColor` ColorProvider *DocumentColorClientCapabilities `json:"colorProvider,omitempty"` // Capabilities specific to the `textDocumentformatting` Formatting *DocumentFormattingClientCapabilities `json:"formatting,omitempty"` // Capabilities specific to the `textDocumentrangeFormatting` RangeFormatting *DocumentRangeFormattingClientCapabilities `json:"rangeFormatting,omitempty"` // Capabilities specific to the `textDocumentonTypeFormatting` OnTypeFormatting *DocumentOnTypeFormattingClientCapabilities `json:"onTypeFormatting,omitempty"` // Capabilities specific to the `textDocumentrename` Rename *RenameClientCapabilities `json:"rename,omitempty"` // Capabilities specific to `textDocumentfoldingRange` request. // // @since 3.10.0 FoldingRange *FoldingRangeClientCapabilities `json:"foldingRange,omitempty"` // Capabilities specific to `textDocumentselectionRange` request. // // @since 3.15.0 SelectionRange *SelectionRangeClientCapabilities `json:"selectionRange,omitempty"` // Capabilities specific to `textDocumentpublishDiagnostics` notification. PublishDiagnostics *PublishDiagnosticsClientCapabilities `json:"publishDiagnostics,omitempty"` // Capabilities specific to the various call hierarchy request. // // @since 3.16.0 CallHierarchy *CallHierarchyClientCapabilities `json:"callHierarchy,omitempty"` // Capabilities specific to the various semantic token request. // // @since 3.16.0 SemanticTokens *SemanticTokensClientCapabilities `json:"semanticTokens,omitempty"` // Capabilities specific to the linked editing range request. // // @since 3.16.0 LinkedEditingRange *LinkedEditingRangeClientCapabilities `json:"linkedEditingRange,omitempty"` // Client capabilities specific to the moniker request. // // @since 3.16.0 Moniker *MonikerClientCapabilities `json:"moniker,omitempty"` // Capabilities specific to the various type hierarchy requests. // // @since 3.17.0 - proposed state TypeHierarchy *TypeHierarchyClientCapabilities `json:"typeHierarchy,omitempty"` // Capabilities specific to the `textDocumentinlineValues` request. // // @since 3.17.0 - proposed state InlineValues *InlineValuesClientCapabilities `json:"inlineValues,omitempty"` }
*
- Text document specific client capabilities.
type TextDocumentContentChangeEvent ¶
type TextDocumentContentChangeEvent struct { // The range of the document that changed. Range Range `json:"range,omitempty"` // The optional length of the range that got replaced. // // @deprecated use range instead. RangeLength *uint `json:"rangeLength,omitempty"` // The new text for the provided range. Text interface{} `json:"text,omitempty"` // string, {"text": string} }
*
- An event describing a change to a text document. If range and rangeLength are omitted
- the new text is considered to be the full content of the document.
type TextDocumentEdit ¶
type TextDocumentEdit struct { /** * The text document to change. */ TextDocument OptionalVersionedTextDocumentIdentifier `json:"textDocument,omitempty"` /** * The edits to be applied. * * @since 3.16.0 - support for AnnotatedTextEdit. This is guarded using a * client capability. */ Edits []interface{} `json:"edits,omitempty"` // (TextEdit | AnnotatedTextEdit)[] }
*
- Describes textual changes on a text document. A TextDocumentEdit describes all changes
- on a document version Si and after they are applied move the document to version Si+1.
- So the creator of a TextDocumentEdit doesn't need to sort the array of edits or do any
- kind of ordering. However the edits must be non overlapping.
type TextDocumentIdentifier ¶
type TextDocumentIdentifier struct { // The text document's uri. Uri DocumentUri `json:"uri,omitempty"` }
*
- A literal to identify a text document in the client.
type TextDocumentItem ¶
type TextDocumentItem struct { // The text document's uri. Uri DocumentUri `json:"uri,omitempty"` // The text document's language identifier LanguageId string `json:"languageId,omitempty"` // The version number of this document (it will increase after each // change, including undoredo). Version int `json:"version,omitempty"` // The content of the opened text document. Text string `json:"text,omitempty"` }
*
- An item to transfer a text document from the client to the
- server.
type TextDocumentPositionParams ¶
type TextDocumentPositionParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The position inside the text document. Position Position `json:"position,omitempty"` }
*
- A parameter literal used in requests to pass a text document and a position inside that
- document.
type TextDocumentRegistrationOptions ¶
type TextDocumentRegistrationOptions struct { // A document selector to identify the scope of the registration. If set to null // the document selector provided on the client side will be used. DocumentSelector interface{} `json:"documentSelector,omitempty"` // DocumentSelector, null, }
*
- General text document registration options.
type TextDocumentSaveReason ¶
type TextDocumentSaveReason int
*
- Represents reasons why a text document is saved.
const ( /** * Manually triggered, e.g. by the user pressing save, by starting debugging, * or by an API call. */ TextDocumentSaveReasonManual TextDocumentSaveReason = 1 /** * Automatic after a delay. */ TextDocumentSaveReasonAfterDelay TextDocumentSaveReason = 2 /** * When the editor lost focus. */ TextDocumentSaveReasonFocusOut TextDocumentSaveReason = 3 )
func (TextDocumentSaveReason) String ¶
func (i TextDocumentSaveReason) String() string
type TextDocumentSaveRegistrationOptions ¶
type TextDocumentSaveRegistrationOptions struct { TextDocumentRegistrationOptions SaveOptions }
*
- Save registration options.
type TextDocumentSyncClientCapabilities ¶
type TextDocumentSyncClientCapabilities struct { // Whether text document synchronization supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // The client supports sending will save notifications. WillSave *bool `json:"willSave,omitempty"` // The client supports sending a will save request and // waits for a response providing text edits which will // be applied to the document before it is saved. WillSaveWaitUntil *bool `json:"willSaveWaitUntil,omitempty"` // The client supports did save notifications. DidSave *bool `json:"didSave,omitempty"` }
---- Text document notifications ----
type TextDocumentSyncKind ¶
type TextDocumentSyncKind int
*
- Defines how the host (editor) should sync
- document changes to the language server.
const ( /** * Documents should not be synced at all. */ TextDocumentSyncKindNone TextDocumentSyncKind = 0 /** * Documents are synced by always sending the full content * of the document. */ TextDocumentSyncKindFull TextDocumentSyncKind = 1 /** * Documents are synced by sending the full content on open. * After that only incremental updates to the document are * send. */ TextDocumentSyncKindIncremental TextDocumentSyncKind = 2 )
func (TextDocumentSyncKind) String ¶
func (i TextDocumentSyncKind) String() string
type TextDocumentSyncOptions ¶
type TextDocumentSyncOptions struct { // Open and close notifications are sent to the server. If omitted open close notification should not // be sent. OpenClose *bool `json:"openClose,omitempty"` // Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full // and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None. Change *TextDocumentSyncKind `json:"change,omitempty"` // If present will save notifications are sent to the server. If omitted the notification should not be // sent. WillSave *bool `json:"willSave,omitempty"` // If present will save wait until requests are sent to the server. If omitted the request should not be // sent. WillSaveWaitUntil *bool `json:"willSaveWaitUntil,omitempty"` // If present save notifications are sent to the server. If omitted the notification should not be // sent. Save interface{} `json:"save,omitempty"` // bool, SaveOptions, }
type TextEdit ¶
type TextEdit struct { // The range of the text document to be manipulated. To insert // text into a document create a range where start === end. Range Range `json:"range,omitempty"` // The string to be inserted. For delete operations use an // empty string. NewText string `json:"newText,omitempty"` }
*
- A text edit applicable to a text document.
type TokenFormat ¶
type TokenFormat string
------- 'textDocument/semanticTokens' -----
const (
TokenFormatRelative TokenFormat = "relative"
)
type TypeDefinitionClientCapabilities ¶
type TypeDefinitionClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `TypeDefinitionRegistrationOptions` return value // for the corresponding server capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // The client supports additional metadata in the form of definition links. // // Since 3.14.0 LinkSupport *bool `json:"linkSupport,omitempty"` }
*
- Since 3.6.0
type TypeDefinitionOptions ¶
type TypeDefinitionOptions struct {
WorkDoneProgressOptions
}
type TypeDefinitionParams ¶
type TypeDefinitionParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams }
type TypeDefinitionRegistrationOptions ¶
type TypeDefinitionRegistrationOptions struct { TextDocumentRegistrationOptions TypeDefinitionOptions StaticRegistrationOptions }
type TypeHierarchyClientCapabilities ¶
type TypeHierarchyClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` // return value for the corresponding server capability as well. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` }
*
- @since 3.17.0 - proposed state
type TypeHierarchyItem ¶
type TypeHierarchyItem struct { // The name of this item. Name string `json:"name,omitempty"` // The kind of this item. Kind SymbolKind `json:"kind,omitempty"` // Tags for this item. Tags *[]SymbolTag `json:"tags,omitempty"` // More detail for this item, e.g. the signature of a function. Detail *string `json:"detail,omitempty"` // The resource identifier of this item. Uri DocumentUri `json:"uri,omitempty"` // The range enclosing this symbol not including leadingtrailing whitespace // but everything else, e.g. comments and code. Range Range `json:"range,omitempty"` // The range that should be selected and revealed when this symbol is being // picked, e.g. the name of a function. Must be contained by the // [`range`](#TypeHierarchyItem.range). SelectionRange Range `json:"selectionRange,omitempty"` // A data entry field that is preserved between a type hierarchy prepare and // supertypes or subtypes requests. It could also be used to identify the // type hierarchy in the server, helping improve the performance on // resolving supertypes and subtypes. Data interface{} `json:"data,omitempty"` }
*
- @since 3.17.0 - proposed state
type TypeHierarchyOptions ¶
type TypeHierarchyOptions struct {
WorkDoneProgressOptions
}
*
- Type hierarchy options used during static registration. *
- @since 3.17.0 - proposed state
type TypeHierarchyPrepareParams ¶
type TypeHierarchyPrepareParams struct { TextDocumentPositionParams WorkDoneProgressParams }
*
- The parameter of a `textDocument/prepareTypeHierarchy` request. *
- @since 3.17.0 - proposed state
type TypeHierarchyRegistrationOptions ¶
type TypeHierarchyRegistrationOptions struct { TextDocumentRegistrationOptions TypeHierarchyOptions StaticRegistrationOptions }
*
- Type hierarchy options used during static or dynamic registration. *
- @since 3.17.0 - proposed state
type TypeHierarchySubtypesParams ¶
type TypeHierarchySubtypesParams struct { WorkDoneProgressParams PartialResultParams Item TypeHierarchyItem `json:"item,omitempty"` }
*
- The parameter of a `typeHierarchy/subtypes` request. *
- @since 3.17.0 - proposed state
type TypeHierarchySupertypesParams ¶
type TypeHierarchySupertypesParams struct { WorkDoneProgressParams PartialResultParams Item TypeHierarchyItem `json:"item,omitempty"` }
*
- The parameter of a `typeHierarchy/supertypes` request. *
- @since 3.17.0 - proposed state
type URI ¶
type URI string
*
- A tagging type for string properties that are actually URIs *
- @since 3.16.0
type UnchangedDocumentDiagnosticReport ¶
type UnchangedDocumentDiagnosticReport struct { Kind interface{} `json:"kind,omitempty"` //DocumentDiagnosticReportKind.unChanged ResultId string `json:"resultId,omitempty"` }
type UniquenessLevel ¶
type UniquenessLevel string
*
- Moniker uniqueness level to define scope of the moniker. *
- @since 3.16.0
const ( /** * The moniker is only unique inside a document */ UniquenessLevelDocument UniquenessLevel = "document" /** * The moniker is unique inside a project for which a dump got created */ UniquenessLevelProject UniquenessLevel = "project" /** * The moniker is unique inside the group to which a project belongs */ UniquenessLevelGroup UniquenessLevel = "group" /** * The moniker is unique inside the moniker scheme. */ UniquenessLevelScheme UniquenessLevel = "scheme" /** * The moniker is globally unique */ UniquenessLevelGlobal UniquenessLevel = "global" )
type Unregistration ¶
type Unregistration struct { // The id used to unregister the request or notification. Usually an id // provided during the register request. Id string `json:"id,omitempty"` // The method to unregister for. Method string `json:"method,omitempty"` }
*
- General parameters to unregister a request or notification.
type UnregistrationParams ¶
type UnregistrationParams struct {
Unregistrations []Unregistration `json:"unregisterations,omitempty"`
}
type UnregistrationRequest ¶
type UnregistrationRequest string
*
- The `client/unregisterCapability` request is sent from the server to the client to unregister a previously registered capability
- handler on the client side.
const (
UnregistrationRequestType UnregistrationRequest = "new ProtocolRequestType<UnregistrationParams, void, never, void, void>('client/unregisterCapability')"
)
type VersionedTextDocumentIdentifier ¶
type VersionedTextDocumentIdentifier struct { TextDocumentIdentifier // The version number of this document. Version int `json:"version,omitempty"` }
*
- A text document identifier to denote a specific version of a text document.
type WillSaveTextDocumentNotification ¶
type WillSaveTextDocumentNotification string
*
- A document will save notification is sent from the client to the server before
- the document is actually saved.
const ( WillSaveTextDocumentNotificationMethod WillSaveTextDocumentNotification = "textDocument/willSave" WillSaveTextDocumentNotificationType WillSaveTextDocumentNotification = "new ProtocolNotificationType<WillSaveTextDocumentParams, TextDocumentRegistrationOptions>(method)" )
type WillSaveTextDocumentParams ¶
type WillSaveTextDocumentParams struct { // The document that will be saved. TextDocument TextDocumentIdentifier `json:"textDocument,omitempty"` // The 'TextDocumentSaveReason'. Reason TextDocumentSaveReason `json:"reason,omitempty"` }
*
- The parameters send in a will save text document notification.
type WillSaveTextDocumentWaitUntilRequest ¶
type WillSaveTextDocumentWaitUntilRequest string
*
- 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.
const ( WillSaveTextDocumentWaitUntilRequestMethod WillSaveTextDocumentWaitUntilRequest = "textDocument/willSaveWaitUntil" WillSaveTextDocumentWaitUntilRequestType WillSaveTextDocumentWaitUntilRequest = "new ProtocolRequestType<WillSaveTextDocumentParams, TextEdit[] | null, never, void, TextDocumentRegistrationOptions>(method)" )
type WindowClientCapabilities ¶
type WindowClientCapabilities struct { // Whether client supports handling progress notifications. If set // servers are allowed to report in `workDoneProgress` property in the // request specific server capabilities. // // @since 3.15.0 WorkDoneProgress *bool `json:"workDoneProgress,omitempty"` // Capabilities specific to the showMessage request. // // @since 3.16.0 ShowMessage *ShowMessageRequestClientCapabilities `json:"showMessage,omitempty"` // Capabilities specific to the showDocument request. // // @since 3.16.0 ShowDocument *ShowDocumentClientCapabilities `json:"showDocument,omitempty"` }
type WorkDoneProgressBegin ¶
type WorkDoneProgressBegin struct { Kind interface{} `json:"kind,omitempty"` // 'begin' // Mandatory title of the progress operation. Used to briefly inform about // the kind of operation being performed. // // Examples: "Indexing" or "Linking dependencies". Title string `json:"title,omitempty"` // Controls if a cancel button should show to allow the user to cancel the // long running operation. Clients that don't support cancellation are allowed // to ignore the setting. Cancellable *bool `json:"cancellable,omitempty"` // Optional, more detailed associated progress message. Contains // complementary information to the `title`. // // Examples: "325 files", "projectsrcmodule2", "node_modulessome_dep". // If unset, the previous progress message (if any) is still valid. Message *string `json:"message,omitempty"` // Optional progress percentage to display (value 100 is considered 100%). // If not provided infinite progress is assumed and clients are allowed // to ignore the `percentage` value in subsequent in report notifications. // // The value should be steadily rising. Clients are free to ignore values // that are not following this rule. The value range is [0, 100]. Percentage *uint `json:"percentage,omitempty"` }
type WorkDoneProgressCancelParams ¶
type WorkDoneProgressCancelParams struct { // The token to be used to report progress. Token ProgressToken `json:"token,omitempty"` }
type WorkDoneProgressCreateParams ¶
type WorkDoneProgressCreateParams struct { // The token to be used to report progress. Token ProgressToken `json:"token,omitempty"` }
type WorkDoneProgressEnd ¶
type WorkDoneProgressEnd struct { Kind interface{} `json:"kind,omitempty"` // 'end' // Optional, a final message indicating to for example indicate the outcome // of the operation. Message *string `json:"message,omitempty"` }
type WorkDoneProgressOptions ¶
type WorkDoneProgressOptions struct {
WorkDoneProgress *bool `json:"workDoneProgress,omitempty"`
}
type WorkDoneProgressParams ¶
type WorkDoneProgressParams struct { // An optional token that a server can use to report work done progress. WorkDoneToken *ProgressToken `json:"workDoneToken,omitempty"` }
type WorkDoneProgressReport ¶
type WorkDoneProgressReport struct { Kind interface{} `json:"kind,omitempty"` // 'report' // Controls enablement state of a cancel button. // // Clients that don't support cancellation or don't support controlling the button's // enablement state are allowed to ignore the property. Cancellable *bool `json:"cancellable,omitempty"` // Optional, more detailed associated progress message. Contains // complementary information to the `title`. // // Examples: "325 files", "projectsrcmodule2", "node_modulessome_dep". // If unset, the previous progress message (if any) is still valid. Message *string `json:"message,omitempty"` // Optional progress percentage to display (value 100 is considered 100%). // If not provided infinite progress is assumed and clients are allowed // to ignore the `percentage` value in subsequent in report notifications. // // The value should be steadily rising. Clients are free to ignore values // that are not following this rule. The value range is [0, 100] Percentage *uint `json:"percentage,omitempty"` }
type WorkspaceClientCapabilities ¶
type WorkspaceClientCapabilities struct { // The client supports applying batch edits // to the workspace by supporting the request // 'workspaceapplyEdit' ApplyEdit *bool `json:"applyEdit,omitempty"` // Capabilities specific to `WorkspaceEdit`s WorkspaceEdit *WorkspaceEditClientCapabilities `json:"workspaceEdit,omitempty"` // Capabilities specific to the `workspacedidChangeConfiguration` notification. DidChangeConfiguration *DidChangeConfigurationClientCapabilities `json:"didChangeConfiguration,omitempty"` // Capabilities specific to the `workspacedidChangeWatchedFiles` notification. DidChangeWatchedFiles *DidChangeWatchedFilesClientCapabilities `json:"didChangeWatchedFiles,omitempty"` // Capabilities specific to the `workspacesymbol` request. Symbol *WorkspaceSymbolClientCapabilities `json:"symbol,omitempty"` // Capabilities specific to the `workspaceexecuteCommand` request. ExecuteCommand *ExecuteCommandClientCapabilities `json:"executeCommand,omitempty"` // // The client has support for workspace folders. // // @since 3.6.0 // WorkspaceFolders *bool `json:"workspaceFolders,omitempty"` // The client supports `workspace/configuration` requests. // // @since 3.6.0 Configuration *bool `json:"configuration,omitempty"` // Capabilities specific to the semantic token requests scoped to the // workspace. // // @since 3.16.0. SemanticTokens *SemanticTokensWorkspaceClientCapabilities `json:"semanticTokens,omitempty"` // Capabilities specific to the code lens requests scoped to the // workspace. // // @since 3.16.0. CodeLens *CodeLensWorkspaceClientCapabilities `json:"codeLens,omitempty"` // The client has support for file notificationsrequests for user operations on files. // // Since 3.16.0 FileOperations *FileOperationClientCapabilities `json:"fileOperations,omitempty"` // Capabilities specific to the inline values requests scoped to the // workspace. // // @since 3.17.0. InlineValues *InlineValuesWorkspaceClientCapabilities `json:"inlineValues,omitempty"` }
*
- Workspace specific client capabilities.
type WorkspaceDiagnosticParams ¶
type WorkspaceDiagnosticParams struct { WorkDoneProgressParams PartialResultParams // The additional identifier provided during registration. Identifier *string `json:"identifier,omitempty"` // The currently known diagnostic reports with their // previous result ids. PreviousResultIds []PreviousResultId `json:"previousResultIds,omitempty"` }
*
- Parameters of the workspace diagnostic request. *
- @since 3.17.0 - proposed state
type WorkspaceDiagnosticReport ¶
type WorkspaceDiagnosticReport struct {
Items []WorkspaceDocumentDiagnosticReport `json:"items,omitempty"`
}
*
- A workspace diagnostic report. *
- @since 3.17.0 - proposed state
type WorkspaceDiagnosticReportPartialResult ¶
type WorkspaceDiagnosticReportPartialResult struct {
Items []WorkspaceDocumentDiagnosticReport `json:"items,omitempty"`
}
*
- A partial result for a workspace diagnostic report. *
- @since 3.17.0 - proposed state
type WorkspaceDocumentDiagnosticReport ¶
type WorkspaceDocumentDiagnosticReport interface{} // WorkspaceFullDocumentDiagnosticReport | WorkspaceUnchangedDocumentDiagnosticReport;
type WorkspaceEdit ¶
type WorkspaceEdit struct { /** * Holds changes to existing resources. */ Changes *map[string][]TextEdit `json:"changes,omitempty"` /** * Depending on the client capability `workspace.workspaceEdit.resourceOperations` document changes * are either an array of `TextDocumentEdit`s to express changes to n different text documents * where each text document edit addresses a specific version of a text document. Or it can contain * above `TextDocumentEdit`s mixed with create, rename and delete file / folder operations. * * Whether a client supports versioned document edits is expressed via * `workspace.workspaceEdit.documentChanges` client capability. * * If a client neither supports `documentChanges` nor `workspace.workspaceEdit.resourceOperations` then * only plain `TextEdit`s using the `changes` property are supported. */ DocumentChanges *[]interface{} `json:"documentChanges,omitempty"` // (TextDocumentEdit | CreateFile | RenameFile | DeleteFile) /** * A map of change annotations that can be referenced in `AnnotatedTextEdit`s or create, rename and * delete file / folder operations. * * Whether clients honor this property depends on the client capability `workspace.changeAnnotationSupport`. * * @since 3.16.0 */ ChangeAnnotations *map[ChangeAnnotationIdentifier]ChangeAnnotation `json:"changeAnnotations,omitempty"` }
*
- A workspace edit represents changes to many resources managed in the workspace. The edit
- should either provide `changes` or `documentChanges`. If documentChanges are present
- they are preferred over `changes` if the client can handle versioned document edits. *
- Since version 3.13.0 a workspace edit can contain resource operations as well. If resource
- operations are present clients need to execute the operations in the order in which they
- are provided. So a workspace edit for example can consist of the following two changes:
- (1) a create file a.txt and (2) a text document edit which insert text into file a.txt. *
- An invalid sequence (e.g. (1) delete file a.txt and (2) insert text into file a.txt) will
- cause failure of the operation. How the client recovers from the failure is described by
- the client capability: `workspace.workspaceEdit.failureHandling`
type WorkspaceEditClientCapabilities ¶
type WorkspaceEditClientCapabilities struct { // The client supports versioned document changes in `WorkspaceEdit`s DocumentChanges *bool `json:"documentChanges,omitempty"` // The resource operations the client supports. Clients should at least // support 'create', 'rename' and 'delete' files and folders. // // @since 3.13.0 ResourceOperations *[]ResourceOperationKind `json:"resourceOperations,omitempty"` // The failure handling strategy of a client if applying the workspace edit // fails. // // @since 3.13.0 FailureHandling *FailureHandlingKind `json:"failureHandling,omitempty"` // Whether the client normalizes line endings to the client specific // setting. // If set to `true` the client will normalize line ending characters // in a workspace edit containing to the client specific new line // character. // // @since 3.16.0 NormalizesLineEndings *bool `json:"normalizesLineEndings,omitempty"` // Whether the client in general supports change annotations on text edits, // create file, rename file and delete file changes. // // @since 3.16.0 ChangeAnnotationSupport *struct { // Whether the client groups edits with equal labels into tree nodes, // for instance all edits labelled with "Changes in Strings" would // be a tree node. GroupsOnLabel *bool `json:"groupsOnLabel,omitempty"` } `json:"changeAnnotationSupport,omitempty"` }
---- Apply Edit request ----------------------------------------
type WorkspaceFolder ¶
type WorkspaceFoldersChangeEvent ¶
type WorkspaceFoldersChangeEvent struct { // The array of added workspace folders Added []WorkspaceFolder `json:"added,omitempty"` // The array of the removed workspace folders Removed []WorkspaceFolder `json:"removed,omitempty"` }
*
- The workspace folder change event.
type WorkspaceFoldersInitializeParams ¶
type WorkspaceFoldersInitializeParams struct { // The actual configured workspace folders. WorkspaceFolders interface{} `json:"workspaceFolders,omitempty"` // []WorkspaceFolder, null, }
type WorkspaceFoldersServerCapabilities ¶
type WorkspaceFoldersServerCapabilities struct { Supported bool `json:"supported,omitempty"` ChangeNotifications interface{} `json:"changeNotifications,omitempty"` //string | boolean }
type WorkspaceFullDocumentDiagnosticReport ¶
type WorkspaceFullDocumentDiagnosticReport struct { FullDocumentDiagnosticReport // The URI for which diagnostic information is reported. Uri DocumentUri `json:"uri,omitempty"` // The version number for which the diagnostics are reported. // If the document is not marked as open `null` can be provided. Version interface{} `json:"version,omitempty"` // int, null, }
*
- A full document diagnostic report for a workspace diagnostic result. *
- @since 3.17.0 - proposed state
type WorkspaceSymbolClientCapabilities ¶
type WorkspaceSymbolClientCapabilities struct { // Symbol request supports dynamic registration. DynamicRegistration *bool `json:"dynamicRegistration,omitempty"` // Specific capabilities for the `SymbolKind` in the `workspacesymbol` request. SymbolKind *struct { // The symbol kind values the client supports. When this // property exists the client also guarantees that it will // handle values outside its set gracefully and falls back // to a default value when unknown. // // If this property is not present the client only supports // the symbol kinds from `File` to `Array` as defined in // the initial version of the protocol. ValueSet *[]SymbolKind `json:"valueSet,omitempty"` } `json:"symbolKind,omitempty"` // The client supports tags on `SymbolInformation`. // Clients supporting tags have to handle unknown tags gracefully. // // @since 3.16.0 TagSupport *struct { // The tags supported by the client. ValueSet []SymbolTag `json:"valueSet,omitempty"` } `json:"tagSupport,omitempty"` }
*
- Client capabilities for a WorkspaceSymbolRequest(#WorkspaceSymbolRequest).
type WorkspaceSymbolOptions ¶
type WorkspaceSymbolOptions struct {
WorkDoneProgressOptions
}
*
- Server capabilities for a WorkspaceSymbolRequest(#WorkspaceSymbolRequest).
type WorkspaceSymbolParams ¶
type WorkspaceSymbolParams struct { WorkDoneProgressParams PartialResultParams // A query string to filter symbols by. Clients may send an empty // string here to request all symbols. Query string `json:"query,omitempty"` }
*
- The parameters of a WorkspaceSymbolRequest(#WorkspaceSymbolRequest).
type WorkspaceSymbolRegistrationOptions ¶
type WorkspaceSymbolRegistrationOptions struct {
WorkspaceSymbolOptions
}
*
- Registration options for a WorkspaceSymbolRequest(#WorkspaceSymbolRequest).
type WorkspaceSymbolRequest ¶
type WorkspaceSymbolRequest string
*
- 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.
const ( WorkspaceSymbolRequestMethod WorkspaceSymbolRequest = "workspace/symbol" WorkspaceSymbolRequestType WorkspaceSymbolRequest = "" /* 145-byte string literal not displayed */ )
type WorkspaceUnchangedDocumentDiagnosticReport ¶
type WorkspaceUnchangedDocumentDiagnosticReport struct { UnchangedDocumentDiagnosticReport // The URI for which diagnostic information is reported. Uri DocumentUri `json:"uri,omitempty"` // The version number for which the diagnostics are reported. // If the document is not marked as open `null` can be provided. Version interface{} `json:"version,omitempty"` // int, null, }
*
- An unchanged document diagnostic report for a workspace diagnostic result. *
- @since 3.17.0 - proposed state
Source Files ¶
- api.go
- connection.go
- messages.go
- proposed.diagnostic.go
- proposed.inlineValue.go
- proposed.typeHierarchy.go
- protocol.callHierarchy.go
- protocol.colorProvider.go
- protocol.configuration.go
- protocol.declaration.go
- protocol.fileOperations.go
- protocol.foldingRange.go
- protocol.go
- protocol.implementation.go
- protocol.linkedEditingRange.go
- protocol.moniker.go
- protocol.progress.go
- protocol.selectionRange.go
- protocol.semanticTokens.go
- protocol.showDocument.go
- protocol.typeDefinition.go
- protocol.workspaceFolders.go
- types.go