UNPKG

greybel-languageserver-core

Version:
58 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.activate = void 0; async function lookupErrors(document, context) { const activeDocument = await context.documentManager.getLatest(document); return activeDocument.errors.map((err) => { // Lexer error and Parser error if (err?.range) { const range = err.range; return { range: { start: { line: range.start.line - 1, character: range.start.character - 1 }, end: { line: range.end.line - 1, character: range.end.character - 1 } }, message: err.message, severity: 1 // Error }; } return { range: { start: activeDocument.parsedPayload.start, end: activeDocument.parsedPayload.end }, message: err.message, severity: 1 // Error }; }); } function activate(context) { context.connection.languages.diagnostics.on(async (params) => { if (!context.getConfiguration().diagnostic) { return; } const document = await context.fs.getTextDocument(params.textDocument.uri); if (document == null) { return; } const diagnostics = await lookupErrors(document, context); if (diagnostics.length === 0) { return { kind: 'full', items: [] }; } return { kind: 'full', items: diagnostics }; }); } exports.activate = activate; //# sourceMappingURL=diagnostic.js.map