mirror of
https://github.com/salexdv/bsl_console.git
synced 2024-11-28 08:48:48 +02:00
Выделение строки, при выполнении которой произошла ошибка
Обновление readme closes #14 changelog
This commit is contained in:
parent
0aa5a9d34c
commit
054d5cc0c2
@ -1,3 +1,11 @@
|
||||
## 0.1.7 (29.07.2020)
|
||||
|
||||
### Новое:
|
||||
* Выделение строки, при выполнении которой произошла ошибка.
|
||||
|
||||
### Улучшения:
|
||||
* Частичная поддержка веб-клиента
|
||||
|
||||
## 0.1.6 (28.07.2020)
|
||||
|
||||
### Новое:
|
||||
|
19
README.md
19
README.md
@ -13,10 +13,27 @@
|
||||
* Автокомплит для метаданных (Справочники, Документы и т.п.)
|
||||
* Автокомплит для объектов метаданных (СправочникСсылка, ДокументОбъект и т.п.)
|
||||
* Подсказка параметров конструкторов и методов
|
||||
* Подсказка для типов
|
||||
* Вставка готовых блоков кода (сниппеты)
|
||||
* Вызов конструктора запроса и конструктора форматной строки
|
||||
* Загрузка пользовательских функций и сниппетов
|
||||
* Выделение строки, при выполнении которой произошла ошибка
|
||||
* Сворачивание циклов, условий и текстов запросов
|
||||
* Всплывающие подсказки для глобальных функций, перечислений и классов
|
||||
|
||||
## Как запускать?
|
||||
Для запуска достаточно открыть **index.html** из каталога **src**.
|
||||
1. Для запуска в браузере достаточно открыть **index.html** из каталога **src**, либо воспользоваться [ссылкой](https://salexdv.github.io/bsl_console/src/index.html)
|
||||
2. Для запуска в 1С можно использовать обработку **console.epf**, выкладываемую в [релизах](https://github.com/salexdv/bsl_console/releases) или сделать свою.
|
||||
|
||||
## Проверенные платформы:
|
||||
* 8.3.15.1830
|
||||
* 8.3.16.1148
|
||||
* 8.3.17.1386
|
||||
|
||||
## Известные проблемы:
|
||||
* На платформах до 8.3.16 могут не работать горячие клавиши CTRL+C, CTRL+V и CTRL+Z и т.п.
|
||||
* В веб-клиенте недоступно любое взаимодействие редактора и 1С. Можно попробовать только набор кода. Иногда для этого в браузере надо предварительно открыть данную [ссылку](https://salexdv.github.io/bsl_console/src/index.html)
|
||||
* Работа в linux на данный момент не поддерживается.
|
||||
|
||||
## Благодарности
|
||||
Выражаю благодарность команде [1c-syntax](https://github.com/1c-syntax) и их [проекту для VSCode](https://github.com/1c-syntax/vsc-language-1c-bsl) за подробное описание внутренних конструкций языка в JSON, а также за коллекцию сниппетов.
|
||||
|
@ -1656,4 +1656,24 @@ class bslHelper {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds text in model and returns first line number
|
||||
*
|
||||
* @param {string} string - searching string
|
||||
*
|
||||
* @returns {int} line number
|
||||
*/
|
||||
findText(string) {
|
||||
|
||||
let lineNumber = 0;
|
||||
|
||||
const matches = this.model.findMatches(string);
|
||||
|
||||
if (matches.length)
|
||||
lineNumber = matches[0].range.startLineNumber;
|
||||
|
||||
return lineNumber;
|
||||
|
||||
}
|
||||
|
||||
}
|
9
src/decorations.css
Normal file
9
src/decorations.css
Normal file
@ -0,0 +1,9 @@
|
||||
.error-string {
|
||||
background-color: #ffa07a;
|
||||
}
|
||||
|
||||
.error-mark {
|
||||
background: #ff0000;
|
||||
width: 5px !important;
|
||||
margin-left: 3px;
|
||||
}
|
@ -2,6 +2,7 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
||||
|
||||
selectionText = '';
|
||||
engLang = false;
|
||||
decorations = [];
|
||||
|
||||
sendEvent = function(eventName, eventParams) {
|
||||
|
||||
@ -91,6 +92,30 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
|
||||
|
||||
}
|
||||
|
||||
markError = function (line) {
|
||||
let count = 12;
|
||||
let tid = setInterval(function() {
|
||||
let newDecor = [];
|
||||
if (!decorations.length) {
|
||||
newDecor = [
|
||||
{ range: new monaco.Range(line,1,line), options: { isWholeLine: true, inlineClassName: 'error-string' }},
|
||||
{ range: new monaco.Range(line,1,line), options: { isWholeLine: true, linesDecorationsClassName: 'error-mark' }},
|
||||
];
|
||||
}
|
||||
decorations = editor.deltaDecorations(decorations, newDecor);
|
||||
count--;
|
||||
if (count == 0) {
|
||||
clearInterval(tid);
|
||||
}
|
||||
}, 300);
|
||||
editor.revealLineInCenter(line);
|
||||
}
|
||||
|
||||
findText = function (string) {
|
||||
let bsl = new bslHelper(editor.getModel(), editor.getPosition());
|
||||
return bsl.findText(string);
|
||||
}
|
||||
|
||||
// Register a new language
|
||||
monaco.languages.register({ id: language.id });
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
<title>BSL-editor</title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
||||
<link href="./decorations.css" rel="stylesheet">
|
||||
<style>
|
||||
html,
|
||||
body {
|
||||
|
@ -10,6 +10,7 @@
|
||||
mocha.setup('bdd');
|
||||
</script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/2.0.0/chai.js"></script>
|
||||
<link href="./decorations.css" rel="stylesheet">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
Loading…
Reference in New Issue
Block a user