mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-24 20:26:08 +00:00
[json] Adapt language status indicator. Fixes #137288
This commit is contained in:
@@ -16,6 +16,8 @@ import { RequestService, basename, resolvePath } from './requests';
|
||||
|
||||
type ISchemaAssociations = Record<string, string[]>;
|
||||
|
||||
type JSONLanguageStatus = { schemas: string[] };
|
||||
|
||||
namespace SchemaAssociationNotification {
|
||||
export const type: NotificationType<ISchemaAssociations | SchemaConfiguration[]> = new NotificationType('json/schemaAssociations');
|
||||
}
|
||||
@@ -36,6 +38,10 @@ namespace ForceValidateRequest {
|
||||
export const type: RequestType<string, Diagnostic[], any> = new RequestType('json/validate');
|
||||
}
|
||||
|
||||
namespace LanguageStatusRequest {
|
||||
export const type: RequestType<string, JSONLanguageStatus, any> = new RequestType('json/languageStatus');
|
||||
}
|
||||
|
||||
|
||||
const workspaceContext = {
|
||||
resolveRelativePath: (relativePath: string, resource: string) => {
|
||||
@@ -277,6 +283,16 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment)
|
||||
});
|
||||
});
|
||||
|
||||
connection.onRequest(LanguageStatusRequest.type, async uri => {
|
||||
const document = documents.get(uri);
|
||||
if (document) {
|
||||
const jsonDocument = getJSONDocument(document);
|
||||
return languageService.getLanguageStatus(document, jsonDocument);
|
||||
} else {
|
||||
return { schemas: [] };
|
||||
}
|
||||
});
|
||||
|
||||
function updateConfiguration() {
|
||||
const languageSettings = {
|
||||
validate: true,
|
||||
|
||||
Reference in New Issue
Block a user