mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-24 12:19:20 +00:00
DiagnosticsSupport for json and html
This commit is contained in:
@@ -57,7 +57,7 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment)
|
||||
|
||||
let dataProvidersReady: Promise<any> = Promise.resolve();
|
||||
|
||||
let diagnosticPushSupport: DiagnosticsSupport | undefined;
|
||||
let diagnosticsSupport: DiagnosticsSupport | undefined;
|
||||
|
||||
const languageServices: { [id: string]: LanguageService } = {};
|
||||
|
||||
@@ -103,9 +103,9 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment)
|
||||
|
||||
const pullDiagnosticSupport = getClientCapability('textDocument.diagnostic', undefined);
|
||||
if (pullDiagnosticSupport === undefined) {
|
||||
diagnosticPushSupport = registerDiagnosticsPushSupport(documents, connection, runtime, validateTextDocument);
|
||||
diagnosticsSupport = registerDiagnosticsPushSupport(documents, connection, runtime, validateTextDocument);
|
||||
} else {
|
||||
diagnosticPushSupport = registerDiagnosticsPullSupport(documents, connection, runtime, validateTextDocument);
|
||||
diagnosticsSupport = registerDiagnosticsPullSupport(documents, connection, runtime, validateTextDocument);
|
||||
}
|
||||
|
||||
const capabilities: ServerCapabilities = {
|
||||
@@ -173,7 +173,7 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment)
|
||||
}
|
||||
// reset all document settings
|
||||
documentSettings = {};
|
||||
diagnosticPushSupport?.requestRefresh();
|
||||
diagnosticsSupport?.requestRefresh();
|
||||
}
|
||||
|
||||
async function validateTextDocument(textDocument: TextDocument): Promise<Diagnostic[]> {
|
||||
|
||||
@@ -58,8 +58,6 @@ export function registerDiagnosticsPushSupport(documents: TextDocuments<TextDocu
|
||||
}, validationDelayMs);
|
||||
}
|
||||
|
||||
documents.all().forEach(triggerValidation);
|
||||
|
||||
return {
|
||||
requestRefresh: () => {
|
||||
documents.all().forEach(triggerValidation);
|
||||
@@ -85,7 +83,7 @@ export function registerDiagnosticsPullSupport(documents: TextDocuments<TextDocu
|
||||
};
|
||||
}
|
||||
|
||||
connection.languages.diagnostics.on(async (params: DocumentDiagnosticParams, token: CancellationToken) => {
|
||||
const registration = connection.languages.diagnostics.on(async (params: DocumentDiagnosticParams, token: CancellationToken) => {
|
||||
return runSafeAsync(runtime, async () => {
|
||||
const document = documents.get(params.textDocument.uri);
|
||||
if (document) {
|
||||
@@ -103,6 +101,7 @@ export function registerDiagnosticsPullSupport(documents: TextDocuments<TextDocu
|
||||
return {
|
||||
requestRefresh,
|
||||
dispose: () => {
|
||||
registration.dispose();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user