1
0
mirror of https://github.com/salexdv/bsl_console.git synced 2024-11-24 08:33:29 +02:00

Вывод произвольных показателей слева от номера строки #296

This commit is contained in:
salexdv 2022-11-03 09:56:44 +03:00
parent b9db01e04c
commit ac11791f58

View File

@ -37,6 +37,7 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
editor_options = []; editor_options = [];
snippets = {}; snippets = {};
treeview = null; treeview = null;
lineNumbersDedocrations = []
// #endregion // #endregion
// #region public API // #region public API
@ -1487,6 +1488,33 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
} }
setLineNumbersDecorations = function(decorations) {
lineNumbersDedocrations = [];
lineNumbersDedocrations.push();
try {
const decor = JSON.parse(decorations);
let length = 0;
decor.forEach(function (value) {
lineNumbersDedocrations.push(value);
length = Math.max(length, value.length)
});
editor.updateOptions({ lineNumbersMinChars: 0 });
editor.updateOptions({ lineNumbersMinChars: length + 3 });
editor.layout();
return true;
}
catch (e) {
return { errorDescription: e.message };
}
}
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());
@ -1555,13 +1583,16 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
parameterHints: { parameterHints: {
cycle: true cycle: true
}, },
customOptions: true customOptions: true,
lineNumbers: getLineNumber
}); });
changeCommandKeybinding('editor.action.revealDefinition', monaco.KeyCode.F12); changeCommandKeybinding('editor.action.revealDefinition', monaco.KeyCode.F12);
changeCommandKeybinding('editor.action.peekDefinition', monaco.KeyMod.CtrlCmd | monaco.KeyCode.F12); changeCommandKeybinding('editor.action.peekDefinition', monaco.KeyMod.CtrlCmd | monaco.KeyCode.F12);
changeCommandKeybinding('editor.action.deleteLines', monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_L); changeCommandKeybinding('editor.action.deleteLines', monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_L);
changeCommandKeybinding('editor.action.selectToBracket', monaco.KeyMod.Shift | monaco.KeyMod.Alt | monaco.KeyCode.KEY_B); changeCommandKeybinding('editor.action.selectToBracket', monaco.KeyMod.Shift | monaco.KeyMod.Alt | monaco.KeyCode.KEY_B);
lineNumbersDedocrations = [];
setDefaultStyle(); setDefaultStyle();
@ -1785,6 +1816,15 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
// #endregion // #endregion
// #region non-public functions // #region non-public functions
function getLineNumber(originalLineNumber) {
if (originalLineNumber < lineNumbersDedocrations.length)
return lineNumbersDedocrations[originalLineNumber] + ' ' + originalLineNumber;
return originalLineNumber;
}
function disposeEditor() { function disposeEditor() {
if (editor) { if (editor) {