1
0
mirror of https://github.com/salexdv/bsl_console.git synced 2024-11-28 08:48:48 +02:00
bsl_console/docs/set_markers.md

59 lines
3.6 KiB
Markdown
Raw Normal View History

2021-11-19 11:12:45 +02:00
# Функция *setMarkers*
## Назначение функции
Функция позволяет задать маркеры (выделения) для определенных позиций в текущем текста редактора
## Параметры функции
* **markersJSON** - *строка*, маркеры в виде массива JSON-объектов, содержащих следующие поля:
2021-12-24 05:06:18 +02:00
* [lineNumber] - *число*, номер строки, для которой необходимо задать маркер. Можно заменить свойствами:
* [startLineNumber] - *число*, начальный номер строки
* [endLineNumber] - *число*, конечный номер строки
2021-11-19 11:12:45 +02:00
* [message] - *строка*, текст сообщения, который появляется при наведении на маркер
* [severity] - *строка*, тип маркера. Значне по умолчанию: *Error*. Необязательный параметр. Может принимать одно из следующих значений:
* *Error* - ошибка
* *Hint* - подсказка
* *Info* - информация
* *Warning* - предупреждение
* [startColumn] - *число*, начальный номер колонки для выделения маркером. Необязательный параметр
* [endColumn] - *число*, конечный номер колонки для выделения маркером. Необязательный параметр
* [code] - *строка*, код, выделяемый в сообщении. Необязательный параметр
* [source] - *строка*, источник, выделяемый в сообщении. Необязательный параметр
## Возвращаемое значение
В случае успешного выполнения возвращается `true`. Если в процессе выполнения возникает какая-либо ошибка, то функция возвращает объект, содержащий поле `errorDescription`.
## Особенности
Функция обновляет все маркеры, а не добавляет их. Для сброса всех маркеров, в качестве параметра необходимо передать пустой массив.
## Пример вызова
```javascript
setMarkers(`[
{
"lineNumber": 1,
"severity": "Error",
"message": "Не рекомендуется использовать функцию НайтиПоНаименованию",
"code": "Рога и копыта",
"source": "НайтиПоНаименованию"
},
{
"lineNumber": 23,
"severity": "Hint",
"message": "Функция устарела, следует использовать СообщениеПользователю",
"code": "Контрагент не найден",
"source": "Сообщить"
},
{
"lineNumber": 45,
"severity": "Info",
"message": "Длина строки 137 превышает максимально допустимую 120",
"code": "LineLength",
"source": "bsl-language-server"
},
{
"lineNumber": 71,
"severity": "Warning",
"message": "Превышен допустимый уровень вложенности управляющих конструкций",
"code": "ПроверкаВложенности",
"source": "ПроверкаКода"
}
]`);
```