From c10685b3c915546609c4c71eb0bddda856e77c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maria=20Jos=C3=A9=20Solano?= Date: Sat, 30 Nov 2024 14:40:34 -0800 Subject: [PATCH] Add capability information to the metamodel --- protocol/src/common/protocol.callHierarchy.ts | 1 + protocol/src/common/protocol.colorProvider.ts | 1 + protocol/src/common/protocol.configuration.ts | 1 + protocol/src/common/protocol.declaration.ts | 1 + protocol/src/common/protocol.diagnostic.ts | 4 +++- protocol/src/common/protocol.fileOperations.ts | 6 ++++++ protocol/src/common/protocol.foldingRange.ts | 2 ++ protocol/src/common/protocol.implementation.ts | 1 + protocol/src/common/protocol.inlayHint.ts | 3 +++ protocol/src/common/protocol.inlineCompletion.ts | 1 + protocol/src/common/protocol.inlineValue.ts | 2 ++ protocol/src/common/protocol.linkedEditingRange.ts | 1 + protocol/src/common/protocol.moniker.ts | 1 + protocol/src/common/protocol.progress.ts | 1 + protocol/src/common/protocol.selectionRange.ts | 1 + protocol/src/common/protocol.semanticTokens.ts | 4 ++++ protocol/src/common/protocol.showDocument.ts | 1 + protocol/src/common/protocol.textDocumentContent.ts | 3 ++- 18 files changed, 33 insertions(+), 2 deletions(-) diff --git a/protocol/src/common/protocol.callHierarchy.ts b/protocol/src/common/protocol.callHierarchy.ts index 663068507..ab0e7a951 100644 --- a/protocol/src/common/protocol.callHierarchy.ts +++ b/protocol/src/common/protocol.callHierarchy.ts @@ -59,6 +59,7 @@ export namespace CallHierarchyPrepareRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.callHierarchy'; server: 'callHierarchyProvider' } = { client: 'textDocument.callHierarchy', server: 'callHierarchyProvider' }; } /** diff --git a/protocol/src/common/protocol.colorProvider.ts b/protocol/src/common/protocol.colorProvider.ts index 1e97ad77c..6547eb63c 100644 --- a/protocol/src/common/protocol.colorProvider.ts +++ b/protocol/src/common/protocol.colorProvider.ts @@ -51,6 +51,7 @@ export namespace DocumentColorRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.colorProvider'; server: 'colorProvider' } = { client: 'textDocument.colorProvider', server: 'colorProvider' }; } /** diff --git a/protocol/src/common/protocol.configuration.ts b/protocol/src/common/protocol.configuration.ts index 980cc746e..e7468d332 100644 --- a/protocol/src/common/protocol.configuration.ts +++ b/protocol/src/common/protocol.configuration.ts @@ -25,6 +25,7 @@ export namespace ConfigurationRequest { export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; export type MiddlewareSignature = (params: ConfigurationParams, token: CancellationToken, next: HandlerSignature) => HandlerResult; + export const capabilities: { client: 'workspace.configuration' } = { client: 'workspace.configuration' }; } diff --git a/protocol/src/common/protocol.declaration.ts b/protocol/src/common/protocol.declaration.ts index bf0c995f2..f68644a1e 100644 --- a/protocol/src/common/protocol.declaration.ts +++ b/protocol/src/common/protocol.declaration.ts @@ -52,4 +52,5 @@ export namespace DeclarationRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.declaration'; server: 'declarationProvider' } = { client: 'textDocument.declaration', server: 'declarationProvider' }; } diff --git a/protocol/src/common/protocol.diagnostic.ts b/protocol/src/common/protocol.diagnostic.ts index a24f0cfc3..30f4a4a83 100644 --- a/protocol/src/common/protocol.diagnostic.ts +++ b/protocol/src/common/protocol.diagnostic.ts @@ -13,7 +13,6 @@ import type { DiagnosticsCapabilities } from './protocol'; - /** * Client capabilities specific to diagnostic pull requests. * @@ -269,6 +268,7 @@ export namespace DocumentDiagnosticRequest { export const type = new ProtocolRequestType(method); export const partialResult = new ProgressType(); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.diagnostic'; server: 'diagnosticProvider' } = { client: 'textDocument.diagnostic', server: 'diagnosticProvider' }; } /** @@ -382,6 +382,7 @@ export namespace WorkspaceDiagnosticRequest { export const type = new ProtocolRequestType(method); export const partialResult = new ProgressType(); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'workspace.diagnostics'; server: 'diagnosticProvider.workspaceDiagnostics' } = { client: 'workspace.diagnostics', server: 'diagnosticProvider.workspaceDiagnostics' }; } /** @@ -394,4 +395,5 @@ export namespace DiagnosticRefreshRequest { export const messageDirection: MessageDirection = MessageDirection.serverToClient; export const type = new ProtocolRequestType0(method); export type HandlerSignature = RequestHandler0; + export const capabilities: { client: 'workspace.diagnostics.refreshSupport' } = { client: 'workspace.diagnostics.refreshSupport' }; } diff --git a/protocol/src/common/protocol.fileOperations.ts b/protocol/src/common/protocol.fileOperations.ts index c3ee98c2b..540ffd31a 100644 --- a/protocol/src/common/protocol.fileOperations.ts +++ b/protocol/src/common/protocol.fileOperations.ts @@ -292,6 +292,7 @@ export namespace WillCreateFilesRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'workspace.fileOperations.willCreate'; server: 'workspace.fileOperations.willCreate' } = { client: 'workspace.fileOperations.willCreate', server: 'workspace.fileOperations.willCreate' }; } /** @@ -305,6 +306,7 @@ export namespace DidCreateFilesNotification { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolNotificationType(method); export type HandlerSignature = NotificationHandler; + export const capabilities: { client: 'workspace.fileOperations.didCreate'; server: 'workspace.fileOperations.didCreate' } = { client: 'workspace.fileOperations.didCreate', server: 'workspace.fileOperations.didCreate' }; } /** @@ -318,6 +320,7 @@ export namespace WillRenameFilesRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'workspace.fileOperations.willRename'; server: 'workspace.fileOperations.willRename' } = { client: 'workspace.fileOperations.willRename', server: 'workspace.fileOperations.willRename' }; } /** @@ -331,6 +334,7 @@ export namespace DidRenameFilesNotification { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolNotificationType(method); export type HandlerSignature = NotificationHandler; + export const capabilities: { client: 'workspace.fileOperations.didRename'; server: 'workspace.fileOperations.didRename' } = { client: 'workspace.fileOperations.didRename', server: 'workspace.fileOperations.didRename' }; } /** @@ -344,6 +348,7 @@ export namespace DidDeleteFilesNotification { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolNotificationType(method); export type HandlerSignature = NotificationHandler; + export const capabilities: { client: 'workspace.fileOperations.didDelete'; server: 'workspace.fileOperations.didDelete' } = { client: 'workspace.fileOperations.didDelete', server: 'workspace.fileOperations.didDelete' }; } /** @@ -357,4 +362,5 @@ export namespace WillDeleteFilesRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'workspace.fileOperations.willDelete'; server: 'workspace.fileOperations.willDelete' } = { client: 'workspace.fileOperations.willDelete', server: 'workspace.fileOperations.willDelete' }; } diff --git a/protocol/src/common/protocol.foldingRange.ts b/protocol/src/common/protocol.foldingRange.ts index 09d222d26..a3e21e70f 100644 --- a/protocol/src/common/protocol.foldingRange.ts +++ b/protocol/src/common/protocol.foldingRange.ts @@ -128,6 +128,7 @@ export namespace FoldingRangeRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.foldingRange'; server: 'foldingRangeProvider' } = { client: 'textDocument.foldingRange', server: 'foldingRangeProvider' }; } /** @@ -139,4 +140,5 @@ export namespace FoldingRangeRefreshRequest { export const messageDirection: MessageDirection = MessageDirection.serverToClient; export const type = new ProtocolRequestType0(method); export type HandlerSignature = RequestHandler0; + export const capabilities: { client: 'workspace.foldingRange.refreshSupport' } = { client: 'workspace.foldingRange.refreshSupport' }; } diff --git a/protocol/src/common/protocol.implementation.ts b/protocol/src/common/protocol.implementation.ts index d5e7194f4..fbb391ba9 100644 --- a/protocol/src/common/protocol.implementation.ts +++ b/protocol/src/common/protocol.implementation.ts @@ -53,4 +53,5 @@ export namespace ImplementationRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.implementation'; server: 'implementationProvider' } = { client: 'textDocument.implementation', server: 'implementationProvider' }; } diff --git a/protocol/src/common/protocol.inlayHint.ts b/protocol/src/common/protocol.inlayHint.ts index 634a9ab9a..0d4bc678c 100644 --- a/protocol/src/common/protocol.inlayHint.ts +++ b/protocol/src/common/protocol.inlayHint.ts @@ -105,6 +105,7 @@ export namespace InlayHintRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.inlayHint'; server: 'inlayHintProvider' } = { client: 'textDocument.inlayHint', server: 'inlayHintProvider' }; } /** @@ -119,6 +120,7 @@ export namespace InlayHintResolveRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.inlayHint.resolveSupport'; server: 'inlayHintProvider.resolveProvider' } = { client: 'textDocument.inlayHint.resolveSupport', server: 'inlayHintProvider.resolveProvider' }; } /** @@ -129,4 +131,5 @@ export namespace InlayHintRefreshRequest { export const messageDirection: MessageDirection = MessageDirection.serverToClient; export const type = new ProtocolRequestType0(method); export type HandlerSignature = RequestHandler0; + export const capabilities: { client: 'workspace.inlayHint.refreshSupport' } = { client: 'workspace.inlayHint.refreshSupport' }; } diff --git a/protocol/src/common/protocol.inlineCompletion.ts b/protocol/src/common/protocol.inlineCompletion.ts index d69d959c6..0754f542d 100644 --- a/protocol/src/common/protocol.inlineCompletion.ts +++ b/protocol/src/common/protocol.inlineCompletion.ts @@ -67,4 +67,5 @@ export namespace InlineCompletionRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.inlineCompletion'; server: 'inlineCompletionProvider' } = { client: 'textDocument.inlineCompletion', server: 'inlineCompletionProvider' }; } diff --git a/protocol/src/common/protocol.inlineValue.ts b/protocol/src/common/protocol.inlineValue.ts index a74a68e84..0ddb14485 100644 --- a/protocol/src/common/protocol.inlineValue.ts +++ b/protocol/src/common/protocol.inlineValue.ts @@ -90,6 +90,7 @@ export namespace InlineValueRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.inlineValue'; server: 'inlineValueProvider' } = { client: 'textDocument.inlineValue', server: 'inlineValueProvider' }; } /** @@ -100,4 +101,5 @@ export namespace InlineValueRefreshRequest { export const messageDirection: MessageDirection = MessageDirection.serverToClient; export const type = new ProtocolRequestType0(method); export type HandlerSignature = RequestHandler0; + export const capabilities: { client: 'workspace.inlineValue.refreshSupport' } = { client: 'workspace.inlineValue.refreshSupport' }; } diff --git a/protocol/src/common/protocol.linkedEditingRange.ts b/protocol/src/common/protocol.linkedEditingRange.ts index 695fd11a3..6ec44ffd4 100644 --- a/protocol/src/common/protocol.linkedEditingRange.ts +++ b/protocol/src/common/protocol.linkedEditingRange.ts @@ -65,4 +65,5 @@ export namespace LinkedEditingRangeRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.linkedEditingRange'; server: 'linkedEditingRangeProvider' } = { client: 'textDocument.linkedEditingRange', server: 'linkedEditingRangeProvider' }; } diff --git a/protocol/src/common/protocol.moniker.ts b/protocol/src/common/protocol.moniker.ts index 8847fa24b..6c9be1196 100644 --- a/protocol/src/common/protocol.moniker.ts +++ b/protocol/src/common/protocol.moniker.ts @@ -130,4 +130,5 @@ export namespace MonikerRequest { export const method: 'textDocument/moniker' = 'textDocument/moniker'; export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); + export const capabilities: { client: 'textDocument.moniker'; server: 'monikerProvider' } = { client: 'textDocument.moniker', server: 'monikerProvider' }; } diff --git a/protocol/src/common/protocol.progress.ts b/protocol/src/common/protocol.progress.ts index 03dbe9863..9930697f3 100644 --- a/protocol/src/common/protocol.progress.ts +++ b/protocol/src/common/protocol.progress.ts @@ -114,6 +114,7 @@ export namespace WorkDoneProgressCreateRequest { export const messageDirection: MessageDirection = MessageDirection.serverToClient; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'window.workDoneProgress' } = { client: 'window.workDoneProgress' }; } export interface WorkDoneProgressCancelParams { diff --git a/protocol/src/common/protocol.selectionRange.ts b/protocol/src/common/protocol.selectionRange.ts index 5523a97d5..c6677c3a1 100644 --- a/protocol/src/common/protocol.selectionRange.ts +++ b/protocol/src/common/protocol.selectionRange.ts @@ -54,4 +54,5 @@ export namespace SelectionRangeRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.selectionRange'; server: 'selectionRangeProvider' } = { client: 'textDocument.selectionRange', server: 'selectionRangeProvider' }; } diff --git a/protocol/src/common/protocol.semanticTokens.ts b/protocol/src/common/protocol.semanticTokens.ts index de8d6de46..984e8b933 100644 --- a/protocol/src/common/protocol.semanticTokens.ts +++ b/protocol/src/common/protocol.semanticTokens.ts @@ -204,6 +204,7 @@ export namespace SemanticTokensRequest { export const type = new ProtocolRequestType(method); export const registrationMethod: typeof SemanticTokensRegistrationType.method = SemanticTokensRegistrationType.method; export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.semanticTokens'; server: 'semanticTokensProvider' } = { client: 'textDocument.semanticTokens', server: 'semanticTokensProvider' }; } //------- 'textDocument/semanticTokens/edits' ----- @@ -233,6 +234,7 @@ export namespace SemanticTokensDeltaRequest { export const type = new ProtocolRequestType(method); export const registrationMethod: typeof SemanticTokensRegistrationType.method = SemanticTokensRegistrationType.method; export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.semanticTokens.requests.full.delta'; server: 'semanticTokensProvider.full.delta' } = { client: 'textDocument.semanticTokens.requests.full.delta', server: 'semanticTokensProvider.full.delta' }; } //------- 'textDocument/semanticTokens/range' ----- @@ -261,6 +263,7 @@ export namespace SemanticTokensRangeRequest { export const type = new ProtocolRequestType(method); export const registrationMethod: typeof SemanticTokensRegistrationType.method = SemanticTokensRegistrationType.method; export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'textDocument.semanticTokens.requests.range'; server: 'semanticTokensProvider.range' } = { client: 'textDocument.semanticTokens.requests.range', server: 'semanticTokensProvider.range' }; } //------- 'workspace/semanticTokens/refresh' ----- @@ -289,4 +292,5 @@ export namespace SemanticTokensRefreshRequest { export const messageDirection: MessageDirection = MessageDirection.serverToClient; export const type = new ProtocolRequestType0(method); export type HandlerSignature = RequestHandler0; + export const capabilities: { client: 'workspace.semanticTokens.refreshSupport' } = { client: 'workspace.semanticTokens.refreshSupport' }; } diff --git a/protocol/src/common/protocol.showDocument.ts b/protocol/src/common/protocol.showDocument.ts index 338521b8e..547854ae6 100644 --- a/protocol/src/common/protocol.showDocument.ts +++ b/protocol/src/common/protocol.showDocument.ts @@ -81,4 +81,5 @@ export namespace ShowDocumentRequest { export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; export type MiddlewareSignature = (params: ShowDocumentParams, token: CancellationToken, next: HandlerSignature) => HandlerResult; + export const capabilities: { client: 'window.showDocument.support' } = { client: 'window.showDocument.support' }; } diff --git a/protocol/src/common/protocol.textDocumentContent.ts b/protocol/src/common/protocol.textDocumentContent.ts index 545783ff2..366ac48d7 100644 --- a/protocol/src/common/protocol.textDocumentContent.ts +++ b/protocol/src/common/protocol.textDocumentContent.ts @@ -84,6 +84,7 @@ export namespace TextDocumentContentRequest { export const messageDirection: MessageDirection = MessageDirection.clientToServer; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; + export const capabilities: { client: 'workspace.textDocumentContent'; server: 'workspace.textDocumentContent' } = { client: 'workspace.textDocumentContent', server: 'workspace.textDocumentContent' }; } /** @@ -111,4 +112,4 @@ export namespace TextDocumentContentRefreshRequest { export const messageDirection: MessageDirection = MessageDirection.serverToClient; export const type = new ProtocolRequestType(method); export type HandlerSignature = RequestHandler; -} \ No newline at end of file +}