Proper errors if glslangValidator isnt found, woop

This commit is contained in:
Noah Santschi-Cooney 2018-06-15 22:59:59 +01:00
parent 44ee663d06
commit ef643d8cdb
No known key found for this signature in database
GPG key ID: 3B22282472C8AE48
4 changed files with 14 additions and 13 deletions

View file

@ -2,7 +2,7 @@ import * as vsclang from 'vscode-languageserver'
import { Config } from './config'
import { completions } from './completionProvider';
import { preprocess } from './linter';
import { stat } from 'fs';
import { exec } from 'child_process';
export const connection = vsclang.createConnection(new vsclang.IPCMessageReader(process), new vsclang.IPCMessageWriter(process));
@ -32,17 +32,18 @@ documents.onDidSave((event) => {
/* documents.onDidChangeContent((change) => {
preprocess(change.document);
});
*/
});*/
connection.onDidChangeConfiguration((change) => {
const temp = change.settings.mcglsl as Config
conf = new Config(temp.minecraftPath, temp.glslangPath)
stat(conf.glslangPath, (error) => {
if (error) {
connection.window.showErrorMessage('glslangValidator not found')
conf = new Config(temp.minecraftPath, temp.glslangValidatorPath)
exec(conf.glslangValidatorPath, (error) => {
if (error['code'] !== 1) {
connection.window.showErrorMessage(`[mc-glsl] glslangValidator not found at: ${conf.glslangValidatorPath}`)
return
}
documents.all().forEach(preprocess);
})
documents.all().forEach(preprocess);
});
connection.onCompletion((textDocumentPosition: vsclang.TextDocumentPositionParams): vsclang.CompletionItem[] => {