From c72c6cc31dc7c5f43637faa53b3b1b5ce2c35df8 Mon Sep 17 00:00:00 2001 From: Martin Aeschlimann Date: Mon, 28 Aug 2017 19:15:29 +0200 Subject: [PATCH] [json] complete colorProvider adoption --- extensions/json/client/src/jsonMain.ts | 13 ++++++------- extensions/json/npm-shrinkwrap.json | 2 +- extensions/json/package.json | 1 + extensions/json/server/npm-shrinkwrap.json | 2 +- extensions/json/server/package.json | 1 + extensions/json/server/src/jsonServerMain.ts | 6 +----- 6 files changed, 11 insertions(+), 14 deletions(-) diff --git a/extensions/json/client/src/jsonMain.ts b/extensions/json/client/src/jsonMain.ts index 6d1718d14d8..0373150f728 100644 --- a/extensions/json/client/src/jsonMain.ts +++ b/extensions/json/client/src/jsonMain.ts @@ -6,7 +6,7 @@ import * as path from 'path'; -import { workspace, languages, ExtensionContext, extensions, Uri, Range, TextDocument, ColorRange, Color } from 'vscode'; +import { workspace, languages, ExtensionContext, extensions, Uri, TextDocument, ColorRange, Color } from 'vscode'; import { LanguageClient, LanguageClientOptions, RequestType, ServerOptions, TransportKind, NotificationType, DidChangeConfigurationNotification } from 'vscode-languageclient'; import TelemetryReporter from 'vscode-extension-telemetry'; import { ConfigurationFeature } from 'vscode-languageclient/lib/proposed'; @@ -21,10 +21,6 @@ namespace VSCodeContentRequest { export const type: RequestType = new RequestType('vscode/content'); } -namespace ColorSymbolRequest { - export const type: RequestType = new RequestType('json/colorSymbols'); -} - export interface ISchemaAssociations { [pattern: string]: string[]; } @@ -83,10 +79,12 @@ export function activate(context: ExtensionContext) { debug: { module: serverModule, transport: TransportKind.ipc, options: debugOptions } }; + let documentSelector = ['json']; + // Options to control the language client let clientOptions: LanguageClientOptions = { // Register the server for json documents - documentSelector: ['json'], + documentSelector, synchronize: { // Synchronize the setting section 'json' to the server configurationSection: ['json', 'http'], @@ -123,7 +121,8 @@ export function activate(context: ExtensionContext) { client.sendNotification(SchemaAssociationNotification.type, getSchemaAssociation(context)); - context.subscriptions.push(languages.registerColorProvider('json', { + // register color provider + context.subscriptions.push(languages.registerColorProvider(documentSelector, { provideDocumentColors(document: TextDocument): Thenable { let params = client.code2ProtocolConverter.asDocumentSymbolParams(document); return client.sendRequest(DocumentColorRequest.type, params).then(symbols => { diff --git a/extensions/json/npm-shrinkwrap.json b/extensions/json/npm-shrinkwrap.json index 47b7a19991c..4caf64d28b7 100644 --- a/extensions/json/npm-shrinkwrap.json +++ b/extensions/json/npm-shrinkwrap.json @@ -24,7 +24,7 @@ }, "vscode-languageserver-protocol": { "version": "3.1.1", - "from": "vscode-languageserver-protocol@>=3.1.0 <4.0.0", + "from": "vscode-languageserver-protocol@>=3.1.1 <4.0.0", "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.1.1.tgz" }, "vscode-languageserver-types": { diff --git a/extensions/json/package.json b/extensions/json/package.json index 60bfffe3694..ba30bb1045d 100644 --- a/extensions/json/package.json +++ b/extensions/json/package.json @@ -134,6 +134,7 @@ "dependencies": { "vscode-extension-telemetry": "0.0.8", "vscode-languageclient": "3.4.0-next.17", + "vscode-languageserver-protocol": "^3.1.1", "vscode-nls": "2.0.2" }, "devDependencies": { diff --git a/extensions/json/server/npm-shrinkwrap.json b/extensions/json/server/npm-shrinkwrap.json index 2cac43fbdb4..04861afd39f 100644 --- a/extensions/json/server/npm-shrinkwrap.json +++ b/extensions/json/server/npm-shrinkwrap.json @@ -59,7 +59,7 @@ }, "vscode-languageserver-protocol": { "version": "3.1.1", - "from": "vscode-languageserver-protocol@>=3.1.0 <4.0.0", + "from": "vscode-languageserver-protocol@>=3.1.1 <4.0.0", "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.1.1.tgz" }, "vscode-languageserver-types": { diff --git a/extensions/json/server/package.json b/extensions/json/server/package.json index 9a215afd2ad..8918e797eb7 100644 --- a/extensions/json/server/package.json +++ b/extensions/json/server/package.json @@ -12,6 +12,7 @@ "request-light": "^0.2.1", "vscode-json-languageservice": "^2.0.15", "vscode-languageserver": "3.4.0-next.6", + "vscode-languageserver-protocol": "^3.1.1", "vscode-nls": "^2.0.2" }, "devDependencies": { diff --git a/extensions/json/server/src/jsonServerMain.ts b/extensions/json/server/src/jsonServerMain.ts index 654c5e319d8..2fe428f717f 100644 --- a/extensions/json/server/src/jsonServerMain.ts +++ b/extensions/json/server/src/jsonServerMain.ts @@ -7,7 +7,7 @@ import { createConnection, IConnection, TextDocuments, TextDocument, InitializeParams, InitializeResult, NotificationType, RequestType, - DocumentRangeFormattingRequest, Disposable, Range, ServerCapabilities + DocumentRangeFormattingRequest, Disposable, ServerCapabilities } from 'vscode-languageserver'; import { DocumentColorRequest, ServerCapabilities as CPServerCapabilities } from 'vscode-languageserver-protocol/lib/protocol.colorProvider.proposed'; @@ -36,10 +36,6 @@ namespace VSCodeContentRequest { export const type: RequestType = new RequestType('vscode/content'); } -namespace ColorSymbolRequest { - export const type: RequestType = new RequestType('json/colorSymbols'); -} - // Create a connection for the server let connection: IConnection = createConnection(); -- GitLab