mirror of
https://github.com/salexdv/bsl_console.git
synced 2024-11-24 08:33:29 +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)
|
## 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, а также за коллекцию сниппетов.
|
Выражаю благодарность команде [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 = '';
|
selectionText = '';
|
||||||
engLang = false;
|
engLang = false;
|
||||||
|
decorations = [];
|
||||||
|
|
||||||
sendEvent = function(eventName, eventParams) {
|
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
|
// Register a new language
|
||||||
monaco.languages.register({ id: language.id });
|
monaco.languages.register({ id: language.id });
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
<title>BSL-editor</title>
|
<title>BSL-editor</title>
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
||||||
|
<link href="./decorations.css" rel="stylesheet">
|
||||||
<style>
|
<style>
|
||||||
html,
|
html,
|
||||||
body {
|
body {
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
mocha.setup('bdd');
|
mocha.setup('bdd');
|
||||||
</script>
|
</script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/2.0.0/chai.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/2.0.0/chai.js"></script>
|
||||||
|
<link href="./decorations.css" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
Loading…
Reference in New Issue
Block a user