You've already forked bsl_console
mirror of
https://github.com/salexdv/bsl_console.git
synced 2025-07-03 00:47:14 +02:00
Возврат различий в режиме сравнения #306
This commit is contained in:
@ -1516,6 +1516,50 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getDifferences = function () {
|
||||||
|
|
||||||
|
let diff = [];
|
||||||
|
|
||||||
|
if (editor.navi) {
|
||||||
|
|
||||||
|
diff = editor.getLineChanges();
|
||||||
|
let original_model = editor.originalEditor.getModel();
|
||||||
|
let modified_model = editor.modifiedEditor.getModel();
|
||||||
|
|
||||||
|
diff.forEach(function (value) {
|
||||||
|
|
||||||
|
value["originalText"] = getTextInLines(original_model, value.originalStartLineNumber, value.originalEndLineNumber);
|
||||||
|
value["modifiedText"] = getTextInLines(modified_model, value.modifiedStartLineNumber, value.modifiedEndLineNumber);
|
||||||
|
|
||||||
|
if (Array.isArray(value.charChanges)) {
|
||||||
|
|
||||||
|
value.charChanges.forEach(function (char) {
|
||||||
|
char["originalText"] = getTextInRange(
|
||||||
|
original_model,
|
||||||
|
char.originalStartLineNumber,
|
||||||
|
char.originalStartColumn,
|
||||||
|
char.originalEndLineNumber,
|
||||||
|
char.originalEndColumn
|
||||||
|
);
|
||||||
|
char["modifiedText"] = getTextInRange(
|
||||||
|
modified_model,
|
||||||
|
char.modifiedStartLineNumber,
|
||||||
|
char.modifiedStartColumn,
|
||||||
|
char.modifiedEndLineNumber,
|
||||||
|
char.modifiedEndColumn
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return diff;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
generateEventWithSuggestData = function(eventName, trigger, row, suggestRows = []) {
|
generateEventWithSuggestData = function(eventName, trigger, row, suggestRows = []) {
|
||||||
|
|
||||||
let bsl = new bslHelper(editor.getModel(), editor.getPosition());
|
let bsl = new bslHelper(editor.getModel(), editor.getPosition());
|
||||||
@ -1836,6 +1880,36 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getTextInLines(model, startLineNumber, endLineNumber) {
|
||||||
|
|
||||||
|
let text = '';
|
||||||
|
|
||||||
|
if (endLineNumber >= startLineNumber) {
|
||||||
|
let range = {
|
||||||
|
startLineNumber: startLineNumber,
|
||||||
|
startColumn: 1,
|
||||||
|
endLineNumber: endLineNumber,
|
||||||
|
endColumn: model.getLineMaxColumn(endLineNumber),
|
||||||
|
}
|
||||||
|
text = model.getValueInRange(range);
|
||||||
|
}
|
||||||
|
|
||||||
|
return text;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTextInRange(model, startLineNumber, startColumn, endLineNumber, endColumn) {
|
||||||
|
|
||||||
|
let range = {
|
||||||
|
startLineNumber: startLineNumber,
|
||||||
|
startColumn: startColumn,
|
||||||
|
endLineNumber: endLineNumber,
|
||||||
|
endColumn: endColumn,
|
||||||
|
}
|
||||||
|
return model.getValueInRange(range);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function getLineNumberMargin(originalLineNumber) {
|
function getLineNumberMargin(originalLineNumber) {
|
||||||
|
|
||||||
let margin = '';
|
let margin = '';
|
||||||
|
Reference in New Issue
Block a user