UNPKG

vscode-languageserver-protocol

Version:
813 lines (812 loc) 63 kB
"use strict"; /* -------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. * ------------------------------------------------------------------------------------------ */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.CodeActionRequest = exports.DocumentSymbolRequest = exports.DocumentHighlightRequest = exports.ReferencesRequest = exports.DefinitionRequest = exports.SignatureHelpRequest = exports.SignatureHelpTriggerKind = exports.HoverRequest = exports.CompletionResolveRequest = exports.CompletionRequest = exports.CompletionTriggerKind = exports.PublishDiagnosticsNotification = exports.WatchKind = exports.GlobPattern = exports.RelativePattern = exports.FileChangeType = exports.DidChangeWatchedFilesNotification = exports.WillSaveTextDocumentWaitUntilRequest = exports.WillSaveTextDocumentNotification = exports.TextDocumentSaveReason = exports.DidSaveTextDocumentNotification = exports.DidCloseTextDocumentNotification = exports.DidChangeTextDocumentNotification = exports.TextDocumentContentChangeEvent = exports.DidOpenTextDocumentNotification = exports.TextDocumentSyncKind = exports.TelemetryEventNotification = exports.LogMessageNotification = exports.ShowMessageRequest = exports.ShowMessageNotification = exports.MessageType = exports.DidChangeConfigurationNotification = exports.ExitNotification = exports.ShutdownRequest = exports.InitializedNotification = exports.InitializeErrorCodes = exports.InitializeRequest = exports.WorkDoneProgressOptions = exports.TextDocumentRegistrationOptions = exports.StaticRegistrationOptions = exports.PositionEncodingKind = exports.RegularExpressionEngineKind = exports.FailureHandlingKind = exports.ResourceOperationKind = exports.UnregistrationRequest = exports.RegistrationRequest = exports.DocumentSelector = exports.NotebookCellTextDocumentFilter = exports.NotebookDocumentFilter = exports.TextDocumentFilter = void 0; exports.UniquenessLevel = exports.WillDeleteFilesRequest = exports.DidDeleteFilesNotification = exports.WillRenameFilesRequest = exports.DidRenameFilesNotification = exports.WillCreateFilesRequest = exports.DidCreateFilesNotification = exports.FileOperationPatternKind = exports.LinkedEditingRangeRequest = exports.ShowDocumentRequest = exports.SemanticTokensRegistrationType = exports.SemanticTokensRefreshRequest = exports.SemanticTokensRangeRequest = exports.SemanticTokensDeltaRequest = exports.SemanticTokensRequest = exports.TokenFormat = exports.CallHierarchyPrepareRequest = exports.CallHierarchyOutgoingCallsRequest = exports.CallHierarchyIncomingCallsRequest = exports.WorkDoneProgressCancelNotification = exports.WorkDoneProgressCreateRequest = exports.WorkDoneProgress = exports.SelectionRangeRequest = exports.DeclarationRequest = exports.FoldingRangeRefreshRequest = exports.FoldingRangeRequest = exports.ColorPresentationRequest = exports.DocumentColorRequest = exports.ConfigurationRequest = exports.DidChangeWorkspaceFoldersNotification = exports.WorkspaceFoldersRequest = exports.TypeDefinitionRequest = exports.ImplementationRequest = exports.ApplyWorkspaceEditRequest = exports.ExecuteCommandRequest = exports.PrepareRenameRequest = exports.RenameRequest = exports.PrepareSupportDefaultBehavior = exports.DocumentOnTypeFormattingRequest = exports.DocumentRangesFormattingRequest = exports.DocumentRangeFormattingRequest = exports.DocumentFormattingRequest = exports.DocumentLinkResolveRequest = exports.DocumentLinkRequest = exports.CodeLensRefreshRequest = exports.CodeLensResolveRequest = exports.CodeLensRequest = exports.WorkspaceSymbolResolveRequest = exports.WorkspaceSymbolRequest = exports.CodeActionResolveRequest = void 0; exports.TextDocumentContentRefreshRequest = exports.TextDocumentContentRequest = exports.InlineCompletionRequest = exports.DidCloseNotebookDocumentNotification = exports.DidSaveNotebookDocumentNotification = exports.DidChangeNotebookDocumentNotification = exports.NotebookCellArrayChange = exports.DidOpenNotebookDocumentNotification = exports.NotebookDocumentSyncRegistrationType = exports.NotebookDocument = exports.NotebookCell = exports.ExecutionSummary = exports.NotebookCellKind = exports.DiagnosticRefreshRequest = exports.WorkspaceDiagnosticRequest = exports.DocumentDiagnosticRequest = exports.DocumentDiagnosticReportKind = exports.DiagnosticServerCancellationData = exports.InlayHintRefreshRequest = exports.InlayHintResolveRequest = exports.InlayHintRequest = exports.InlineValueRefreshRequest = exports.InlineValueRequest = exports.TypeHierarchySupertypesRequest = exports.TypeHierarchySubtypesRequest = exports.TypeHierarchyPrepareRequest = exports.MonikerRequest = exports.MonikerKind = void 0; const messages_1 = require("./messages"); const vscode_languageserver_types_1 = require("vscode-languageserver-types"); const Is = __importStar(require("./utils/is")); const protocol_implementation_1 = require("./protocol.implementation"); Object.defineProperty(exports, "ImplementationRequest", { enumerable: true, get: function () { return protocol_implementation_1.ImplementationRequest; } }); const protocol_typeDefinition_1 = require("./protocol.typeDefinition"); Object.defineProperty(exports, "TypeDefinitionRequest", { enumerable: true, get: function () { return protocol_typeDefinition_1.TypeDefinitionRequest; } }); const protocol_workspaceFolder_1 = require("./protocol.workspaceFolder"); Object.defineProperty(exports, "WorkspaceFoldersRequest", { enumerable: true, get: function () { return protocol_workspaceFolder_1.WorkspaceFoldersRequest; } }); Object.defineProperty(exports, "DidChangeWorkspaceFoldersNotification", { enumerable: true, get: function () { return protocol_workspaceFolder_1.DidChangeWorkspaceFoldersNotification; } }); const protocol_configuration_1 = require("./protocol.configuration"); Object.defineProperty(exports, "ConfigurationRequest", { enumerable: true, get: function () { return protocol_configuration_1.ConfigurationRequest; } }); const protocol_colorProvider_1 = require("./protocol.colorProvider"); Object.defineProperty(exports, "DocumentColorRequest", { enumerable: true, get: function () { return protocol_colorProvider_1.DocumentColorRequest; } }); Object.defineProperty(exports, "ColorPresentationRequest", { enumerable: true, get: function () { return protocol_colorProvider_1.ColorPresentationRequest; } }); const protocol_foldingRange_1 = require("./protocol.foldingRange"); Object.defineProperty(exports, "FoldingRangeRequest", { enumerable: true, get: function () { return protocol_foldingRange_1.FoldingRangeRequest; } }); Object.defineProperty(exports, "FoldingRangeRefreshRequest", { enumerable: true, get: function () { return protocol_foldingRange_1.FoldingRangeRefreshRequest; } }); const protocol_declaration_1 = require("./protocol.declaration"); Object.defineProperty(exports, "DeclarationRequest", { enumerable: true, get: function () { return protocol_declaration_1.DeclarationRequest; } }); const protocol_selectionRange_1 = require("./protocol.selectionRange"); Object.defineProperty(exports, "SelectionRangeRequest", { enumerable: true, get: function () { return protocol_selectionRange_1.SelectionRangeRequest; } }); const protocol_progress_1 = require("./protocol.progress"); Object.defineProperty(exports, "WorkDoneProgress", { enumerable: true, get: function () { return protocol_progress_1.WorkDoneProgress; } }); Object.defineProperty(exports, "WorkDoneProgressCreateRequest", { enumerable: true, get: function () { return protocol_progress_1.WorkDoneProgressCreateRequest; } }); Object.defineProperty(exports, "WorkDoneProgressCancelNotification", { enumerable: true, get: function () { return protocol_progress_1.WorkDoneProgressCancelNotification; } }); const protocol_callHierarchy_1 = require("./protocol.callHierarchy"); Object.defineProperty(exports, "CallHierarchyIncomingCallsRequest", { enumerable: true, get: function () { return protocol_callHierarchy_1.CallHierarchyIncomingCallsRequest; } }); Object.defineProperty(exports, "CallHierarchyOutgoingCallsRequest", { enumerable: true, get: function () { return protocol_callHierarchy_1.CallHierarchyOutgoingCallsRequest; } }); Object.defineProperty(exports, "CallHierarchyPrepareRequest", { enumerable: true, get: function () { return protocol_callHierarchy_1.CallHierarchyPrepareRequest; } }); const protocol_semanticTokens_1 = require("./protocol.semanticTokens"); Object.defineProperty(exports, "TokenFormat", { enumerable: true, get: function () { return protocol_semanticTokens_1.TokenFormat; } }); Object.defineProperty(exports, "SemanticTokensRequest", { enumerable: true, get: function () { return protocol_semanticTokens_1.SemanticTokensRequest; } }); Object.defineProperty(exports, "SemanticTokensDeltaRequest", { enumerable: true, get: function () { return protocol_semanticTokens_1.SemanticTokensDeltaRequest; } }); Object.defineProperty(exports, "SemanticTokensRangeRequest", { enumerable: true, get: function () { return protocol_semanticTokens_1.SemanticTokensRangeRequest; } }); Object.defineProperty(exports, "SemanticTokensRefreshRequest", { enumerable: true, get: function () { return protocol_semanticTokens_1.SemanticTokensRefreshRequest; } }); Object.defineProperty(exports, "SemanticTokensRegistrationType", { enumerable: true, get: function () { return protocol_semanticTokens_1.SemanticTokensRegistrationType; } }); const protocol_showDocument_1 = require("./protocol.showDocument"); Object.defineProperty(exports, "ShowDocumentRequest", { enumerable: true, get: function () { return protocol_showDocument_1.ShowDocumentRequest; } }); const protocol_linkedEditingRange_1 = require("./protocol.linkedEditingRange"); Object.defineProperty(exports, "LinkedEditingRangeRequest", { enumerable: true, get: function () { return protocol_linkedEditingRange_1.LinkedEditingRangeRequest; } }); const protocol_fileOperations_1 = require("./protocol.fileOperations"); Object.defineProperty(exports, "FileOperationPatternKind", { enumerable: true, get: function () { return protocol_fileOperations_1.FileOperationPatternKind; } }); Object.defineProperty(exports, "DidCreateFilesNotification", { enumerable: true, get: function () { return protocol_fileOperations_1.DidCreateFilesNotification; } }); Object.defineProperty(exports, "WillCreateFilesRequest", { enumerable: true, get: function () { return protocol_fileOperations_1.WillCreateFilesRequest; } }); Object.defineProperty(exports, "DidRenameFilesNotification", { enumerable: true, get: function () { return protocol_fileOperations_1.DidRenameFilesNotification; } }); Object.defineProperty(exports, "WillRenameFilesRequest", { enumerable: true, get: function () { return protocol_fileOperations_1.WillRenameFilesRequest; } }); Object.defineProperty(exports, "DidDeleteFilesNotification", { enumerable: true, get: function () { return protocol_fileOperations_1.DidDeleteFilesNotification; } }); Object.defineProperty(exports, "WillDeleteFilesRequest", { enumerable: true, get: function () { return protocol_fileOperations_1.WillDeleteFilesRequest; } }); const protocol_moniker_1 = require("./protocol.moniker"); Object.defineProperty(exports, "UniquenessLevel", { enumerable: true, get: function () { return protocol_moniker_1.UniquenessLevel; } }); Object.defineProperty(exports, "MonikerKind", { enumerable: true, get: function () { return protocol_moniker_1.MonikerKind; } }); Object.defineProperty(exports, "MonikerRequest", { enumerable: true, get: function () { return protocol_moniker_1.MonikerRequest; } }); const protocol_typeHierarchy_1 = require("./protocol.typeHierarchy"); Object.defineProperty(exports, "TypeHierarchyPrepareRequest", { enumerable: true, get: function () { return protocol_typeHierarchy_1.TypeHierarchyPrepareRequest; } }); Object.defineProperty(exports, "TypeHierarchySubtypesRequest", { enumerable: true, get: function () { return protocol_typeHierarchy_1.TypeHierarchySubtypesRequest; } }); Object.defineProperty(exports, "TypeHierarchySupertypesRequest", { enumerable: true, get: function () { return protocol_typeHierarchy_1.TypeHierarchySupertypesRequest; } }); const protocol_inlineValue_1 = require("./protocol.inlineValue"); Object.defineProperty(exports, "InlineValueRequest", { enumerable: true, get: function () { return protocol_inlineValue_1.InlineValueRequest; } }); Object.defineProperty(exports, "InlineValueRefreshRequest", { enumerable: true, get: function () { return protocol_inlineValue_1.InlineValueRefreshRequest; } }); const protocol_inlayHint_1 = require("./protocol.inlayHint"); Object.defineProperty(exports, "InlayHintRequest", { enumerable: true, get: function () { return protocol_inlayHint_1.InlayHintRequest; } }); Object.defineProperty(exports, "InlayHintResolveRequest", { enumerable: true, get: function () { return protocol_inlayHint_1.InlayHintResolveRequest; } }); Object.defineProperty(exports, "InlayHintRefreshRequest", { enumerable: true, get: function () { return protocol_inlayHint_1.InlayHintRefreshRequest; } }); const protocol_diagnostic_1 = require("./protocol.diagnostic"); Object.defineProperty(exports, "DiagnosticServerCancellationData", { enumerable: true, get: function () { return protocol_diagnostic_1.DiagnosticServerCancellationData; } }); Object.defineProperty(exports, "DocumentDiagnosticReportKind", { enumerable: true, get: function () { return protocol_diagnostic_1.DocumentDiagnosticReportKind; } }); Object.defineProperty(exports, "DocumentDiagnosticRequest", { enumerable: true, get: function () { return protocol_diagnostic_1.DocumentDiagnosticRequest; } }); Object.defineProperty(exports, "WorkspaceDiagnosticRequest", { enumerable: true, get: function () { return protocol_diagnostic_1.WorkspaceDiagnosticRequest; } }); Object.defineProperty(exports, "DiagnosticRefreshRequest", { enumerable: true, get: function () { return protocol_diagnostic_1.DiagnosticRefreshRequest; } }); const protocol_notebook_1 = require("./protocol.notebook"); Object.defineProperty(exports, "NotebookCellKind", { enumerable: true, get: function () { return protocol_notebook_1.NotebookCellKind; } }); Object.defineProperty(exports, "ExecutionSummary", { enumerable: true, get: function () { return protocol_notebook_1.ExecutionSummary; } }); Object.defineProperty(exports, "NotebookCell", { enumerable: true, get: function () { return protocol_notebook_1.NotebookCell; } }); Object.defineProperty(exports, "NotebookDocument", { enumerable: true, get: function () { return protocol_notebook_1.NotebookDocument; } }); Object.defineProperty(exports, "NotebookDocumentSyncRegistrationType", { enumerable: true, get: function () { return protocol_notebook_1.NotebookDocumentSyncRegistrationType; } }); Object.defineProperty(exports, "DidOpenNotebookDocumentNotification", { enumerable: true, get: function () { return protocol_notebook_1.DidOpenNotebookDocumentNotification; } }); Object.defineProperty(exports, "NotebookCellArrayChange", { enumerable: true, get: function () { return protocol_notebook_1.NotebookCellArrayChange; } }); Object.defineProperty(exports, "DidChangeNotebookDocumentNotification", { enumerable: true, get: function () { return protocol_notebook_1.DidChangeNotebookDocumentNotification; } }); Object.defineProperty(exports, "DidSaveNotebookDocumentNotification", { enumerable: true, get: function () { return protocol_notebook_1.DidSaveNotebookDocumentNotification; } }); Object.defineProperty(exports, "DidCloseNotebookDocumentNotification", { enumerable: true, get: function () { return protocol_notebook_1.DidCloseNotebookDocumentNotification; } }); const protocol_inlineCompletion_1 = require("./protocol.inlineCompletion"); Object.defineProperty(exports, "InlineCompletionRequest", { enumerable: true, get: function () { return protocol_inlineCompletion_1.InlineCompletionRequest; } }); const protocol_textDocumentContent_1 = require("./protocol.textDocumentContent"); Object.defineProperty(exports, "TextDocumentContentRequest", { enumerable: true, get: function () { return protocol_textDocumentContent_1.TextDocumentContentRequest; } }); Object.defineProperty(exports, "TextDocumentContentRefreshRequest", { enumerable: true, get: function () { return protocol_textDocumentContent_1.TextDocumentContentRefreshRequest; } }); // @ts-ignore: to avoid inlining LocationLink as dynamic import let __noDynamicImport; /** * The TextDocumentFilter namespace provides helper functions to work with * {@link TextDocumentFilter} literals. * * @since 3.17.0 */ var TextDocumentFilter; (function (TextDocumentFilter) { function is(value) { const candidate = value; return Is.string(candidate) || (Is.string(candidate.language) || Is.string(candidate.scheme) || GlobPattern.is(candidate.pattern)); } TextDocumentFilter.is = is; })(TextDocumentFilter || (exports.TextDocumentFilter = TextDocumentFilter = {})); /** * The NotebookDocumentFilter namespace provides helper functions to work with * {@link NotebookDocumentFilter} literals. * * @since 3.17.0 */ var NotebookDocumentFilter; (function (NotebookDocumentFilter) { function is(value) { const candidate = value; return Is.objectLiteral(candidate) && (Is.string(candidate.notebookType) || Is.string(candidate.scheme) || Is.string(candidate.pattern)); } NotebookDocumentFilter.is = is; })(NotebookDocumentFilter || (exports.NotebookDocumentFilter = NotebookDocumentFilter = {})); /** * The NotebookCellTextDocumentFilter namespace provides helper functions to work with * {@link NotebookCellTextDocumentFilter} literals. * * @since 3.17.0 */ var NotebookCellTextDocumentFilter; (function (NotebookCellTextDocumentFilter) { function is(value) { const candidate = value; return Is.objectLiteral(candidate) && (Is.string(candidate.notebook) || NotebookDocumentFilter.is(candidate.notebook)) && (candidate.language === undefined || Is.string(candidate.language)); } NotebookCellTextDocumentFilter.is = is; })(NotebookCellTextDocumentFilter || (exports.NotebookCellTextDocumentFilter = NotebookCellTextDocumentFilter = {})); /** * The DocumentSelector namespace provides helper functions to work with * {@link DocumentSelector}s. */ var DocumentSelector; (function (DocumentSelector) { function is(value) { if (!Array.isArray(value)) { return false; } for (const elem of value) { if (!Is.string(elem) && !TextDocumentFilter.is(elem) && !NotebookCellTextDocumentFilter.is(elem)) { return false; } } return true; } DocumentSelector.is = is; })(DocumentSelector || (exports.DocumentSelector = DocumentSelector = {})); /** * The `client/registerCapability` request is sent from the server to the client to register a new capability * handler on the client side. */ var RegistrationRequest; (function (RegistrationRequest) { RegistrationRequest.method = 'client/registerCapability'; RegistrationRequest.messageDirection = messages_1.MessageDirection.serverToClient; RegistrationRequest.type = new messages_1.ProtocolRequestType(RegistrationRequest.method); })(RegistrationRequest || (exports.RegistrationRequest = RegistrationRequest = {})); /** * The `client/unregisterCapability` request is sent from the server to the client to unregister a previously registered capability * handler on the client side. */ var UnregistrationRequest; (function (UnregistrationRequest) { UnregistrationRequest.method = 'client/unregisterCapability'; UnregistrationRequest.messageDirection = messages_1.MessageDirection.serverToClient; UnregistrationRequest.type = new messages_1.ProtocolRequestType(UnregistrationRequest.method); })(UnregistrationRequest || (exports.UnregistrationRequest = UnregistrationRequest = {})); var ResourceOperationKind; (function (ResourceOperationKind) { /** * Supports creating new files and folders. */ ResourceOperationKind.Create = 'create'; /** * Supports renaming existing files and folders. */ ResourceOperationKind.Rename = 'rename'; /** * Supports deleting existing files and folders. */ ResourceOperationKind.Delete = 'delete'; })(ResourceOperationKind || (exports.ResourceOperationKind = ResourceOperationKind = {})); var FailureHandlingKind; (function (FailureHandlingKind) { /** * Applying the workspace change is simply aborted if one of the changes provided * fails. All operations executed before the failing operation stay executed. */ FailureHandlingKind.Abort = 'abort'; /** * All operations are executed transactional. That means they either all * succeed or no changes at all are applied to the workspace. */ FailureHandlingKind.Transactional = '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. */ FailureHandlingKind.TextOnlyTransactional = 'textOnlyTransactional'; /** * The client tries to undo the operations already executed. But there is no * guarantee that this is succeeding. */ FailureHandlingKind.Undo = 'undo'; })(FailureHandlingKind || (exports.FailureHandlingKind = FailureHandlingKind = {})); /** * Regular Expression Engines * * @since 3.18.0 */ var RegularExpressionEngineKind; (function (RegularExpressionEngineKind) { RegularExpressionEngineKind.ES2020 = 'ES2020'; })(RegularExpressionEngineKind || (exports.RegularExpressionEngineKind = RegularExpressionEngineKind = {})); /** * A set of predefined position encoding kinds. * * @since 3.17.0 */ var PositionEncodingKind; (function (PositionEncodingKind) { /** * Character offsets count UTF-8 code units (e.g. bytes). */ PositionEncodingKind.UTF8 = 'utf-8'; /** * Character offsets count UTF-16 code units. * * This is the default and must always be supported * by servers */ PositionEncodingKind.UTF16 = 'utf-16'; /** * Character offsets count UTF-32 code units. * * Implementation note: these are the same as Unicode codepoints, * so this `PositionEncodingKind` may also be used for an * encoding-agnostic representation of character offsets. */ PositionEncodingKind.UTF32 = 'utf-32'; })(PositionEncodingKind || (exports.PositionEncodingKind = PositionEncodingKind = {})); /** * The StaticRegistrationOptions namespace provides helper functions to work with * {@link StaticRegistrationOptions} literals. */ var StaticRegistrationOptions; (function (StaticRegistrationOptions) { function hasId(value) { const candidate = value; return candidate && Is.string(candidate.id) && candidate.id.length > 0; } StaticRegistrationOptions.hasId = hasId; })(StaticRegistrationOptions || (exports.StaticRegistrationOptions = StaticRegistrationOptions = {})); /** * The TextDocumentRegistrationOptions namespace provides helper functions to work with * {@link TextDocumentRegistrationOptions} literals. */ var TextDocumentRegistrationOptions; (function (TextDocumentRegistrationOptions) { function is(value) { const candidate = value; return candidate && (candidate.documentSelector === null || DocumentSelector.is(candidate.documentSelector)); } TextDocumentRegistrationOptions.is = is; })(TextDocumentRegistrationOptions || (exports.TextDocumentRegistrationOptions = TextDocumentRegistrationOptions = {})); /** * The WorkDoneProgressOptions namespace provides helper functions to work with * {@link WorkDoneProgressOptions} literals. */ var WorkDoneProgressOptions; (function (WorkDoneProgressOptions) { function is(value) { const candidate = value; return Is.objectLiteral(candidate) && (candidate.workDoneProgress === undefined || Is.boolean(candidate.workDoneProgress)); } WorkDoneProgressOptions.is = is; function hasWorkDoneProgress(value) { const candidate = value; return candidate && Is.boolean(candidate.workDoneProgress); } WorkDoneProgressOptions.hasWorkDoneProgress = hasWorkDoneProgress; })(WorkDoneProgressOptions || (exports.WorkDoneProgressOptions = WorkDoneProgressOptions = {})); /** * 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 {@link InitializeParams} * the response if of type {@link InitializeResult} of a Thenable that * resolves to such. */ var InitializeRequest; (function (InitializeRequest) { InitializeRequest.method = 'initialize'; InitializeRequest.messageDirection = messages_1.MessageDirection.clientToServer; InitializeRequest.type = new messages_1.ProtocolRequestType(InitializeRequest.method); })(InitializeRequest || (exports.InitializeRequest = InitializeRequest = {})); /** * Known error codes for an `InitializeErrorCodes`; */ var InitializeErrorCodes; (function (InitializeErrorCodes) { /** * 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 */ InitializeErrorCodes.unknownProtocolVersion = 1; })(InitializeErrorCodes || (exports.InitializeErrorCodes = InitializeErrorCodes = {})); /** * 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. */ var InitializedNotification; (function (InitializedNotification) { InitializedNotification.method = 'initialized'; InitializedNotification.messageDirection = messages_1.MessageDirection.clientToServer; InitializedNotification.type = new messages_1.ProtocolNotificationType(InitializedNotification.method); })(InitializedNotification || (exports.InitializedNotification = InitializedNotification = {})); //---- Shutdown Method ---- /** * 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. */ var ShutdownRequest; (function (ShutdownRequest) { ShutdownRequest.method = 'shutdown'; ShutdownRequest.messageDirection = messages_1.MessageDirection.clientToServer; ShutdownRequest.type = new messages_1.ProtocolRequestType0(ShutdownRequest.method); })(ShutdownRequest || (exports.ShutdownRequest = ShutdownRequest = {})); //---- Exit Notification ---- /** * The exit event is sent from the client to the server to * ask the server to exit its process. */ var ExitNotification; (function (ExitNotification) { ExitNotification.method = 'exit'; ExitNotification.messageDirection = messages_1.MessageDirection.clientToServer; ExitNotification.type = new messages_1.ProtocolNotificationType0(ExitNotification.method); })(ExitNotification || (exports.ExitNotification = ExitNotification = {})); /** * 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. */ var DidChangeConfigurationNotification; (function (DidChangeConfigurationNotification) { DidChangeConfigurationNotification.method = 'workspace/didChangeConfiguration'; DidChangeConfigurationNotification.messageDirection = messages_1.MessageDirection.clientToServer; DidChangeConfigurationNotification.type = new messages_1.ProtocolNotificationType(DidChangeConfigurationNotification.method); DidChangeConfigurationNotification.capabilities = messages_1.CM.create('workspace.didChangeConfiguration', undefined); })(DidChangeConfigurationNotification || (exports.DidChangeConfigurationNotification = DidChangeConfigurationNotification = {})); //---- Message show and log notifications ---- /** * The message type */ var MessageType; (function (MessageType) { /** * An error message. */ MessageType.Error = 1; /** * A warning message. */ MessageType.Warning = 2; /** * An information message. */ MessageType.Info = 3; /** * A log message. */ MessageType.Log = 4; /** * A debug message. * * @since 3.18.0 */ MessageType.Debug = 5; })(MessageType || (exports.MessageType = MessageType = {})); /** * 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. */ var ShowMessageNotification; (function (ShowMessageNotification) { ShowMessageNotification.method = 'window/showMessage'; ShowMessageNotification.messageDirection = messages_1.MessageDirection.serverToClient; ShowMessageNotification.type = new messages_1.ProtocolNotificationType(ShowMessageNotification.method); ShowMessageNotification.capabilities = messages_1.CM.create('window.showMessage', undefined); })(ShowMessageNotification || (exports.ShowMessageNotification = ShowMessageNotification = {})); /** * 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. */ var ShowMessageRequest; (function (ShowMessageRequest) { ShowMessageRequest.method = 'window/showMessageRequest'; ShowMessageRequest.messageDirection = messages_1.MessageDirection.serverToClient; ShowMessageRequest.type = new messages_1.ProtocolRequestType(ShowMessageRequest.method); ShowMessageRequest.capabilities = messages_1.CM.create('window.showMessage', undefined); })(ShowMessageRequest || (exports.ShowMessageRequest = ShowMessageRequest = {})); /** * The log message notification is sent from the server to the client to ask * the client to log a particular message. */ var LogMessageNotification; (function (LogMessageNotification) { LogMessageNotification.method = 'window/logMessage'; LogMessageNotification.messageDirection = messages_1.MessageDirection.serverToClient; LogMessageNotification.type = new messages_1.ProtocolNotificationType(LogMessageNotification.method); })(LogMessageNotification || (exports.LogMessageNotification = LogMessageNotification = {})); //---- Telemetry notification /** * The telemetry event notification is sent from the server to the client to ask * the client to log telemetry data. */ var TelemetryEventNotification; (function (TelemetryEventNotification) { TelemetryEventNotification.method = 'telemetry/event'; TelemetryEventNotification.messageDirection = messages_1.MessageDirection.serverToClient; TelemetryEventNotification.type = new messages_1.ProtocolNotificationType(TelemetryEventNotification.method); })(TelemetryEventNotification || (exports.TelemetryEventNotification = TelemetryEventNotification = {})); /** * Defines how the host (editor) should sync * document changes to the language server. */ var TextDocumentSyncKind; (function (TextDocumentSyncKind) { /** * Documents should not be synced at all. */ TextDocumentSyncKind.None = 0; /** * Documents are synced by always sending the full content * of the document. */ TextDocumentSyncKind.Full = 1; /** * Documents are synced by sending the full content on open. * After that only incremental updates to the document are * send. */ TextDocumentSyncKind.Incremental = 2; })(TextDocumentSyncKind || (exports.TextDocumentSyncKind = TextDocumentSyncKind = {})); /** * 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. */ var DidOpenTextDocumentNotification; (function (DidOpenTextDocumentNotification) { DidOpenTextDocumentNotification.method = 'textDocument/didOpen'; DidOpenTextDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer; DidOpenTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidOpenTextDocumentNotification.method); DidOpenTextDocumentNotification.capabilities = messages_1.CM.create('textDocument.synchronization', 'textDocumentSync.openClose'); })(DidOpenTextDocumentNotification || (exports.DidOpenTextDocumentNotification = DidOpenTextDocumentNotification = {})); var TextDocumentContentChangeEvent; (function (TextDocumentContentChangeEvent) { /** * Checks whether the information describes a delta event. */ function isIncremental(event) { const candidate = event; return candidate !== undefined && candidate !== null && typeof candidate.text === 'string' && candidate.range !== undefined && (candidate.rangeLength === undefined || typeof candidate.rangeLength === 'number'); } TextDocumentContentChangeEvent.isIncremental = isIncremental; /** * Checks whether the information describes a full replacement event. */ function isFull(event) { const candidate = event; return candidate !== undefined && candidate !== null && typeof candidate.text === 'string' && candidate.range === undefined && candidate.rangeLength === undefined; } TextDocumentContentChangeEvent.isFull = isFull; })(TextDocumentContentChangeEvent || (exports.TextDocumentContentChangeEvent = TextDocumentContentChangeEvent = {})); /** * The document change notification is sent from the client to the server to signal * changes to a text document. */ var DidChangeTextDocumentNotification; (function (DidChangeTextDocumentNotification) { DidChangeTextDocumentNotification.method = 'textDocument/didChange'; DidChangeTextDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer; DidChangeTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidChangeTextDocumentNotification.method); DidChangeTextDocumentNotification.capabilities = messages_1.CM.create('textDocument.synchronization', 'textDocumentSync'); })(DidChangeTextDocumentNotification || (exports.DidChangeTextDocumentNotification = DidChangeTextDocumentNotification = {})); /** * 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. */ var DidCloseTextDocumentNotification; (function (DidCloseTextDocumentNotification) { DidCloseTextDocumentNotification.method = 'textDocument/didClose'; DidCloseTextDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer; DidCloseTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidCloseTextDocumentNotification.method); DidCloseTextDocumentNotification.capabilities = messages_1.CM.create('textDocument.synchronization', 'textDocumentSync.openClose'); })(DidCloseTextDocumentNotification || (exports.DidCloseTextDocumentNotification = DidCloseTextDocumentNotification = {})); /** * The document save notification is sent from the client to the server when * the document got saved in the client. */ var DidSaveTextDocumentNotification; (function (DidSaveTextDocumentNotification) { DidSaveTextDocumentNotification.method = 'textDocument/didSave'; DidSaveTextDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer; DidSaveTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification.method); DidSaveTextDocumentNotification.capabilities = messages_1.CM.create('textDocument.synchronization.didSave', 'textDocumentSync.save'); })(DidSaveTextDocumentNotification || (exports.DidSaveTextDocumentNotification = DidSaveTextDocumentNotification = {})); /** * Represents reasons why a text document is saved. */ var TextDocumentSaveReason; (function (TextDocumentSaveReason) { /** * Manually triggered, e.g. by the user pressing save, by starting debugging, * or by an API call. */ TextDocumentSaveReason.Manual = 1; /** * Automatic after a delay. */ TextDocumentSaveReason.AfterDelay = 2; /** * When the editor lost focus. */ TextDocumentSaveReason.FocusOut = 3; })(TextDocumentSaveReason || (exports.TextDocumentSaveReason = TextDocumentSaveReason = {})); /** * A document will save notification is sent from the client to the server before * the document is actually saved. */ var WillSaveTextDocumentNotification; (function (WillSaveTextDocumentNotification) { WillSaveTextDocumentNotification.method = 'textDocument/willSave'; WillSaveTextDocumentNotification.messageDirection = messages_1.MessageDirection.clientToServer; WillSaveTextDocumentNotification.type = new messages_1.ProtocolNotificationType(WillSaveTextDocumentNotification.method); WillSaveTextDocumentNotification.capabilities = messages_1.CM.create('textDocument.synchronization.willSave', 'textDocumentSync.willSave'); })(WillSaveTextDocumentNotification || (exports.WillSaveTextDocumentNotification = WillSaveTextDocumentNotification = {})); /** * 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. */ var WillSaveTextDocumentWaitUntilRequest; (function (WillSaveTextDocumentWaitUntilRequest) { WillSaveTextDocumentWaitUntilRequest.method = 'textDocument/willSaveWaitUntil'; WillSaveTextDocumentWaitUntilRequest.messageDirection = messages_1.MessageDirection.clientToServer; WillSaveTextDocumentWaitUntilRequest.type = new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest.method); WillSaveTextDocumentWaitUntilRequest.capabilities = messages_1.CM.create('textDocument.synchronization.willSaveWaitUntil', 'textDocumentSync.willSaveWaitUntil'); })(WillSaveTextDocumentWaitUntilRequest || (exports.WillSaveTextDocumentWaitUntilRequest = WillSaveTextDocumentWaitUntilRequest = {})); /** * The watched files notification is sent from the client to the server when * the client detects changes to file watched by the language client. */ var DidChangeWatchedFilesNotification; (function (DidChangeWatchedFilesNotification) { DidChangeWatchedFilesNotification.method = 'workspace/didChangeWatchedFiles'; DidChangeWatchedFilesNotification.messageDirection = messages_1.MessageDirection.clientToServer; DidChangeWatchedFilesNotification.type = new messages_1.ProtocolNotificationType(DidChangeWatchedFilesNotification.method); DidChangeWatchedFilesNotification.capabilities = messages_1.CM.create('workspace.didChangeWatchedFiles', undefined); })(DidChangeWatchedFilesNotification || (exports.DidChangeWatchedFilesNotification = DidChangeWatchedFilesNotification = {})); /** * The file event type */ var FileChangeType; (function (FileChangeType) { /** * The file got created. */ FileChangeType.Created = 1; /** * The file got changed. */ FileChangeType.Changed = 2; /** * The file got deleted. */ FileChangeType.Deleted = 3; })(FileChangeType || (exports.FileChangeType = FileChangeType = {})); var RelativePattern; (function (RelativePattern) { function is(value) { const candidate = value; return Is.objectLiteral(candidate) && (vscode_languageserver_types_1.URI.is(candidate.baseUri) || vscode_languageserver_types_1.WorkspaceFolder.is(candidate.baseUri)) && Is.string(candidate.pattern); } RelativePattern.is = is; })(RelativePattern || (exports.RelativePattern = RelativePattern = {})); var GlobPattern; (function (GlobPattern) { function is(value) { const candidate = value; return Is.string(candidate) || RelativePattern.is(candidate); } GlobPattern.is = is; })(GlobPattern || (exports.GlobPattern = GlobPattern = {})); var WatchKind; (function (WatchKind) { /** * Interested in create events. */ WatchKind.Create = 1; /** * Interested in change events */ WatchKind.Change = 2; /** * Interested in delete events */ WatchKind.Delete = 4; })(WatchKind || (exports.WatchKind = WatchKind = {})); /** * Diagnostics notification are sent from the server to the client to signal * results of validation runs. */ var PublishDiagnosticsNotification; (function (PublishDiagnosticsNotification) { PublishDiagnosticsNotification.method = 'textDocument/publishDiagnostics'; PublishDiagnosticsNotification.messageDirection = messages_1.MessageDirection.serverToClient; PublishDiagnosticsNotification.type = new messages_1.ProtocolNotificationType(PublishDiagnosticsNotification.method); PublishDiagnosticsNotification.capabilities = messages_1.CM.create('textDocument.publishDiagnostics', undefined); })(PublishDiagnosticsNotification || (exports.PublishDiagnosticsNotification = PublishDiagnosticsNotification = {})); /** * How a completion was triggered */ var CompletionTriggerKind; (function (CompletionTriggerKind) { /** * Completion was triggered by typing an identifier (24x7 code * complete), manual invocation (e.g Ctrl+Space) or via API. */ CompletionTriggerKind.Invoked = 1; /** * Completion was triggered by a trigger character specified by * the `triggerCharacters` properties of the `CompletionRegistrationOptions`. */ CompletionTriggerKind.TriggerCharacter = 2; /** * Completion was re-triggered as current completion list is incomplete */ CompletionTriggerKind.TriggerForIncompleteCompletions = 3; })(CompletionTriggerKind || (exports.CompletionTriggerKind = CompletionTriggerKind = {})); /** * Request to request completion at a given text document position. The request's * parameter is of type {@link TextDocumentPosition} the response * is of type {@link CompletionItem CompletionItem[]} or {@link CompletionList} * or a Thenable that resolves to such. * * The request can delay the computation of the {@link CompletionItem.detail `detail`} * and {@link CompletionItem.documentation `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. */ var CompletionRequest; (function (CompletionRequest) { CompletionRequest.method = 'textDocument/completion'; CompletionRequest.messageDirection = messages_1.MessageDirection.clientToServer; CompletionRequest.type = new messages_1.ProtocolRequestType(CompletionRequest.method); CompletionRequest.capabilities = messages_1.CM.create('textDocument.completion', 'completionProvider'); })(CompletionRequest || (exports.CompletionRequest = CompletionRequest = {})); /** * Request to resolve additional information for a given completion item.The request's * parameter is of type {@link CompletionItem} the response * is of type {@link CompletionItem} or a Thenable that resolves to such. */ var CompletionResolveRequest; (function (CompletionResolveRequest) { CompletionResolveRequest.method = 'completionItem/resolve'; CompletionResolveRequest.messageDirection = messages_1.MessageDirection.clientToServer; CompletionResolveRequest.type = new messages_1.ProtocolRequestType(CompletionResolveRequest.method); CompletionResolveRequest.capabilities = messages_1.CM.create('textDocument.completion.completionItem.resolveSupport', 'completionProvider.resolveProvider'); })(CompletionResolveRequest || (exports.CompletionResolveRequest = CompletionResolveRequest = {})); /** * Request to request hover information at a given text document position. The request's * parameter is of type {@link TextDocumentPosition} the response is of * type {@link Hover} or a Thenable that resolves to such. */ var HoverRequest; (function (HoverRequest) { HoverRequest.method = 'textDocument/hover'; HoverRequest.messageDirection = messages_1.MessageDirection.clientToServer; HoverRequest.type = new messages_1.ProtocolRequestType(HoverRequest.method); HoverRequest.capabilities = messages_1.CM.create('textDocument.hover', 'hoverProvider'); })(HoverRequest || (exports.HoverRequest = HoverRequest = {})); /** * How a signature help was triggered. * * @since 3.15.0 */ var SignatureHelpTriggerKind; (function (SignatureHelpTriggerKind) { /** * Signature help was invoked manually by the user or by a command. */ SignatureHelpTriggerKind.Invoked = 1; /** * Signature help was triggered by a trigger character. */ SignatureHelpTriggerKind.TriggerCharacter = 2; /** * Signature help was triggered by the cursor moving or by the document content changing. */ SignatureHelpTriggerKind.ContentChange = 3; })(SignatureHelpTriggerKind || (exports.SignatureHelpTriggerKind = SignatureHelpTriggerKind = {})); var SignatureHelpRequest; (function (SignatureHelpRequest) { SignatureHelpRequest.method = 'textDocument/signatureHelp'; SignatureHelpRequest.messageDirection = messages_1.MessageDirection.clientToServer; SignatureHelpRequest.type = new messages_1.ProtocolRequestType(SignatureHelpRequest.method); SignatureHelpRequest.capabilities = messages_1.CM.create('textDocument.signatureHelp', 'signatureHelpProvider'); })(SignatureHelpRequest || (exports.SignatureHelpRequest = SignatureHelpRequest = {})); /** * A request to resolve the definition location of a symbol at a given text * document position. The request's parameter is of type {@link TextDocumentPosition} * the response is of either type {@link Definition} or a typed array of * {@link DefinitionLink} or a Thenable that resolves to such. */ var DefinitionRequest; (function (DefinitionRequest) { DefinitionRequest.method = 'textDocument/definition'; DefinitionRequest.messageDirection = messages_1.MessageDirection.clientToServer; DefinitionRequest.type = new messages_1.ProtocolRequestType(DefinitionRequest.method); DefinitionRequest.capabilities = messages_1.CM.create('textDocument.definition', 'definitionProvider'); })(DefinitionRequest || (exports.DefinitionRequest = DefinitionRequest = {})); /** * A request to resolve project-wide references for the symbol denoted * by the given text document position. The request's parameter is of * type {@link ReferenceParams} the response is of type * {@link Location Location[]} or a Thenable that resolves to such. */ var ReferencesRequest; (function (ReferencesRequest) { ReferencesRequest.method = 'textDocument/references'; ReferencesRequest.messageDirection = messages_1.MessageDirection.clientToServer; ReferencesRequest.type = new messages_1.ProtocolRequestType(ReferencesRequest.method); ReferencesRequest.capabilities = messages_1.CM.create('textDocument.references', 'referencesProvider'); })(ReferencesRequest || (exports.ReferencesRequest = ReferencesRequest = {})); /** * Request to resolve a {@link DocumentHighlight} for a given * text document position. The request's parameter is of type {@link TextDocumentPosition} * the request response is an array of type {@link DocumentHighlight} * or a Thenable that resolves to such. */ var DocumentHighlightRequest; (function (DocumentHighlightRequest) {