1
0
mirror of https://github.com/salexdv/bsl_console.git synced 2025-09-16 09:06:17 +02:00

Merge pull request #360 from tormozit/develop

Develop
This commit is contained in:
Alexander Shkuraev
2025-05-12 11:24:29 +03:00
committed by GitHub

View File

@@ -487,29 +487,28 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
} }
setSelection = function(startLineNumber, startColumn, endLineNumber, endColumn) { setSelection = function(startLineNumber, startColumn, endLineNumber, endColumn, revealStart = false) {
let ActiveEditor = getActiveEditor();
if (endLineNumber <= getLineCount()) { if (endLineNumber <= getLineCount()) {
let range = new monaco.Range(startLineNumber, startColumn, endLineNumber, endColumn); let range = new monaco.Range(startLineNumber, startColumn, endLineNumber, endColumn);
editor.setSelection(range); ActiveEditor.setSelection(range);
editor.revealPositionInCenterIfOutsideViewport(range.getEndPosition()); let postion = revealStart ? range.getStartPosition() : range.getEndPosition();
ActiveEditor.revealPositionInCenterIfOutsideViewport(postion);
return true; return true;
} }
else else
return false; return false;
} }
setSelectionByLength = function(start, end) { setSelectionByLength = function(start, end, revealStart = false) {
let ActiveEditor = getActiveEditor();
let startPosition = editor.getModel().getPositionAt(start - 1); let startPosition = ActiveEditor.getModel().getPositionAt(start - 1);
let endPosition = editor.getModel().getPositionAt(end - 1); let endPosition = ActiveEditor.getModel().getPositionAt(end - 1);
let range = new monaco.Range(startPosition.lineNumber, startPosition.column, endPosition.lineNumber, endPosition.column); let range = new monaco.Range(startPosition.lineNumber, startPosition.column, endPosition.lineNumber, endPosition.column);
editor.setSelection(range); ActiveEditor.setSelection(range);
editor.revealPositionInCenterIfOutsideViewport(endPosition); let postion = revealStart ? range.getStartPosition() : range.getEndPosition();
ActiveEditor.revealPositionInCenterIfOutsideViewport(postion);
return true; return true;
} }
selectedText = function(text = undefined, keepSelection = false) { selectedText = function(text = undefined, keepSelection = false) {
@@ -666,7 +665,7 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
} }
compare = function (text, sideBySide, highlight, markLines = true, ignoreWhitespace = true) { compare = function (text, sideBySide, highlight, markLines = true, ignoreWhitespace = true, newOriginalText = "") {
let language_id = getCurrentLanguageId(); let language_id = getCurrentLanguageId();
let currentTheme = getCurrentThemeName(); let currentTheme = getCurrentThemeName();
@@ -686,7 +685,8 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
language_id = 'xml'; language_id = 'xml';
currentTheme = 'vs'; currentTheme = 'vs';
} }
if (newOriginalText)
originalText = newOriginalText;
let originalModel = originalText ? monaco.editor.createModel(originalText) : monaco.editor.createModel(editor.getModel().getValue()); let originalModel = originalText ? monaco.editor.createModel(originalText) : monaco.editor.createModel(editor.getModel().getValue());
let modifiedModel = monaco.editor.createModel(text); let modifiedModel = monaco.editor.createModel(text);
originalText = originalModel.getValue(); originalText = originalModel.getValue();
@@ -2883,22 +2883,22 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
} }
function getActiveDiffEditor() { getActiveDiffEditor = function() {
let active_editor = null; let active_editor = null;
if (editor.getModifiedEditor().hasTextFocus())
if (editor.getModifiedEditor().diffDecor.position) active_editor = editor.getModifiedEditor();
else if (editor.getOriginalEditor().hasTextFocus())
active_editor = editor.getOriginalEditor();
else if (editor.getModifiedEditor().diffDecor.position)
active_editor = editor.getModifiedEditor(); active_editor = editor.getModifiedEditor();
else if (editor.getOriginalEditor().diffDecor.position) else if (editor.getOriginalEditor().diffDecor.position)
active_editor = editor.getOriginalEditor(); active_editor = editor.getOriginalEditor();
else else
active_editor = editor.getModifiedEditor().hasTextFocus() ? editor.getModifiedEditor() : editor.getOriginalEditor(); active_editor = editor.getOriginalEditor();
return active_editor; return active_editor;
} }
function getActiveEditor() { getActiveEditor = function() {
return editor.navi ? getActiveDiffEditor() : editor; return editor.navi ? getActiveDiffEditor() : editor;