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

Функции для перехода к парной скобке и выделения скобок #133

This commit is contained in:
salexdv 2021-05-23 14:19:16 +03:00
parent 397137748b
commit 15eb9c315d
3 changed files with 45 additions and 1 deletions

View File

@ -62,6 +62,8 @@
| [`insertLine`](docs/insert_line.md) | Вставляет текст в строку с указанным номером |
| [`addLine`](docs/add_line.md) | Добавляет новую строку с указанным текстом |
| [`getPositionOffset`](docs/get_position_offset.md) | Возвращает координаты текущей позиции курсора |
| `jumpToBracket` | Переход к парной скобке `CTRL+[]` |
| `selectToBracket` | Выделяет скобки и текст между ними `CTRL+ALT+[` |
### Управление режимом работы / настройками
| Функция | Описание |

View File

@ -268,6 +268,36 @@ define(['vs/editor/editor.main'], function () {
editor.trigger('', 'editor.action.deleteLines', {})
return null;
}
},
jumpToBracketOpen: {
label: 'Перейти к скобке',
key: monaco.KeyMod.CtrlCmd | monaco.KeyCode.US_OPEN_SQUARE_BRACKET,
cmd: monaco.KeyMod.chord(monaco.KeyMod.CtrlCmd | monaco.KeyCode.US_OPEN_SQUARE_BRACKET),
order: 0,
callback: function (ed) {
jumpToBracket();
return null;
}
},
jumpToBracketClose: {
label: 'Перейти к скобке',
key: monaco.KeyMod.CtrlCmd | monaco.KeyCode.US_CLOSE_SQUARE_BRACKET,
cmd: monaco.KeyMod.chord(monaco.KeyMod.CtrlCmd | monaco.KeyCode.US_CLOSE_SQUARE_BRACKET),
order: 0,
callback: function (ed) {
jumpToBracket();
return null;
}
},
selectToBracket: {
label: 'Выделить скобки и текст между ними',
key: monaco.KeyMod.Alt | monaco.KeyMod.CtrlCmd | monaco.KeyCode.US_OPEN_SQUARE_BRACKET,
cmd: monaco.KeyMod.chord(monaco.KeyMod.Alt | monaco.KeyMod.CtrlCmd | monaco.KeyCode.US_OPEN_SQUARE_BRACKET),
order: 0,
callback: function (ed) {
selectToBracket();
return null;
}
}
}

View File

@ -1186,6 +1186,18 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
}
jumpToBracket = function () {
editor.trigger('', 'editor.action.jumpToBracket');
}
selectToBracket = function () {
editor.trigger('', 'editor.action.selectToBracket');
}
editor = undefined;
// Register languages
@ -1268,7 +1280,7 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
});
editor.onKeyDown(e => {
if (e.keyCode == 16 && editor.getPosition().lineNumber == 1)
// ArrowUp
scrollToTop();