[json-language-features] Fix json/schemaAssociations parameters documentation

The `json/schemaAssociations` documentation is not accurate in stating
that the only supported parameter is an object in `{ pattern: uri }`
format. It also supports the structure defined by `SchemaConfiguration`
interface from "vscode-json-languageservice".

Also updated the server code to match that.

Resolves #106060
This commit is contained in:
Rafał Chłodnicki
2020-09-03 19:57:02 +02:00
parent 616afa93e2
commit 896dc31762
2 changed files with 27 additions and 15 deletions

View File

@@ -14,17 +14,10 @@ import { TextDocument, JSONDocument, JSONSchema, getLanguageService, DocumentLan
import { getLanguageModelCache } from './languageModelCache';
import { RequestService, basename, resolvePath } from './requests';
interface ISchemaAssociations {
[pattern: string]: string[];
}
interface ISchemaAssociation {
fileMatch: string[];
uri: string;
}
type ISchemaAssociations = Record<string, string[]>;
namespace SchemaAssociationNotification {
export const type: NotificationType<ISchemaAssociations | ISchemaAssociation[], any> = new NotificationType('json/schemaAssociations');
export const type: NotificationType<ISchemaAssociations | SchemaConfiguration[], any> = new NotificationType('json/schemaAssociations');
}
namespace VSCodeContentRequest {
@@ -212,7 +205,7 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment)
}();
let jsonConfigurationSettings: JSONSchemaSettings[] | undefined = undefined;
let schemaAssociations: ISchemaAssociations | ISchemaAssociation[] | undefined = undefined;
let schemaAssociations: ISchemaAssociations | SchemaConfiguration[] | undefined = undefined;
let formatterRegistration: Thenable<Disposable> | null = null;
// The settings have changed. Is send on server activation as well.