1
0
mirror of https://github.com/salexdv/bsl_console.git synced 2024-11-30 08:57:08 +02:00
bsl_console/docs/set_markers.md
2021-12-24 06:06:18 +03:00

3.6 KiB

Функция setMarkers

Назначение функции

Функция позволяет задать маркеры (выделения) для определенных позиций в текущем текста редактора

Параметры функции

  • markersJSON - строка, маркеры в виде массива JSON-объектов, содержащих следующие поля:
    • [lineNumber] - число, номер строки, для которой необходимо задать маркер. Можно заменить свойствами:
    • [startLineNumber] - число, начальный номер строки
    • [endLineNumber] - число, конечный номер строки
    • [message] - строка, текст сообщения, который появляется при наведении на маркер
    • [severity] - строка, тип маркера. Значне по умолчанию: Error. Необязательный параметр. Может принимать одно из следующих значений:
      • Error - ошибка
      • Hint - подсказка
      • Info - информация
      • Warning - предупреждение
    • [startColumn] - число, начальный номер колонки для выделения маркером. Необязательный параметр
    • [endColumn] - число, конечный номер колонки для выделения маркером. Необязательный параметр
    • [code] - строка, код, выделяемый в сообщении. Необязательный параметр
    • [source] - строка, источник, выделяемый в сообщении. Необязательный параметр

Возвращаемое значение

В случае успешного выполнения возвращается true. Если в процессе выполнения возникает какая-либо ошибка, то функция возвращает объект, содержащий поле errorDescription.

Особенности

Функция обновляет все маркеры, а не добавляет их. Для сброса всех маркеров, в качестве параметра необходимо передать пустой массив.

Пример вызова

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": "ПроверкаКода"
  }
]`);