From a4380969b7bd53a9b4d15e936b41bfcdc25a88b5 Mon Sep 17 00:00:00 2001 From: Noah Santschi-Cooney Date: Mon, 16 Jul 2018 18:21:24 +0100 Subject: [PATCH] Diagnostics are now cleared if a file is closed --- server/src/config.ts | 4 ++-- server/src/server.ts | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/server/src/config.ts b/server/src/config.ts index 22bd034..d942f7a 100644 --- a/server/src/config.ts +++ b/server/src/config.ts @@ -19,7 +19,7 @@ export interface Config { export let conf: Partial = {} -connection.onDidChangeConfiguration(async (change) => { +export const onConfigChange = async (change) => { const temp = change.settings.mcglsl as Config conf = {shaderpacksPath: temp['shaderpacksPath'], glslangPath: temp['glslangValidatorPath']} try { @@ -68,4 +68,4 @@ connection.onDidChangeConfiguration(async (change) => { } } } -}) \ No newline at end of file +} \ No newline at end of file diff --git a/server/src/server.ts b/server/src/server.ts index 589c0e6..f55dcf3 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -1,6 +1,5 @@ import * as vsclang from 'vscode-languageserver' import * as vsclangproto from 'vscode-languageserver-protocol' -import { Config } from './config' import { completions } from './completionProvider' import { preprocess, ext, formatURI } from './linter' import { exec, execSync } from 'child_process' @@ -10,7 +9,10 @@ import { platform } from 'os' import { createWriteStream, chmodSync, createReadStream, unlinkSync } from 'fs' import * as unzip from 'unzip' -export const connection = vsclang.createConnection(new vsclang.IPCMessageReader(process), new vsclang.IPCMessageWriter(process)) +export let connection: vsclang.IConnection +connection = vsclang.createConnection(new vsclang.IPCMessageReader(process), new vsclang.IPCMessageWriter(process)) + +import { Config, onConfigChange } from './config' export const documents = new vsclang.TextDocuments() documents.listen(connection) @@ -32,6 +34,8 @@ documents.onDidOpen((event) => onEvent(event.document)) documents.onDidSave((event) => onEvent(event.document)) +documents.onDidClose((event) => connection.sendDiagnostics({uri: event.document.uri, diagnostics: []})) + //documents.onDidChangeContent(onEvent) export function onEvent(document: vsclangproto.TextDocument) { @@ -43,6 +47,8 @@ export function onEvent(document: vsclangproto.TextDocument) { } } +connection.onDidChangeConfiguration(onConfigChange) + connection.onCompletion((textDocumentPosition: vsclang.TextDocumentPositionParams) => completions) connection.onCompletionResolve((item: vsclang.CompletionItem): vsclang.CompletionItem => completions[item.data - 1])