1c-syntax / bsl-language-server

Реализация Language Server Protocol для языка 1C (BSL)
https://1c-syntax.github.io/bsl-language-server
Other
307 stars 105 forks source link

[MOD] Non-standard region of module - добавить возможность переопределять названия областей, либо заводить исключения #1455

Open pzhgulev opened 3 years ago

pzhgulev commented 3 years ago

Диагностика

NonStandardRegion (Non-standard region of module)

Описание предлагаемых изменений

Добавить в диагностику возможность переопределять проверяемые названия. Как альтернативный вариант можно добавить возможность создавать список исключений (в привязке к типу модуля или без).

Дополнительная информация

Линк на начало диалога в телеграм: https://t.me/bsl_language_server/57243

Пример нашей задачи, которую хотелось бы решить. во внутреннем стандарте используем немного модифицированные области формы, а именно некорректное использование английского и бесполезные префиксы: FormEventHandlers -> EventHandlers FormHeaderItemsEventHandlers -> ItemEventHandlers FormCommandsEventHandlers -> CommandHandlers

DitriXNew commented 3 years ago

Вставлю свои копейки. Зачем это надо нам? У нас функционал разделяется и закрепляется областями, т.е. не по стандарту 1С, например, стандарт говорит, что надо экспортные функции в один регион, приватные в другой и т.д., а у нас разреден именно функционал, не важно какой он - приватный или нет. Что то типо такого: изображение

Например, мне надо убедиться, что в форме документа есть все стандартные области, которые я указал, и что когда мы добавляем новый модуль, например - мультивалютный учет, я его добавляю где надо в в json настроек и теперь у меня светятся те формы, где не проставили нужный модуль (а-ля регион). Ну и желательно контролировать порядок.

Плюс, я бы такое хотел по хорошему еще для функций и процедур, но это отдельная история.

zeegin commented 3 years ago

Почему ты не хочешь использовать стандартные области а уже в них создавать свои подобласти? В типовых обычно делается именно так, функциональные области внутри стандартных.

DitriXNew commented 3 years ago

Почему ты не хочешь использовать стандартные области а уже в них создавать свои подобласти? В типовых обычно делается именно так, функциональные области внутри стандартных.

Потому что принципиально другое разделение. Есть форма документа, в ней идет куча вставок, типо для работы с внешними командами, доп реквизитами, и прочей лабудой. И этот код вставляется шаблонно, и контролируется шаблонно, я не хочу этот функционал дробить на 5 мест. Он законченный, выделенный и не делимый. Зачем мне его дробить? Но при этом, я хочу контролировать, что эти области есть, ибо они должны быть во всех документах, например.