bsl-language-server icon indicating copy to clipboard operation
bsl-language-server copied to clipboard

Опциональный параметр диагностики Typo (caseInsensitive)

Open ovcharenko-di opened this issue 3 years ago • 11 comments

Параметр позволяет не учитывать регистр в словаре исключений.

Описание

Добавил необязательный параметр в диагностику Typo, который позволяет не учитывать регистр в словаре исключений. Реализовано путем приведения элементов коллекции слов-исключений и токенов к нижнему регистру.

Связанные задачи

Closes #2889

Чеклист

Общие

  • [x] Ветка PR обновлена из develop
  • [x] Отладочные, закомментированные и прочие, не имеющие смысла участки кода удалены
  • [x] Изменения покрыты тестами
  • [x] Обязательные действия перед коммитом выполнены (запускал команду gradlew precommit)

Для диагностик

  • [x] Описание диагностики заполнено для обоих языков (присутствуют файлы для обоих языков, для русского заполнено все подробно, перевод на английский можно опустить)

Дополнительно

ovcharenko-di avatar Nov 27 '22 16:11 ovcharenko-di

Не могу не задать вопрос. Что по перфомансу на большой конфигурации типа ерп?

nixel2007 avatar Nov 27 '22 18:11 nixel2007

Спасибо! Пара мелких замечаний.

nixel2007 avatar Nov 27 '22 18:11 nixel2007

Не могу не задать вопрос. Что по перфомансу на большой конфигурации типа ерп?

проверю) нужна будет консультация по тому, как грамотно сделать замер

ovcharenko-di avatar Nov 27 '22 20:11 ovcharenko-di

@ovcharenko-di https://1c-syntax.github.io/bsl-language-server/contributing/Measures/

Только не забыть выключить защитник винды и прогонять два-три раза подряд (без больших пауз), чтобы на прогретых дисках

nixel2007 avatar Nov 27 '22 21:11 nixel2007

@ovcharenko-di https://1c-syntax.github.io/bsl-language-server/contributing/Measures/

Только не забыть выключить защитник винды и прогонять два-три раза подряд (без больших пауз), чтобы на прогретых дисках

Исправил замечания по Stream->Array->Stream. Проверка ERP без регл. отчетов на одной этой диагностике выполняется с разницей +/- 2 секунды относительно develop. НО появились FP на всяких аббревиатурах и это проблема. Буду смотреть, в чем дело.

ovcharenko-di avatar Nov 30 '22 16:11 ovcharenko-di

@nixel2007 разобрался. Далее в дело вступает JLanguageTool, который, видимо, пропускает аббревиатуры.

А раз я сейчас все токены лихо привожу к нижнему регистру, то он считает, что это обычное слово. Буду думать, как это исправить.

@EightM , может быть, у тебя есть идеи?

ovcharenko-di avatar Nov 30 '22 17:11 ovcharenko-di

@ovcharenko-di https://1c-syntax.github.io/bsl-language-server/contributing/Measures/

Только не забыть выключить защитник винды и прогонять два-три раза подряд (без больших пауз), чтобы на прогретых дисках

проверил, разницы особой нет

ovcharenko-di avatar Dec 11 '22 12:12 ovcharenko-di

@EightM plz review

nixel2007 avatar Mar 31 '23 08:03 nixel2007

@ovcharenko-di Добьем?

theshadowco avatar Jun 04 '24 06:06 theshadowco

@theshadowco на своих проектах я как-то уже смирился с тем, что словарь чувствителен к регистру

сейчас я бы вообще закрыл этот issue, но если сообщество считает, что надо реализовать - могу добить, в принципе) может, устроим голосование в чате?

ovcharenko-di avatar Jun 04 '24 09:06 ovcharenko-di

Добрый день. Не такой пробовали подход. Взять все исключения и если caseInsensitive=true, просто переводить каждое слово в три варианта регистра: титульном, в нижнем, в верхнем.

Например, исключения: вася, ВТБ

Если caseInsensitive=true: Вася, вася, ВАСЯ, Втб, втб, ВТБ

Кейсы типа вАсЯ - все равно не жизнеспособные, парсер их разобьет на слова "в, ас, я"

sv-sand avatar Oct 07 '25 06:10 sv-sand

Superseded by #3630

nixel2007 avatar Dec 02 '25 13:12 nixel2007