mirror of
https://github.com/salexdv/bsl_console.git
synced 2024-12-04 10:24:50 +02:00
Merge branch 'salexdv:develop' into develop
This commit is contained in:
commit
7a3efbcc21
@ -118,6 +118,7 @@
|
|||||||
| `removeBookmark` | Удаление закладки из строки с указанным номером |
|
| `removeBookmark` | Удаление закладки из строки с указанным номером |
|
||||||
| `goNextBookmark` | Переход к следующей закладке |
|
| `goNextBookmark` | Переход к следующей закладке |
|
||||||
| `goPreviousBookmark` | Переход к предыдущей закладке |
|
| `goPreviousBookmark` | Переход к предыдущей закладке |
|
||||||
|
| `getBookmarks` | Возвращает массив с номерами строк, в которых установлены закладки |
|
||||||
|
|
||||||
## События, генерируемые редактором для 1С:Предприятия
|
## События, генерируемые редактором для 1С:Предприятия
|
||||||
| Событие | Описание |
|
| Событие | Описание |
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
define(['vs/editor/editor.main'], function () {
|
define(['vs/editor/editor.main'], function () {
|
||||||
|
|
||||||
|
getSortedBookmarks = function () {
|
||||||
|
|
||||||
|
return new Map([...bookmarks.entries()].sort((a, b) => a[0] - b[0]));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
getBookmarksDecorations = function () {
|
getBookmarksDecorations = function () {
|
||||||
|
|
||||||
let bm_decorations = [];
|
let bm_decorations = [];
|
||||||
@ -49,7 +55,7 @@ define(['vs/editor/editor.main'], function () {
|
|||||||
|
|
||||||
goNextBookmark = function () {
|
goNextBookmark = function () {
|
||||||
|
|
||||||
let sorted_bookmarks = new Map([...bookmarks.entries()].sort());
|
let sorted_bookmarks = getSortedBookmarks();
|
||||||
|
|
||||||
if (sorted_bookmarks.size - 1 <= currentBookmark)
|
if (sorted_bookmarks.size - 1 <= currentBookmark)
|
||||||
currentBookmark = -1;
|
currentBookmark = -1;
|
||||||
@ -61,7 +67,7 @@ define(['vs/editor/editor.main'], function () {
|
|||||||
|
|
||||||
goPreviousBookmark = function () {
|
goPreviousBookmark = function () {
|
||||||
|
|
||||||
let sorted_bookmarks = new Map([...bookmarks.entries()].sort());
|
let sorted_bookmarks = getSortedBookmarks();
|
||||||
|
|
||||||
currentBookmark--;
|
currentBookmark--;
|
||||||
|
|
||||||
|
@ -1050,6 +1050,13 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getBookmarks = function () {
|
||||||
|
|
||||||
|
let sorted_bookmarks = getSortedBookmarks();
|
||||||
|
return Array.from(sorted_bookmarks.keys());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
editor = undefined;
|
editor = undefined;
|
||||||
|
|
||||||
// Register languages
|
// Register languages
|
||||||
@ -1274,43 +1281,43 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
|||||||
function checkBookmarksAfterNewLine() {
|
function checkBookmarksAfterNewLine() {
|
||||||
|
|
||||||
let line = getCurrentLine();
|
let line = getCurrentLine();
|
||||||
let prev_bookmark = bookmarks.get(line - 1);
|
let prev_bookmark = bookmarks.get(line - 1);
|
||||||
|
|
||||||
if (prev_bookmark) {
|
if (prev_bookmark) {
|
||||||
|
|
||||||
let content = getLineContent(line);
|
let content = getLineContent(line);
|
||||||
let prev_content = getLineContent(line - 1)
|
let prev_content = getLineContent(line - 1)
|
||||||
|
|
||||||
if (content || content == prev_content) {
|
if (content || content == prev_content) {
|
||||||
|
|
||||||
prev_bookmark.range.startLineNumber = line;
|
prev_bookmark.range.startLineNumber = line;
|
||||||
prev_bookmark.range.endLineNumber = line;
|
prev_bookmark.range.endLineNumber = line;
|
||||||
bookmarks.set(line, prev_bookmark);
|
bookmarks.set(line, prev_bookmark);
|
||||||
bookmarks.delete(line - 1);
|
bookmarks.delete(line - 1);
|
||||||
|
|
||||||
let line_check = getLineCount();
|
|
||||||
|
|
||||||
while(line < line_check) {
|
|
||||||
|
|
||||||
let bookmark = bookmarks.get(line_check);
|
|
||||||
|
|
||||||
if (bookmark) {
|
|
||||||
bookmark.range.startLineNumber = line_check + 1;
|
|
||||||
bookmark.range.endLineNumber = line_check + 1;
|
|
||||||
bookmarks.set(line_check + 1, bookmark);
|
|
||||||
bookmarks.delete(line_check);
|
|
||||||
}
|
|
||||||
|
|
||||||
line_check--;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
updateBookmarks(undefined);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let line_check = getLineCount();
|
||||||
|
|
||||||
|
while (line < line_check) {
|
||||||
|
|
||||||
|
let bookmark = bookmarks.get(line_check);
|
||||||
|
|
||||||
|
if (bookmark) {
|
||||||
|
bookmark.range.startLineNumber = line_check + 1;
|
||||||
|
bookmark.range.endLineNumber = line_check + 1;
|
||||||
|
bookmarks.set(line_check + 1, bookmark);
|
||||||
|
bookmarks.delete(line_check);
|
||||||
|
}
|
||||||
|
|
||||||
|
line_check--;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
updateBookmarks(undefined);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkBookmarksAfterRemoveLine(contentChangeEvent) {
|
function checkBookmarksAfterRemoveLine(contentChangeEvent) {
|
||||||
@ -1331,30 +1338,30 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
|||||||
bookmarks.delete(l);
|
bookmarks.delete(l);
|
||||||
}
|
}
|
||||||
|
|
||||||
let line_check = range.endLineNumber;
|
|
||||||
let diff = range.endLineNumber - line;
|
|
||||||
|
|
||||||
while(line_check < getLineCount()) {
|
|
||||||
|
|
||||||
let bookmark = bookmarks.get(line_check);
|
|
||||||
|
|
||||||
if (bookmark) {
|
|
||||||
bookmark.range.startLineNumber = line_check - diff;
|
|
||||||
bookmark.range.endLineNumber = line_check - diff;
|
|
||||||
bookmarks.set(line_check - diff, bookmark);
|
|
||||||
bookmarks.delete(line_check);
|
|
||||||
}
|
|
||||||
|
|
||||||
line_check++;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
prev_bookmark.range.startLineNumber = line;
|
prev_bookmark.range.startLineNumber = line;
|
||||||
prev_bookmark.range.endLineNumber = line;
|
prev_bookmark.range.endLineNumber = line;
|
||||||
bookmarks.set(line, prev_bookmark);
|
bookmarks.set(line, prev_bookmark);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let line_check = range.endLineNumber;
|
||||||
|
let diff = range.endLineNumber - line;
|
||||||
|
|
||||||
|
while (line_check < getLineCount()) {
|
||||||
|
|
||||||
|
let bookmark = bookmarks.get(line_check);
|
||||||
|
|
||||||
|
if (bookmark) {
|
||||||
|
bookmark.range.startLineNumber = line_check - diff;
|
||||||
|
bookmark.range.endLineNumber = line_check - diff;
|
||||||
|
bookmarks.set(line_check - diff, bookmark);
|
||||||
|
bookmarks.delete(line_check);
|
||||||
|
}
|
||||||
|
|
||||||
|
line_check++;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user