1
0
mirror of https://github.com/salexdv/bsl_console.git synced 2025-02-15 13:53:04 +02:00

Функция для загрузки маркеров

This commit is contained in:
salexdv 2021-11-19 10:13:39 +03:00
parent 886bf83c70
commit fb4e7b42c1

View File

@ -1385,6 +1385,20 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
if (controller)
controller.insert(snippet);
}
setMarkers = function (markersJSON) {
try {
const markers_array = JSON.parse(markersJSON);
const model = editor.navi ? editor.getModifiedEditor().getModel() : editor.getModel();
setModelMarkers(model, markers_array)
return true;
}
catch (e) {
return { errorDescription: e.message };
}
}
// #endregion
@ -1628,6 +1642,48 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
// #endregion
// #region non-public functions
function setModelMarkers(model, markers_array) {
let markers_data = [];
markers_array.forEach(marker => {
let severity;
switch (marker.severity) {
case "Error":
severity = monaco.MarkerSeverity.Error;
break;
case "Hint":
severity = monaco.MarkerSeverity.Hint;
break;
case "Info":
severity = monaco.MarkerSeverity.Info;
break;
case "Warning":
severity = monaco.MarkerSeverity.Warning;
break;
default:
severity = monaco.MarkerSeverity.Error;
}
markers_data.push({
startLineNumber: marker.lineNumber,
endLineNumber: marker.lineNumber,
startColumn: marker.startColumn ? marker.startColumn : model.getLineFirstNonWhitespaceColumn(marker.lineNumber),
endColumn: marker.endColumn ? marker.endColumn : model.getLineFirstNonWhitespaceColumn(marker.lineNumber),
severity: severity,
message: marker.message,
code: marker.code ? marker.code : '',
source: marker.source ? marker.source : ''
});
});
monaco.editor.setModelMarkers(model, "markers", markers_data);
}
function startStopSuggestActivationObserver() {
if (suggestObserver != null) {